PluginProbe
Cashfree for WooCommerce / 4.4.3
Cashfree for WooCommerce v4.4.3
4.8.1 4.8.0 trunk 1.0 1.2 4.2.1 4.2.2 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 4.3.9 4.4.0 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.5.0 4.5.1 All 42 releases
cashfree / assets / js / checkout.js

checkout.js in Cashfree for WooCommerce 4.4.3, at assets/js/checkout.js

78 lines 2.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* global wc_cashfree_checkout_params */
2 jQuery(document).ready(initCashfreeCheckout);
3 function woocommerceFormSubmit(data, transactionId, transactionStatus, url) {
4 const form = document.createElement("form");
5 form.name = "cashfreeForm";
6 form.method = "POST";
7 form.action = url;
8
9 const createInput = (name, value) => {
10 const input = document.createElement("input");
11 input.type = "hidden";
12 input.name = name;
13 input.value = value;
14 form.appendChild(input);
15 };
16
17 createInput("order_id", data.order.orderId);
18 createInput("transaction_status", transactionStatus);
19 createInput("order_status", data.order.status);
20 createInput("transaction_id", transactionId);
21 createInput("transaction_msg", data.order.message);
22
23 document.body.appendChild(form);
24 form.submit();
25 }
26
27 function initCashfreeCheckout() {
28 console.log(wc_cashfree_checkout_params);
29 if (!wc_cashfree_checkout_params.in_context) {
30 const cashfree = new Cashfree(wc_cashfree_checkout_params.token);
31 return cashfree.redirect();
32 }
33
34 let dismissflag = true;
35 const env = wc_cashfree_checkout_params.environment;
36 const successCallback = (data) => {
37 dismissflag = false;
38 const { transactionId, txStatus } = data.transaction;
39 woocommerceFormSubmit(
40 data,
41 transactionId,
42 txStatus,
43 wc_cashfree_checkout_params.capture_url
44 );
45 };
46 const failureCallback = (data) => {
47 dismissflag = false;
48 let transactionId = "";
49 let transactionStatus = "ERROR";
50 if (data.transaction && data.order.status !== "ERROR") {
51 transactionId = data.transaction.transactionId;
52 transactionStatus = data.transaction.txStatus;
53 }
54 if (data.order.status === "ERROR") {
55 data.order.message = data.order.errorText;
56 }
57 woocommerceFormSubmit(
58 data,
59 transactionId,
60 transactionStatus,
61 wc_cashfree_checkout_params.cancel_url
62 );
63 };
64 const dismissCallback = () => {
65 if (dismissflag) {
66 const form = document.createElement("form");
67 form.name = "cashfreeDismissForm";
68 form.method = "POST";
69 form.action = wc_cashfree_checkout_params.dismiss_url;
70 document.body.appendChild(form);
71 form.submit();
72 }
73 };
74 Pippin.setOrderMetaPlatform(
75 `jswc-d-${wc_cashfree_checkout_params.cf_version}-${wc_cashfree_checkout_params.woo_version}`
76 );
77 Pippin(env, wc_cashfree_checkout_params.token, successCallback, failureCallback, dismissCallback);
78 }