Changeset 3101786
- Timestamp:
- 06/12/2024 12:26:04 PM (22 months ago)
- Location:
- cashfree
- Files:
-
- 30 added
- 7 edited
-
tags/4.7.0 (added)
-
tags/4.7.0/LICENSE (added)
-
tags/4.7.0/README.md (added)
-
tags/4.7.0/assets (added)
-
tags/4.7.0/assets/js (added)
-
tags/4.7.0/assets/js/checkout.js (added)
-
tags/4.7.0/assets/js/index.js (added)
-
tags/4.7.0/cashfree.php (added)
-
tags/4.7.0/dist (added)
-
tags/4.7.0/dist/main.js (added)
-
tags/4.7.0/includes (added)
-
tags/4.7.0/includes/class-wc-cashfree-api.php (added)
-
tags/4.7.0/includes/gateways (added)
-
tags/4.7.0/includes/gateways/class-wc-cashfree-block-support.php (added)
-
tags/4.7.0/includes/gateways/class-wc-cashfree-gateway.php (added)
-
tags/4.7.0/includes/gateways/class-wc-cashfree-payments.php (added)
-
tags/4.7.0/includes/http (added)
-
tags/4.7.0/includes/http/class-wc-cashfree-adapter.php (added)
-
tags/4.7.0/includes/request (added)
-
tags/4.7.0/includes/request/class-wc-cashfree-request-billing.php (added)
-
tags/4.7.0/includes/request/class-wc-cashfree-request-checkout.php (added)
-
tags/4.7.0/includes/request/class-wc-cashfree-request-items.php (added)
-
tags/4.7.0/includes/request/class-wc-cashfree-request-shipping.php (added)
-
tags/4.7.0/includes/settings (added)
-
tags/4.7.0/includes/settings/cashfree-payments.php (added)
-
tags/4.7.0/includes/wc-cashfree-functions.php (added)
-
tags/4.7.0/includes/wc-cashfree-scripts.php (added)
-
tags/4.7.0/readme.txt (added)
-
tags/4.7.0/templates (added)
-
tags/4.7.0/templates/payment-fields.php (added)
-
trunk/assets/js/checkout.js (modified) (1 diff)
-
trunk/cashfree.php (modified) (1 diff)
-
trunk/includes/gateways/class-wc-cashfree-gateway.php (modified) (4 diffs)
-
trunk/includes/http/class-wc-cashfree-adapter.php (modified) (3 diffs)
-
trunk/includes/request/class-wc-cashfree-request-checkout.php (modified) (3 diffs)
-
trunk/includes/settings/cashfree-payments.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
cashfree/trunk/assets/js/checkout.js
r3075227 r3101786 6 6 mode: wc_cashfree_checkout_params.environment, 7 7 }); 8 9 return cashfree.checkout({ 10 paymentSessionId: wc_cashfree_checkout_params.payment_session_id, 11 redirectTarget: "_self", 12 platformName: "wc", 13 }); 8 if(wc_cashfree_checkout_params.order_in_context) { 9 let checkoutOptions = { 10 paymentSessionId: wc_cashfree_checkout_params.payment_session_id, 11 redirectTarget: "_modal", 12 }; 13 cashfree.checkout(checkoutOptions).then((result) => { 14 let in_context_form; 15 if (result.error) { 16 // This will be true whenever user clicks on close icon inside the modal or any error happens during the payment 17 in_context_form = document.createElement('FORM'); 18 in_context_form.method = 'POST'; 19 in_context_form.action = wc_cashfree_checkout_params.callback_url; 20 document.body.appendChild(in_context_form); 21 in_context_form.submit(); 22 } 23 if(result.paymentDetails){ 24 // This will be called whenever the payment is completed irrespective of transaction status 25 in_context_form=document.createElement('FORM'); 26 in_context_form.method='POST'; 27 in_context_form.action=wc_cashfree_checkout_params.callback_url; 28 document.body.appendChild(in_context_form); 29 in_context_form.submit(); 30 } 31 }); 32 } else { 33 return cashfree.checkout({ 34 paymentSessionId: wc_cashfree_checkout_params.payment_session_id, 35 redirectTarget: "_self", 36 platformName: "wc", 37 }); 38 } 14 39 } 15 40 -
cashfree/trunk/cashfree.php
r3096820 r3101786 2 2 /** 3 3 * Plugin Name: Cashfree 4 * Version: 4. 6.14 * Version: 4.7.0 5 5 * Plugin URI: https://github.com/cashfree/cashfree-woocommerce 6 6 * Description: Payment gateway plugin by Cashfree Payments for Woocommerce sites. -
cashfree/trunk/includes/gateways/class-wc-cashfree-gateway.php
r3096820 r3101786 38 38 $this->token_param = "{$this->id}-token"; 39 39 $this->order_id_prefix_text = 'yes' === $this->get_option( 'order_id_prefix_text', 'yes' ); 40 $this->order_in_context = 'yes' === $this->get_option( 'order_in_context', 'yes' ); 40 41 41 42 $this->load_dependencies(); … … 126 127 $order = wc_get_order( $order_id ); 127 128 $pay_url = $order->get_checkout_payment_url( true ); 128 $redirect_url = add_query_arg( $this->token_param, $response['payment_session_id'], $pay_url ); 129 $redirect_url = add_query_arg( array($this->token_param => $response['payment_session_id'], 130 'order_id' => $response['order_id']), 131 $pay_url 132 ); 129 133 130 134 return array( … … 363 367 return; 364 368 } 365 369 366 370 $payment_session_id = wc_clean(wp_unslash($_GET[$this->token_param])); 367 371 $key = wc_clean(wp_unslash($_GET['key'])); 372 $order_id = wc_clean(wp_unslash($_GET['order_id'])); 368 373 $cf_version = get_plugin_data(WC_CASHFREE_DIR_PATH . 'cashfree.php')['Version']; 369 370 374 wc_cashfree_js($this->settings); 371 375 … … 375 379 'woo_version' => WC()->version, 376 380 'cf_version' => $cf_version, 381 'order_in_context' => $this->order_in_context, 382 'callback_url' => WC_Cashfree_Request_Checkout::get_callback_url('capture', $key, $this->id, $order_id) 377 383 ]); 378 384 } -
cashfree/trunk/includes/http/class-wc-cashfree-adapter.php
r3096820 r3101786 40 40 public function checkout( $order_id ) { 41 41 require_once WC_CASHFREE_DIR_PATH . 'includes/request/class-wc-cashfree-request-checkout.php'; 42 43 42 $cf_order_id = $order_id; 44 43 … … 84 83 'payment_session_id' => $cf_order->payment_session_id, 85 84 'environment' => $env_value['environment'], 85 'order_id' => $cf_order_id, 86 86 ); 87 87 … … 103 103 'payment_session_id' => $result->payment_session_id, 104 104 'environment' => $env_value['environment'], 105 'order_id' => $cf_order_id, 105 106 ); 106 107 -
cashfree/trunk/includes/request/class-wc-cashfree-request-checkout.php
r3038899 r3101786 57 57 'order_meta' => array( 58 58 'notify_url' => self::get_notify_url( 'notify', $order->get_order_key(), $gateway ), 59 'return_url' => self::get_return_url('capture', $order->get_order_key(), $gateway )59 'return_url' => self::get_return_url('capture', $order->get_order_key(), $gateway->id) 60 60 ), 61 61 'cart_details' => array( … … 101 101 * @return string 102 102 */ 103 public static function get_return_url( $action, $order_key, $gateway ) {103 public static function get_return_url( $action, $order_key, $gateway_id ) { 104 104 $query_args = array( 105 105 'order_id' => '{order_id}', … … 107 107 'action' => $action 108 108 ); 109 $api_request_url = WC()->api_request_url( $gateway ->id );109 $api_request_url = WC()->api_request_url( $gateway_id ); 110 110 return add_query_arg( $query_args, $api_request_url ); 111 111 } 112 113 public static function get_callback_url( $action, $order_key, $gateway_id, $order_id ) { 114 $query_args = array( 115 'order_id' => $order_id, 116 'order_key' => $order_key, 117 'action' => $action 118 ); 119 $api_request_url = WC()->api_request_url( $gateway_id ); 120 return add_query_arg( $query_args, $api_request_url ); 121 } 112 122 113 123 -
cashfree/trunk/includes/settings/cashfree-payments.php
r3038899 r3101786 70 70 'desc_tip' => true 71 71 ), 72 'order_in_context' => array( 73 'title' => __('Cashfree Popup Checkout', 'cashfree'), 74 'type' => 'checkbox', 75 'label' => __( 'Enable Cashfree Popup Checkout', 'cashfree' ), 76 'default' => __('no', 'cashfree'), 77 'description' => __('Enable this option to open Cashfree Popup Checkout', 'cashfree'), 78 'desc_tip' => true 79 ), 72 80 'enabledOffers' => array( 73 81 'title' => __( 'Widget Enable/Disable', 'cashfree' ), -
cashfree/trunk/readme.txt
r3096820 r3101786 4 4 Tested up to: 6.5 5 5 Requires PHP: 5.6 6 Stable tag: 4. 6.17 Version: 4. 6.16 Stable tag: 4.7.0 7 Version: 4.7.0 8 8 License: GPLv3 9 9 License URI: https://www.gnu.org/licenses/gpl-3.0.html … … 50 50 51 51 == Changelog == 52 53 = 4.7.0 = 54 * New Feature: Added support for processing payments in a popup checkout without redirecting the user to a new page. 52 55 53 56 = 4.6.1 =
Note: See TracChangeset
for help on using the changeset viewer.