Changeset 3235069
- Timestamp:
- 02/04/2025 11:36:26 PM (14 months ago)
- File:
-
- 1 edited
-
payaza/trunk/assets/js/payaza.min.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
payaza/trunk/assets/js/payaza.min.js
r3228712 r3235069 1 jQuery(function ($) { 2 let payaza_submit = false; 1 3 2 jQuery(function ($) { 3 let payaza_submit = false 4 5 $('#wc-payaza-form').hide() 6 7 wcPayazaFormHandler() 8 9 jQuery('#payaza-payment-button').click(function () { 10 return wcPayazaFormHandler() 11 }) 12 13 jQuery('#payaza_form form#order_review').submit(function () { 14 return wcPayazaFormHandler() 15 }) 16 17 function wcPayazaFormHandler () { 18 $('#wc-payaza-form').hide() 19 20 if (payaza_submit) { 21 payaza_submit = false 22 return true 4 $("#wc-payaza-form").hide(); 5 6 wcPayazaFormHandler(); 7 8 jQuery("#payaza-payment-button").click(function () { 9 return wcPayazaFormHandler(); 10 }); 11 12 jQuery("#payaza_form form#order_review").submit(function () { 13 return wcPayazaFormHandler(); 14 }); 15 16 function wcPayazaFormHandler() { 17 $("#wc-payaza-form").hide(); 18 19 if (payaza_submit) { 20 payaza_submit = false; 21 return true; 22 } 23 24 let $form = $("form#payment-form, form#order_review"), 25 payaza_txnref = $form.find("input.payaza_txnref"); 26 27 payaza_txnref.val(""); 28 29 let amount = Number(wc_payaza_params.amount); 30 31 const isLiveMode = wc_payaza_params.connection_mode === "Live"; 32 33 let payaza_callback = function (response) { 34 $form.append( 35 '<input type="hidden" class="payaza_txnref" name="payaza_txnref" value="' + 36 response.trxref + 37 '"/>' 38 ); 39 payaza_submit = true; 40 41 $form.submit(); 42 43 $("body").block({ 44 message: null, 45 overlayCSS: { 46 background: "#fff", 47 opacity: 0.6, 48 }, 49 css: { 50 cursor: "wait", 51 }, 52 }); 53 54 if (response.type === "success") { 55 $.ajax({ 56 url: wc_payaza_params.update_order_url, // Ensure this is set in your backend 57 type: "POST", 58 data: { 59 order_id: wc_payaza_params.order_id, // Order ID from WooCommerce 60 transaction_reference: wc_payaza_params.txnref, // Transaction reference from Payaza 61 status: "completed", // You can modify this based on actual transaction status 62 }, 63 success: function (res) { 64 if (res.success) { 65 console.log("Order updated successfully:", res); 66 window.location.href = wc_payaza_params.thank_you_url; // Redirect to Thank You page 67 } else { 68 console.log("Failed to update order status."); 69 } 70 }, 71 error: function (err) { 72 console.error("Error updating order status:", err); 73 }, 74 }); 23 75 } 24 25 let $form = $('form#payment-form, form#order_review'), 26 payaza_txnref = $form.find('input.payaza_txnref') 27 28 payaza_txnref.val('') 29 30 let amount = Number(wc_payaza_params.amount) 31 32 const isLiveMode = wc_payaza_params.connection_mode === 'Live'; 76 }; 33 77 78 payazaCheckout = PayazaCheckout.setup({ 79 merchant_key: wc_payaza_params.key, 80 connection_mode: isLiveMode ? "Live" : "Test", 81 checkout_amount: amount / 100, 82 currency_code: wc_payaza_params.currency, 83 email_address: wc_payaza_params.email, 84 first_name: wc_payaza_params.first_name, 85 last_name: wc_payaza_params.last_name, 86 phone_number: wc_payaza_params.phone_number, 87 transaction_reference: wc_payaza_params.txnref, 34 88 35 36 let payaza_callback = function (response) { 37 $form.append( 38 '<input type="hidden" class="payaza_txnref" name="payaza_txnref" value="' + 39 response.trxref + 40 '"/>' 41 ) 42 payaza_submit = true 43 44 $form.submit() 45 46 $('body').block({ 47 message: null, 48 overlayCSS: { 49 background: '#fff', 50 opacity: 0.6 51 }, 52 css: { 53 cursor: 'wait' 54 } 55 }) 56 } 57 58 payazaCheckout = PayazaCheckout.setup({ 59 merchant_key: wc_payaza_params.key, 60 connection_mode: isLiveMode ? 'Live' : 'Test', 61 checkout_amount: amount / 100, 62 currency_code: wc_payaza_params.currency, 63 email_address: wc_payaza_params.email, 64 first_name: wc_payaza_params.first_name, 65 last_name: wc_payaza_params.last_name, 66 phone_number: wc_payaza_params.phone_number, 67 transaction_reference: wc_payaza_params.txnref, 68 69 onClose: function () {}, 70 71 callback: function (callbackResponse) { 72 console.log('callback response', callbackResponse) 89 onClose: function (response) {}, 73 90 74 } 75 }) 76 77 function callback (callbackResponse) { 78 console.log('callbackResponse: ', callbackResponse) 79 payaza_callback(callbackResponse) 80 window.location.href = wc_payaza_params.thank_you_url; 91 callback: function (callbackResponse) { 92 console.log("callback response", callbackResponse); 93 }, 94 }); 81 95 82 } 83 84 function onClose () { 85 console.log('closed') 86 } 87 88 89 payazaCheckout.setCallback(callback) 90 payazaCheckout.setOnClose(onClose) 91 92 // Display popup 93 payazaCheckout.showPopup() 94 95 return true 96 function callback(callbackResponse) { 97 console.log("callbackResponse: ", callbackResponse); 98 payaza_callback(callbackResponse); 96 99 } 97 }) 98 100 101 function onClose() { 102 console.log("closed"); 103 } 104 105 payazaCheckout.setCallback(callback); 106 payazaCheckout.setOnClose(onClose); 107 108 // Display popup 109 payazaCheckout.showPopup(); 110 111 return true; 112 } 113 });
Note: See TracChangeset
for help on using the changeset viewer.