Changeset 3163614
- Timestamp:
- 10/06/2024 02:58:37 PM (17 months ago)
- Location:
- squarewoosync
- Files:
-
- 109 added
- 5 edited
-
tags/5.0.1 (added)
-
tags/5.0.1/assets (added)
-
tags/5.0.1/assets/banner-1544x500.jpg (added)
-
tags/5.0.1/assets/banner-772x250.jpg (added)
-
tags/5.0.1/assets/icon-128x128.png (added)
-
tags/5.0.1/assets/icon-256x256.png (added)
-
tags/5.0.1/assets/images (added)
-
tags/5.0.1/assets/images/box-outline.svg (added)
-
tags/5.0.1/assets/images/logo-new.svg (added)
-
tags/5.0.1/assets/images/logo.png (added)
-
tags/5.0.1/assets/js (added)
-
tags/5.0.1/assets/js/checkout-handler.js (added)
-
tags/5.0.1/assets/js/credit-card.js (added)
-
tags/5.0.1/assets/js/square-gateway.js (added)
-
tags/5.0.1/assets/js/sync-metabox.js (added)
-
tags/5.0.1/assets/js/utils.js (added)
-
tags/5.0.1/assets/js/wallets.js (added)
-
tags/5.0.1/assets/screenshot-1.png (added)
-
tags/5.0.1/assets/screenshot-2.png (added)
-
tags/5.0.1/assets/screenshot-3.png (added)
-
tags/5.0.1/assets/screenshot-4.png (added)
-
tags/5.0.1/assets/styles (added)
-
tags/5.0.1/assets/styles/checkout.css (added)
-
tags/5.0.1/build (added)
-
tags/5.0.1/build/assets (added)
-
tags/5.0.1/build/assets/frontend (added)
-
tags/5.0.1/build/assets/frontend/wallet.asset.php (added)
-
tags/5.0.1/build/assets/frontend/wallet.css (added)
-
tags/5.0.1/build/assets/frontend/wallet.js (added)
-
tags/5.0.1/build/blocks (added)
-
tags/5.0.1/build/blocks/gateway.asset.php (added)
-
tags/5.0.1/build/blocks/gateway.js (added)
-
tags/5.0.1/build/images (added)
-
tags/5.0.1/build/images/logo.4a5282be.png (added)
-
tags/5.0.1/build/index.asset.php (added)
-
tags/5.0.1/build/index.css (added)
-
tags/5.0.1/build/index.js (added)
-
tags/5.0.1/includes (added)
-
tags/5.0.1/includes/Abstracts (added)
-
tags/5.0.1/includes/Abstracts/RESTController.php (added)
-
tags/5.0.1/includes/Admin (added)
-
tags/5.0.1/includes/Admin/Menu.php (added)
-
tags/5.0.1/includes/Assets (added)
-
tags/5.0.1/includes/Assets/Manager.php (added)
-
tags/5.0.1/includes/Common (added)
-
tags/5.0.1/includes/Common/Keys.php (added)
-
tags/5.0.1/includes/Cron (added)
-
tags/5.0.1/includes/Cron/CronManager.php (added)
-
tags/5.0.1/includes/Customer (added)
-
tags/5.0.1/includes/Customer/Customers.php (added)
-
tags/5.0.1/includes/Logger (added)
-
tags/5.0.1/includes/Logger/Logger.php (added)
-
tags/5.0.1/includes/Payments (added)
-
tags/5.0.1/includes/Payments/Blocks (added)
-
tags/5.0.1/includes/Payments/Blocks/WC_SquareSync_Gateway_Blocks_Support.php (added)
-
tags/5.0.1/includes/Payments/WC_SquareSync_Gateway.php (added)
-
tags/5.0.1/includes/REST (added)
-
tags/5.0.1/includes/REST/Api.php (added)
-
tags/5.0.1/includes/REST/CustomersController.php (added)
-
tags/5.0.1/includes/REST/LogController.php (added)
-
tags/5.0.1/includes/REST/LoyaltyController.php (added)
-
tags/5.0.1/includes/REST/OrdersController.php (added)
-
tags/5.0.1/includes/REST/ProductMatcher.php (added)
-
tags/5.0.1/includes/REST/SettingsController.php (added)
-
tags/5.0.1/includes/REST/SquareController.php (added)
-
tags/5.0.1/includes/Setup (added)
-
tags/5.0.1/includes/Setup/Installer.php (added)
-
tags/5.0.1/includes/Square (added)
-
tags/5.0.1/includes/Square/SquareHelper.php (added)
-
tags/5.0.1/includes/Square/SquareImport.php (added)
-
tags/5.0.1/includes/Square/SquareInventory.php (added)
-
tags/5.0.1/includes/Woo (added)
-
tags/5.0.1/includes/Woo/CreateProduct.php (added)
-
tags/5.0.1/includes/Woo/LoyaltyProgram.php (added)
-
tags/5.0.1/includes/Woo/SyncProduct.php (added)
-
tags/5.0.1/includes/Woo/WooImport.php (added)
-
tags/5.0.1/languages (added)
-
tags/5.0.1/languages/square-woo-sync.pot (added)
-
tags/5.0.1/languages/squarewoosync-pro.pot (added)
-
tags/5.0.1/readme.txt (added)
-
tags/5.0.1/squarewoosync.php (added)
-
tags/5.0.1/templates (added)
-
tags/5.0.1/templates/app.php (added)
-
tags/5.0.1/vendor (added)
-
tags/5.0.1/vendor/autoload.php (added)
-
tags/5.0.1/vendor/composer (added)
-
tags/5.0.1/vendor/composer/ClassLoader.php (added)
-
tags/5.0.1/vendor/composer/InstalledVersions.php (added)
-
tags/5.0.1/vendor/composer/LICENSE (added)
-
tags/5.0.1/vendor/composer/autoload_classmap.php (added)
-
tags/5.0.1/vendor/composer/autoload_namespaces.php (added)
-
tags/5.0.1/vendor/composer/autoload_psr4.php (added)
-
tags/5.0.1/vendor/composer/autoload_real.php (added)
-
tags/5.0.1/vendor/composer/autoload_static.php (added)
-
tags/5.0.1/vendor/composer/installed.json (added)
-
tags/5.0.1/vendor/composer/installed.php (added)
-
trunk/assets/js/checkout-handler.js (added)
-
trunk/assets/js/credit-card.js (added)
-
trunk/assets/js/utils.js (added)
-
trunk/assets/js/wallets.js (added)
-
trunk/assets/styles (added)
-
trunk/assets/styles/checkout.css (added)
-
trunk/build/assets (added)
-
trunk/build/assets/frontend (added)
-
trunk/build/assets/frontend/wallet.asset.php (added)
-
trunk/build/assets/frontend/wallet.css (added)
-
trunk/build/assets/frontend/wallet.js (added)
-
trunk/build/blocks/gateway.asset.php (added)
-
trunk/build/blocks/gateway.js (added)
-
trunk/includes/Payments/WC_SquareSync_Gateway.php (modified) (4 diffs)
-
trunk/languages/square-woo-sync.pot (modified) (2 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/squarewoosync.php (modified) (2 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
squarewoosync/trunk/includes/Payments/WC_SquareSync_Gateway.php
r3163070 r3163614 1021 1021 $order = wc_get_order($order_id); 1022 1022 $settings = get_option('square-woo-sync_settings', []); 1023 1023 1024 1024 // Sanitize and validate token 1025 1025 $token = sanitize_text_field($_POST['wc-squaresync_credit-payment-nonce'] ?? $_POST['square_payment_token'] ?? ''); 1026 1026 1027 1027 if (empty($token)) { 1028 1028 return $this->handle_error($order_id, 'Payment token is missing.'); 1029 1029 } 1030 1030 1031 1031 $squareHelper = new SquareHelper(); 1032 1032 $ordersController = new OrdersController(); 1033 1033 $total_amount = intval(round($order->get_total() * 100)); 1034 error_log($total_amount);1035 1034 $currency = $order->get_currency(); 1036 1035 1037 1036 // Retrieve or create the Square customer ID, log warning if missing but continue 1038 1037 $square_customer_id = $ordersController->getOrCreateSquareCustomer($order, $squareHelper); … … 1040 1039 error_log("Warning: Square customer ID not available for Order ID: $order_id."); 1041 1040 } 1042 1041 1043 1042 // Prepare and attempt to create the Square order, log warning if failed but continue 1044 1043 $square_order_response = $this->attempt_create_square_order($ordersController, $order, $square_customer_id, $squareHelper, $order_id); … … 1046 1045 error_log("Warning: Square order could not be created for Order ID: $order_id."); 1047 1046 } 1048 1047 1049 1048 $this->check_net_amount_due($square_order_response, $total_amount, $currency, $order_id); 1050 1051 // Prepare payment data 1049 1050 // Prepare payment data and check if 'order_id' is included 1052 1051 $payment_data = $this->prepare_payment_data($token, $order_id, $total_amount, $currency, $square_customer_id, $settings['location'], $square_order_response); 1053 1052 $is_order_included = isset($payment_data['order_id']); 1053 1054 1054 // Check for verification token and add to payment data if it exists 1055 1055 if (!empty($_POST['square_verification_token'])) { … … 1057 1057 $payment_data['verification_token'] = $verification_token; 1058 1058 } 1059 1060 // Process the payment 1061 $payment_response = $squareHelper->square_api_request("/payments", 'POST', $payment_data); 1062 1059 1060 // First payment attempt with order ID (if included) 1061 $payment_response = $squareHelper->square_api_request("/payments", 'POST', $payment_data, null, false); 1062 1063 // Retry without order ID if payment fails and order ID was included 1064 if (!$this->validate_payment_response($payment_response, $order_id) && $is_order_included) { 1065 // Remove order_id from payment data and try again 1066 unset($payment_data['order_id']); 1067 $payment_response = $squareHelper->square_api_request("/payments", 'POST', $payment_data, null, false); 1068 1069 // If the second attempt also fails, return the error 1070 if (!$this->validate_payment_response($payment_response, $order_id)) { 1071 // Extract the error message from the Square response. 1072 $error_message = 'Square payment failed.'; 1073 if (isset($payment_response['error'])) { 1074 $error_message = $payment_response['error']; 1075 } 1076 1077 // Pass the extracted error message to the handle_error method. 1078 return $this->handle_error($order_id, $error_message); 1079 } 1080 } 1081 1063 1082 if (!$this->validate_payment_response($payment_response, $order_id)) { 1064 // Extract the error message from the Square response.1065 $error_message = 'Square payment failed .'; // Default error message.1083 // If no order ID was included initially and payment failed, return the error directly 1084 $error_message = 'Square payment failed without order ID.'; 1066 1085 if (isset($payment_response['error'])) { 1067 1086 $error_message = $payment_response['error']; 1068 1087 } 1069 1070 // Pass the extracted error message to the handle_error method .1088 1089 // Pass the extracted error message to the handle_error method 1071 1090 return $this->handle_error($order_id, $error_message); 1072 1091 } 1073 1092 1074 1093 // Finalize the payment and update order status 1075 1094 $this->finalize_order_payment($order, $payment_response, $square_order_response, $total_amount); 1076 1095 1077 1096 // Clear the cart and return success 1078 1097 WC()->cart->empty_cart(); 1079 1098 1080 1099 unset($token); 1081 1100 unset($_POST); 1082 1101 1083 1102 return ['result' => 'success', 'redirect' => $this->get_return_url($order)]; 1084 1103 } catch (\Exception $e) { -
squarewoosync/trunk/languages/square-woo-sync.pot
r3163070 r3163614 2 2 msgid "" 3 3 msgstr "" 4 "Project-Id-Version: Square Sync for Woocommerce 5.0. 0\n"4 "Project-Id-Version: Square Sync for Woocommerce 5.0.1\n" 5 5 "Report-Msgid-Bugs-To: https://github.com/LiamHillier/square-woo-sync/issues\n" 6 6 "Last-Translator: liam@pixeldev.com.au\n" … … 9 9 "Content-Type: text/plain; charset=UTF-8\n" 10 10 "Content-Transfer-Encoding: 8bit\n" 11 "POT-Creation-Date: 2024-10-0 5T17:55:18+10:00\n"11 "POT-Creation-Date: 2024-10-07T01:50:16+11:00\n" 12 12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 13 "X-Generator: WP-CLI 2.10.0\n" -
squarewoosync/trunk/readme.txt
r3163075 r3163614 5 5 Tested up to: 6.6 6 6 Requires PHP: 7.4 7 Stable tag: 5.0. 07 Stable tag: 5.0.1 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 158 158 159 159 == Changelog == 160 = 5.0.1 = 161 * Google pay hotfix 162 160 163 = 5.0.0 = 161 Integrate Square Payments164 * Integrate Square Payments 162 165 163 166 = 4.0.0 = -
squarewoosync/trunk/squarewoosync.php
r3163070 r3163614 12 12 * License URI: http://www.gnu.org/licenses/gpl-2.0.html 13 13 * Domain Path: /languages 14 * Version: 5.0. 014 * Version: 5.0.1 15 15 * Requires at least: 5.4 16 16 * Requires PHP: 7.4 … … 25 25 final class SquareWooSync 26 26 { 27 const VERSION = '5.0. 0';27 const VERSION = '5.0.1'; 28 28 const SLUG = 'squarewoosync'; 29 29 -
squarewoosync/trunk/vendor/composer/installed.php
r3163070 r3163614 4 4 'pretty_version' => 'dev-main', 5 5 'version' => 'dev-main', 6 'reference' => ' b4e741f77f0f7945069c52415afaecefdfd07536',6 'reference' => '04b8ce966399f3fc1ce9c85e62e8ff49e1bc2d1d', 7 7 'type' => 'project', 8 8 'install_path' => __DIR__ . '/../../', … … 14 14 'pretty_version' => 'dev-main', 15 15 'version' => 'dev-main', 16 'reference' => ' b4e741f77f0f7945069c52415afaecefdfd07536',16 'reference' => '04b8ce966399f3fc1ce9c85e62e8ff49e1bc2d1d', 17 17 'type' => 'project', 18 18 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.