@justifi/webcomponents 6.5.1-rc.2 → 6.5.1-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{GooglePay-HXBAmTgL.js → GooglePay-40aEKdDF.js} +40 -9
- package/dist/cjs/bank-account-document-form-inputs_6.cjs.entry.js +1 -1
- package/dist/cjs/{business.service-DMzf08nC.js → business.service-BggHdPOV.js} +1 -1
- package/dist/cjs/{check-pkg-version-Bw6Rz_E3.js → check-pkg-version-DuPkU5qI.js} +2 -2
- package/dist/cjs/{checkout.service-CHNHEsrp.js → checkout.service-BUcIs9az.js} +1 -1
- package/dist/cjs/checkouts-list-core.cjs.entry.js +1 -1
- package/dist/cjs/{dispute.service-B63kcFkU.js → dispute.service-CxWqivLc.js} +1 -1
- package/dist/cjs/{get-payment-details-BN139jp0.js → get-payment-details-D_dDxsPG.js} +1 -1
- package/dist/cjs/{get-subaccounts-IgHJX5J4.js → get-subaccounts-_D9lzD5O.js} +1 -1
- package/dist/cjs/hidden-input_2.cjs.entry.js +1 -1
- package/dist/cjs/internal-tokenize-payment-method_7.cjs.entry.js +3 -3
- package/dist/cjs/justifi-additional-questions-form-step-core_6.cjs.entry.js +1 -1
- package/dist/cjs/justifi-additional-questions-form-step_9.cjs.entry.js +2 -2
- package/dist/cjs/justifi-apple-pay_8.cjs.entry.js +241 -16
- package/dist/cjs/justifi-business-details.cjs.entry.js +4 -4
- package/dist/cjs/justifi-business-form.cjs.entry.js +4 -4
- package/dist/cjs/justifi-checkout.cjs.entry.js +3 -3
- package/dist/cjs/justifi-checkouts-list-filters.cjs.entry.js +1 -1
- package/dist/cjs/justifi-checkouts-list.cjs.entry.js +5 -5
- package/dist/cjs/justifi-dispute-management.cjs.entry.js +4 -4
- package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +4 -4
- package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +3 -3
- package/dist/cjs/justifi-order-terminals.cjs.entry.js +5 -5
- package/dist/cjs/justifi-owner-form_3.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payment-details.cjs.entry.js +5 -5
- package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +4 -4
- package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +4 -4
- package/dist/cjs/justifi-payments-list.cjs.entry.js +4 -4
- package/dist/cjs/justifi-payout-details.cjs.entry.js +4 -4
- package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +4 -4
- package/dist/cjs/justifi-payouts-list.cjs.entry.js +5 -5
- package/dist/cjs/justifi-refund-payment.cjs.entry.js +5 -5
- package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +3 -3
- package/dist/cjs/justifi-terminal-orders-list-filters.cjs.entry.js +1 -1
- package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +4 -4
- package/dist/cjs/justifi-terminals-list-filters.cjs.entry.js +1 -1
- package/dist/cjs/justifi-terminals-list.cjs.entry.js +5 -5
- package/dist/cjs/{package--UMqvxMQ.js → package-C6nOTkVV.js} +1 -1
- package/dist/cjs/payment-details-core.cjs.entry.js +1 -1
- package/dist/cjs/{payment.service-eOZc1Qay.js → payment.service-wWZTmyFv.js} +1 -1
- package/dist/cjs/payments-list-core.cjs.entry.js +1 -1
- package/dist/cjs/{payout.service-QVl5N-UV.js → payout.service-CWAem5VG.js} +1 -1
- package/dist/cjs/payouts-list-core.cjs.entry.js +1 -1
- package/dist/cjs/terminal-orders-list-core.cjs.entry.js +2 -2
- package/dist/cjs/{terminal-orders-table-g2fwrh2P.js → terminal-orders-table-DBNG4K5I.js} +1 -1
- package/dist/cjs/{terminal.service-BuSFyt0j.js → terminal.service-DSlqCGxE.js} +1 -1
- package/dist/cjs/terminals-list-core.cjs.entry.js +1 -1
- package/dist/collection/api/GooglePay.js +40 -9
- package/dist/collection/api/services/google-pay.service.js +137 -9
- package/dist/collection/components/modular-checkout/sub-components/google-pay.js +100 -3
- package/dist/docs.json +1 -1
- package/dist/esm/{GooglePay-9bPcqGZ9.js → GooglePay-f7mYX17c.js} +40 -9
- package/dist/esm/bank-account-document-form-inputs_6.entry.js +1 -1
- package/dist/esm/{business.service-2j91Emgq.js → business.service-CzHfftZk.js} +1 -1
- package/dist/esm/{check-pkg-version-2BU_KPHv.js → check-pkg-version-Cqb7EhvC.js} +2 -2
- package/dist/esm/{checkout.service-D-dEMyXF.js → checkout.service-BWdnJLVG.js} +1 -1
- package/dist/esm/checkouts-list-core.entry.js +1 -1
- package/dist/esm/{dispute.service-DPumDIuV.js → dispute.service-CqX5HR5o.js} +1 -1
- package/dist/esm/{get-payment-details-CD_K6FQ3.js → get-payment-details-D0T7bd_-.js} +1 -1
- package/dist/esm/{get-subaccounts-D1eF6c0B.js → get-subaccounts-Gil-SOoF.js} +1 -1
- package/dist/esm/hidden-input_2.entry.js +1 -1
- package/dist/esm/internal-tokenize-payment-method_7.entry.js +3 -3
- package/dist/esm/justifi-additional-questions-form-step-core_6.entry.js +1 -1
- package/dist/esm/justifi-additional-questions-form-step_9.entry.js +2 -2
- package/dist/esm/justifi-apple-pay_8.entry.js +241 -16
- package/dist/esm/justifi-business-details.entry.js +4 -4
- package/dist/esm/justifi-business-form.entry.js +4 -4
- package/dist/esm/justifi-checkout.entry.js +3 -3
- package/dist/esm/justifi-checkouts-list-filters.entry.js +1 -1
- package/dist/esm/justifi-checkouts-list.entry.js +5 -5
- package/dist/esm/justifi-dispute-management.entry.js +4 -4
- package/dist/esm/justifi-dispute-notification_3.entry.js +4 -4
- package/dist/esm/justifi-gross-payment-chart.entry.js +3 -3
- package/dist/esm/justifi-order-terminals.entry.js +5 -5
- package/dist/esm/justifi-owner-form_3.entry.js +2 -2
- package/dist/esm/justifi-payment-details.entry.js +5 -5
- package/dist/esm/justifi-payment-provisioning.entry.js +4 -4
- package/dist/esm/justifi-payment-transactions-list.entry.js +4 -4
- package/dist/esm/justifi-payments-list.entry.js +4 -4
- package/dist/esm/justifi-payout-details.entry.js +4 -4
- package/dist/esm/justifi-payout-transactions-list.entry.js +4 -4
- package/dist/esm/justifi-payouts-list.entry.js +5 -5
- package/dist/esm/justifi-refund-payment.entry.js +5 -5
- package/dist/esm/justifi-season-interruption-insurance.entry.js +3 -3
- package/dist/esm/justifi-terminal-orders-list-filters.entry.js +1 -1
- package/dist/esm/justifi-terminal-orders-list.entry.js +4 -4
- package/dist/esm/justifi-terminals-list-filters.entry.js +1 -1
- package/dist/esm/justifi-terminals-list.entry.js +5 -5
- package/dist/esm/{package-Bx3wyDU2.js → package-CzedYX3W.js} +1 -1
- package/dist/esm/payment-details-core.entry.js +1 -1
- package/dist/esm/{payment.service-BreQSu6J.js → payment.service-CWyZF34P.js} +1 -1
- package/dist/esm/payments-list-core.entry.js +1 -1
- package/dist/esm/{payout.service-DuqRe6oq.js → payout.service-CkTievFG.js} +1 -1
- package/dist/esm/payouts-list-core.entry.js +1 -1
- package/dist/esm/terminal-orders-list-core.entry.js +2 -2
- package/dist/esm/{terminal-orders-table-DSo5x2D7.js → terminal-orders-table-OX3ZvzZy.js} +1 -1
- package/dist/esm/{terminal.service-CkzrYIA_.js → terminal.service-Bu5-dhum.js} +1 -1
- package/dist/esm/terminals-list-core.entry.js +1 -1
- package/dist/module/GooglePay.js +40 -9
- package/dist/module/google-pay.js +237 -12
- package/dist/module/package.js +1 -1
- package/dist/types/api/services/google-pay.service.d.ts +1 -1
- package/dist/webcomponents/{p-d2935214.entry.js → p-0437c330.entry.js} +1 -1
- package/dist/webcomponents/{p-16812327.entry.js → p-065b24c3.entry.js} +1 -1
- package/dist/webcomponents/{p-9a795f44.entry.js → p-14cbf366.entry.js} +1 -1
- package/dist/webcomponents/{p-3c006a15.entry.js → p-1e014ee7.entry.js} +1 -1
- package/dist/webcomponents/{p-ee122560.entry.js → p-20e66fc0.entry.js} +1 -1
- package/dist/webcomponents/{p-04154136.entry.js → p-22fdf7a4.entry.js} +1 -1
- package/dist/webcomponents/{p-d88d228f.entry.js → p-25755af4.entry.js} +1 -1
- package/dist/webcomponents/{p-38e1ef4b.entry.js → p-3d3a65ca.entry.js} +1 -1
- package/dist/webcomponents/p-3f291e6b.entry.js +1 -0
- package/dist/webcomponents/{p-5cba8448.entry.js → p-44011a41.entry.js} +1 -1
- package/dist/webcomponents/{p-88f58abe.entry.js → p-4ccd753b.entry.js} +1 -1
- package/dist/webcomponents/{p-03930216.entry.js → p-4f16a3ce.entry.js} +1 -1
- package/dist/webcomponents/{p-a87187c3.entry.js → p-50a32503.entry.js} +1 -1
- package/dist/webcomponents/{p-06ce1202.entry.js → p-57ed105e.entry.js} +1 -1
- package/dist/webcomponents/{p-b3f8d5d4.entry.js → p-5e3bc1dc.entry.js} +1 -1
- package/dist/webcomponents/{p-7bf6ded7.entry.js → p-62cfe9b6.entry.js} +1 -1
- package/dist/webcomponents/p-6a075da4.entry.js +1 -0
- package/dist/webcomponents/{p-b8426810.entry.js → p-88074dd7.entry.js} +1 -1
- package/dist/webcomponents/{p-7dbd0618.entry.js → p-8c16e4aa.entry.js} +1 -1
- package/dist/webcomponents/{p-404b3f02.entry.js → p-8ee61443.entry.js} +1 -1
- package/dist/webcomponents/{p-c88babbe.entry.js → p-8efea1e4.entry.js} +1 -1
- package/dist/webcomponents/p-A2FbmAEt.js +1 -0
- package/dist/webcomponents/{p-Dy5btfGV.js → p-B4W3my_D.js} +1 -1
- package/dist/webcomponents/{p-CQrwlULd.js → p-BrazW3nF.js} +1 -1
- package/dist/webcomponents/{p-BN1PYSFf.js → p-CIOILVyM.js} +1 -1
- package/dist/webcomponents/{p-BKM7YeAB.js → p-CPRPR6fJ.js} +1 -1
- package/dist/webcomponents/p-CzedYX3W.js +1 -0
- package/dist/webcomponents/{p-CVhnuewz.js → p-DUs94fK3.js} +1 -1
- package/dist/webcomponents/{p-C01zp4xw.js → p-DXnwIxTB.js} +1 -1
- package/dist/webcomponents/{p-t8p0WAW4.js → p-DeX_cIoV.js} +1 -1
- package/dist/webcomponents/{p-Cmb6PRFh.js → p-TKWqvm_A.js} +1 -1
- package/dist/webcomponents/{p-BxtmTjqW.js → p-Yp5v6wmS.js} +1 -1
- package/dist/webcomponents/{p-BVwVhXcQ.js → p-aZ8YkDMZ.js} +1 -1
- package/dist/webcomponents/{p-8f4adcfd.entry.js → p-aa42e3c1.entry.js} +1 -1
- package/dist/webcomponents/{p-ba0762f9.entry.js → p-ad0f8d85.entry.js} +1 -1
- package/dist/webcomponents/{p-7b610d9e.entry.js → p-b8c47cb1.entry.js} +1 -1
- package/dist/webcomponents/p-c11e6c03.entry.js +1 -0
- package/dist/webcomponents/{p-a9f75a9e.entry.js → p-c5af7149.entry.js} +1 -1
- package/dist/webcomponents/{p-13bdb5ed.entry.js → p-c7df4370.entry.js} +1 -1
- package/dist/webcomponents/p-cf9d8e1a.entry.js +1 -0
- package/dist/webcomponents/{p-0cd1c683.entry.js → p-d3663663.entry.js} +1 -1
- package/dist/webcomponents/{p-47f6d271.entry.js → p-daedfe82.entry.js} +1 -1
- package/dist/webcomponents/{p-9370cf0d.entry.js → p-dd11e67b.entry.js} +1 -1
- package/dist/webcomponents/{p-9065d67e.entry.js → p-e3ab5fe2.entry.js} +1 -1
- package/dist/webcomponents/{p-0412f491.entry.js → p-e95e27af.entry.js} +1 -1
- package/dist/webcomponents/{p-c63b0271.entry.js → p-f66778b8.entry.js} +1 -1
- package/dist/webcomponents/{p-1d04bd7a.entry.js → p-ff212635.entry.js} +1 -1
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/package.json +1 -1
- package/dist/webcomponents/p-42658888.entry.js +0 -1
- package/dist/webcomponents/p-43390a7f.entry.js +0 -1
- package/dist/webcomponents/p-BRbk6oSh.js +0 -1
- package/dist/webcomponents/p-Bx3wyDU2.js +0 -1
- package/dist/webcomponents/p-a0c9f0bd.entry.js +0 -1
- package/dist/webcomponents/p-e9d13cca.entry.js +0 -1
package/dist/module/GooglePay.js
CHANGED
|
@@ -76,26 +76,48 @@ class GooglePayHelpers {
|
|
|
76
76
|
* Check if Google Pay is supported in the current environment
|
|
77
77
|
*/
|
|
78
78
|
static isGooglePaySupported() {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
const hasWindow = typeof window !== 'undefined';
|
|
80
|
+
const hasGoogle = hasWindow && 'google' in window;
|
|
81
|
+
const hasPayments = hasGoogle && 'payments' in window.google;
|
|
82
|
+
const hasApi = hasPayments && 'api' in window.google.payments;
|
|
83
|
+
const result = hasWindow && hasGoogle && hasPayments && hasApi;
|
|
84
|
+
console.log('[GooglePayHelpers] isGooglePaySupported:', {
|
|
85
|
+
hasWindow,
|
|
86
|
+
hasGoogle,
|
|
87
|
+
hasPayments,
|
|
88
|
+
hasApi,
|
|
89
|
+
result,
|
|
90
|
+
});
|
|
91
|
+
return result;
|
|
83
92
|
}
|
|
84
93
|
/**
|
|
85
94
|
* Create a Google Pay client instance
|
|
86
95
|
*/
|
|
87
96
|
static createGooglePayClient(environment) {
|
|
97
|
+
console.log('[GooglePayHelpers] createGooglePayClient: Starting', {
|
|
98
|
+
environment,
|
|
99
|
+
});
|
|
88
100
|
if (!this.isGooglePaySupported()) {
|
|
101
|
+
console.warn('[GooglePayHelpers] createGooglePayClient: Google Pay not supported');
|
|
89
102
|
return null;
|
|
90
103
|
}
|
|
91
104
|
try {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
105
|
+
const envString = environment === GooglePayEnvironment.PRODUCTION
|
|
106
|
+
? 'PRODUCTION'
|
|
107
|
+
: 'TEST';
|
|
108
|
+
console.log('[GooglePayHelpers] createGooglePayClient: Creating PaymentsClient', {
|
|
109
|
+
environment: envString,
|
|
96
110
|
});
|
|
111
|
+
const client = new window.google.payments.api.PaymentsClient({
|
|
112
|
+
environment: envString,
|
|
113
|
+
});
|
|
114
|
+
console.log('[GooglePayHelpers] createGooglePayClient: Client created successfully', {
|
|
115
|
+
hasClient: !!client,
|
|
116
|
+
});
|
|
117
|
+
return client;
|
|
97
118
|
}
|
|
98
|
-
catch (
|
|
119
|
+
catch (error) {
|
|
120
|
+
console.error('[GooglePayHelpers] createGooglePayClient: Error creating client', error);
|
|
99
121
|
return null;
|
|
100
122
|
}
|
|
101
123
|
}
|
|
@@ -169,11 +191,20 @@ class GooglePayHelpers {
|
|
|
169
191
|
* Create base payment data request check
|
|
170
192
|
*/
|
|
171
193
|
static createBasePaymentDataRequest() {
|
|
194
|
+
var _a;
|
|
195
|
+
console.log('[GooglePayHelpers] createBasePaymentDataRequest: Creating base request', {
|
|
196
|
+
accountId: checkoutStore.accountId,
|
|
197
|
+
});
|
|
172
198
|
const base = {
|
|
173
199
|
apiVersion: 2,
|
|
174
200
|
apiVersionMinor: 0,
|
|
175
201
|
allowedPaymentMethods: [this.createPaymentMethodData()],
|
|
176
202
|
};
|
|
203
|
+
console.log('[GooglePayHelpers] createBasePaymentDataRequest: Base request created', {
|
|
204
|
+
apiVersion: base.apiVersion,
|
|
205
|
+
apiVersionMinor: base.apiVersionMinor,
|
|
206
|
+
allowedPaymentMethodsCount: (_a = base.allowedPaymentMethods) === null || _a === void 0 ? void 0 : _a.length,
|
|
207
|
+
});
|
|
177
208
|
// For development and broader availability of the button, do not require an existing card
|
|
178
209
|
// This allows isReadyToPay to return true on supported browsers even without a saved payment method
|
|
179
210
|
base.existingPaymentMethodRequired = false;
|
|
@@ -18,22 +18,44 @@ class GooglePayService {
|
|
|
18
18
|
* Initialize Google Pay configuration
|
|
19
19
|
*/
|
|
20
20
|
initialize(googlePayConfig) {
|
|
21
|
+
console.log('[GooglePayService] initialize: Starting initialization', {
|
|
22
|
+
config: googlePayConfig,
|
|
23
|
+
});
|
|
21
24
|
this.googlePayConfig = new GooglePayConfig(googlePayConfig);
|
|
25
|
+
console.log('[GooglePayService] initialize: Config object created', {
|
|
26
|
+
isValid: this.googlePayConfig.isValid,
|
|
27
|
+
environment: this.googlePayConfig.environment,
|
|
28
|
+
merchantId: this.googlePayConfig.merchantId,
|
|
29
|
+
});
|
|
22
30
|
if (!this.googlePayConfig.isValid) {
|
|
31
|
+
console.error('[GooglePayService] initialize: Invalid configuration');
|
|
23
32
|
throw new Error('Invalid Google Pay configuration provided');
|
|
24
33
|
}
|
|
25
34
|
// Create Google Pay client
|
|
35
|
+
console.log('[GooglePayService] initialize: Creating Google Pay client', {
|
|
36
|
+
environment: this.googlePayConfig.environment,
|
|
37
|
+
});
|
|
26
38
|
this.googlePayClient = GooglePayHelpers.createGooglePayClient(this.googlePayConfig.environment);
|
|
27
39
|
if (!this.googlePayClient) {
|
|
40
|
+
console.error('[GooglePayService] initialize: Failed to create client');
|
|
28
41
|
throw new Error('Failed to create Google Pay client');
|
|
29
42
|
}
|
|
30
|
-
|
|
43
|
+
console.log('[GooglePayService] initialize: Client created successfully', {
|
|
44
|
+
hasClient: !!this.googlePayClient,
|
|
45
|
+
});
|
|
31
46
|
}
|
|
32
47
|
/**
|
|
33
48
|
* Process Google Pay payment via API
|
|
34
49
|
*/
|
|
35
50
|
async processPayment(authToken, accountId, payload) {
|
|
51
|
+
var _a;
|
|
36
52
|
const endpoint = PROCESS_TOKEN_ENDPOINT;
|
|
53
|
+
console.log('[GooglePayService] processPayment: Starting', {
|
|
54
|
+
endpoint,
|
|
55
|
+
hasAuthToken: !!authToken,
|
|
56
|
+
accountId,
|
|
57
|
+
payload,
|
|
58
|
+
});
|
|
37
59
|
try {
|
|
38
60
|
const result = await this.api.post({
|
|
39
61
|
endpoint,
|
|
@@ -43,12 +65,20 @@ class GooglePayService {
|
|
|
43
65
|
'sub-account': accountId,
|
|
44
66
|
},
|
|
45
67
|
});
|
|
68
|
+
console.log('[GooglePayService] processPayment: API response received', {
|
|
69
|
+
hasId: !!result.id,
|
|
70
|
+
hasToken: !!((_a = result.data) === null || _a === void 0 ? void 0 : _a.token),
|
|
71
|
+
result,
|
|
72
|
+
});
|
|
73
|
+
const success = result.id && !!result.data.token;
|
|
74
|
+
console.log('[GooglePayService] processPayment: Result', { success });
|
|
46
75
|
return {
|
|
47
|
-
success
|
|
76
|
+
success,
|
|
48
77
|
data: result,
|
|
49
78
|
};
|
|
50
79
|
}
|
|
51
|
-
catch (
|
|
80
|
+
catch (error) {
|
|
81
|
+
console.error('[GooglePayService] processPayment: API error', error);
|
|
52
82
|
throw new Error('Google Pay payment processing failed');
|
|
53
83
|
}
|
|
54
84
|
}
|
|
@@ -56,21 +86,42 @@ class GooglePayService {
|
|
|
56
86
|
* Check if Google Pay is available on this device/browser
|
|
57
87
|
*/
|
|
58
88
|
isAvailable() {
|
|
59
|
-
|
|
89
|
+
const isSupported = GooglePayHelpers.isGooglePaySupported();
|
|
90
|
+
const hasClient = !!this.googlePayClient;
|
|
91
|
+
const result = isSupported && hasClient;
|
|
92
|
+
console.log('[GooglePayService] isAvailable:', {
|
|
93
|
+
isSupported,
|
|
94
|
+
hasClient,
|
|
95
|
+
result,
|
|
96
|
+
});
|
|
97
|
+
return result;
|
|
60
98
|
}
|
|
61
99
|
/**
|
|
62
100
|
* Check if the user can make payments with Google Pay
|
|
63
101
|
*/
|
|
64
102
|
async canMakePayments() {
|
|
103
|
+
console.log('[GooglePayService] canMakePayments: Checking', {
|
|
104
|
+
hasClient: !!this.googlePayClient,
|
|
105
|
+
hasConfig: !!this.googlePayConfig,
|
|
106
|
+
});
|
|
65
107
|
if (!this.googlePayClient || !this.googlePayConfig) {
|
|
108
|
+
console.warn('[GooglePayService] canMakePayments: Missing client or config');
|
|
66
109
|
return false;
|
|
67
110
|
}
|
|
68
111
|
try {
|
|
69
112
|
const baseRequest = GooglePayHelpers.createBasePaymentDataRequest();
|
|
113
|
+
console.log('[GooglePayService] canMakePayments: Calling isReadyToPay', {
|
|
114
|
+
baseRequest,
|
|
115
|
+
});
|
|
70
116
|
const response = await this.googlePayClient.isReadyToPay(baseRequest);
|
|
117
|
+
console.log('[GooglePayService] canMakePayments: Response received', {
|
|
118
|
+
result: response.result,
|
|
119
|
+
response,
|
|
120
|
+
});
|
|
71
121
|
return response.result;
|
|
72
122
|
}
|
|
73
|
-
catch (
|
|
123
|
+
catch (error) {
|
|
124
|
+
console.error('[GooglePayService] canMakePayments: Error', error);
|
|
74
125
|
return false;
|
|
75
126
|
}
|
|
76
127
|
}
|
|
@@ -79,27 +130,53 @@ class GooglePayService {
|
|
|
79
130
|
*/
|
|
80
131
|
async startPaymentSession(paymentDataRequest, authToken, accountId) {
|
|
81
132
|
var _a;
|
|
133
|
+
console.log('[GooglePayService] startPaymentSession: Starting', {
|
|
134
|
+
hasConfig: !!this.googlePayConfig,
|
|
135
|
+
hasClient: !!this.googlePayClient,
|
|
136
|
+
hasAuthToken: !!authToken,
|
|
137
|
+
accountId,
|
|
138
|
+
paymentDataRequest,
|
|
139
|
+
});
|
|
82
140
|
if (!this.googlePayConfig || !this.googlePayClient) {
|
|
141
|
+
console.error('[GooglePayService] startPaymentSession: Not initialized');
|
|
83
142
|
throw new Error('Google Pay not initialized. Call initialize() first.');
|
|
84
143
|
}
|
|
85
144
|
if (!this.isAvailable()) {
|
|
145
|
+
console.error('[GooglePayService] startPaymentSession: Not available');
|
|
86
146
|
throw new Error('Google Pay is not available on this device/browser');
|
|
87
147
|
}
|
|
88
148
|
const request = new GooglePayPaymentDataRequest(paymentDataRequest);
|
|
149
|
+
console.log('[GooglePayService] startPaymentSession: Request object created', {
|
|
150
|
+
isValid: request.isValid,
|
|
151
|
+
request,
|
|
152
|
+
});
|
|
89
153
|
if (!request.isValid) {
|
|
154
|
+
console.error('[GooglePayService] startPaymentSession: Invalid request');
|
|
90
155
|
throw new Error('Invalid payment data request provided');
|
|
91
156
|
}
|
|
92
157
|
try {
|
|
158
|
+
console.log('[GooglePayService] startPaymentSession: Loading payment data...');
|
|
93
159
|
const paymentData = await this.googlePayClient.loadPaymentData(request);
|
|
160
|
+
console.log('[GooglePayService] startPaymentSession: Payment data loaded', {
|
|
161
|
+
hasPaymentData: !!paymentData,
|
|
162
|
+
paymentMethodData: paymentData === null || paymentData === void 0 ? void 0 : paymentData.paymentMethodData,
|
|
163
|
+
});
|
|
94
164
|
// Build top-level snake_case fields from Google Pay tokenizationData
|
|
95
165
|
const tokenizationData = (_a = paymentData === null || paymentData === void 0 ? void 0 : paymentData.paymentMethodData) === null || _a === void 0 ? void 0 : _a.tokenizationData;
|
|
166
|
+
console.log('[GooglePayService] startPaymentSession: Extracted tokenization data', {
|
|
167
|
+
hasTokenizationData: !!tokenizationData,
|
|
168
|
+
tokenizationData,
|
|
169
|
+
});
|
|
96
170
|
const tokenObj = (() => {
|
|
97
171
|
if ((tokenizationData === null || tokenizationData === void 0 ? void 0 : tokenizationData.token) &&
|
|
98
172
|
typeof tokenizationData.token === 'string') {
|
|
99
173
|
try {
|
|
100
|
-
|
|
174
|
+
const parsed = JSON.parse(tokenizationData.token);
|
|
175
|
+
console.log('[GooglePayService] startPaymentSession: Parsed token', parsed);
|
|
176
|
+
return parsed;
|
|
101
177
|
}
|
|
102
178
|
catch (_e) {
|
|
179
|
+
console.warn('[GooglePayService] startPaymentSession: Failed to parse token, using raw', _e);
|
|
103
180
|
return tokenizationData;
|
|
104
181
|
}
|
|
105
182
|
}
|
|
@@ -116,8 +193,19 @@ class GooglePayService {
|
|
|
116
193
|
: undefined,
|
|
117
194
|
signedMessage: tokenObj === null || tokenObj === void 0 ? void 0 : tokenObj.signedMessage,
|
|
118
195
|
};
|
|
196
|
+
console.log('[GooglePayService] startPaymentSession: Token process request created', {
|
|
197
|
+
hasProtocolVersion: !!tokenProcessRequest.protocolVersion,
|
|
198
|
+
hasSignature: !!tokenProcessRequest.signature,
|
|
199
|
+
hasSignedMessage: !!tokenProcessRequest.signedMessage,
|
|
200
|
+
hasIntermediateSigningKey: !!tokenProcessRequest.intermediateSigningKey,
|
|
201
|
+
});
|
|
202
|
+
console.log('[GooglePayService] startPaymentSession: Processing payment...');
|
|
119
203
|
const paymentResult = await this.processPayment(authToken, accountId, tokenProcessRequest);
|
|
204
|
+
console.log('[GooglePayService] startPaymentSession: Payment processed', paymentResult);
|
|
120
205
|
if (paymentResult.success) {
|
|
206
|
+
console.log('[GooglePayService] startPaymentSession: Payment successful', {
|
|
207
|
+
paymentMethodId: paymentResult.data.id,
|
|
208
|
+
});
|
|
121
209
|
return {
|
|
122
210
|
success: true,
|
|
123
211
|
paymentData: paymentData,
|
|
@@ -125,6 +213,7 @@ class GooglePayService {
|
|
|
125
213
|
};
|
|
126
214
|
}
|
|
127
215
|
else {
|
|
216
|
+
console.error('[GooglePayService] startPaymentSession: Payment processing failed');
|
|
128
217
|
return {
|
|
129
218
|
success: false,
|
|
130
219
|
error: {
|
|
@@ -135,11 +224,17 @@ class GooglePayService {
|
|
|
135
224
|
}
|
|
136
225
|
}
|
|
137
226
|
catch (error) {
|
|
227
|
+
console.error('[GooglePayService] startPaymentSession: Exception caught', error);
|
|
138
228
|
// Handle different types of errors
|
|
139
229
|
if (error && typeof error === 'object' && 'statusCode' in error) {
|
|
140
230
|
const googlePayError = error;
|
|
231
|
+
console.log('[GooglePayService] startPaymentSession: Google Pay error', {
|
|
232
|
+
statusCode: googlePayError.statusCode,
|
|
233
|
+
statusMessage: googlePayError.statusMessage,
|
|
234
|
+
});
|
|
141
235
|
switch (googlePayError.statusCode) {
|
|
142
236
|
case 'CANCELED':
|
|
237
|
+
console.log('[GooglePayService] startPaymentSession: User cancelled');
|
|
143
238
|
return {
|
|
144
239
|
success: false,
|
|
145
240
|
error: {
|
|
@@ -148,6 +243,7 @@ class GooglePayService {
|
|
|
148
243
|
},
|
|
149
244
|
};
|
|
150
245
|
case 'DEVELOPER_ERROR':
|
|
246
|
+
console.error('[GooglePayService] startPaymentSession: Developer error');
|
|
151
247
|
return {
|
|
152
248
|
success: false,
|
|
153
249
|
error: {
|
|
@@ -156,6 +252,9 @@ class GooglePayService {
|
|
|
156
252
|
},
|
|
157
253
|
};
|
|
158
254
|
default:
|
|
255
|
+
console.error('[GooglePayService] startPaymentSession: Unknown error', {
|
|
256
|
+
statusCode: googlePayError.statusCode,
|
|
257
|
+
});
|
|
159
258
|
return {
|
|
160
259
|
success: false,
|
|
161
260
|
error: {
|
|
@@ -165,6 +264,7 @@ class GooglePayService {
|
|
|
165
264
|
};
|
|
166
265
|
}
|
|
167
266
|
}
|
|
267
|
+
console.error('[GooglePayService] startPaymentSession: Generic error', error);
|
|
168
268
|
return {
|
|
169
269
|
success: false,
|
|
170
270
|
error: {
|
|
@@ -200,22 +300,43 @@ class GooglePayService {
|
|
|
200
300
|
* Prefetch payment data for faster loading
|
|
201
301
|
*/
|
|
202
302
|
prefetchPaymentData(paymentDataRequest) {
|
|
303
|
+
console.log('[GooglePayService] prefetchPaymentData: Starting', {
|
|
304
|
+
hasClient: !!this.googlePayClient,
|
|
305
|
+
paymentDataRequest,
|
|
306
|
+
});
|
|
203
307
|
if (!this.googlePayClient) {
|
|
308
|
+
console.warn('[GooglePayService] prefetchPaymentData: No client available');
|
|
204
309
|
return;
|
|
205
310
|
}
|
|
206
311
|
const request = new GooglePayPaymentDataRequest(paymentDataRequest);
|
|
312
|
+
console.log('[GooglePayService] prefetchPaymentData: Request created', {
|
|
313
|
+
isValid: request.isValid,
|
|
314
|
+
});
|
|
207
315
|
if (!request.isValid) {
|
|
316
|
+
console.warn('[GooglePayService] prefetchPaymentData: Invalid request');
|
|
208
317
|
return;
|
|
209
318
|
}
|
|
210
319
|
try {
|
|
320
|
+
console.log('[GooglePayService] prefetchPaymentData: Calling prefetchPaymentData');
|
|
211
321
|
this.googlePayClient.prefetchPaymentData(request);
|
|
322
|
+
console.log('[GooglePayService] prefetchPaymentData: Prefetch complete');
|
|
323
|
+
}
|
|
324
|
+
catch (error) {
|
|
325
|
+
console.error('[GooglePayService] prefetchPaymentData: Error', error);
|
|
212
326
|
}
|
|
213
|
-
catch (_error) { }
|
|
214
327
|
}
|
|
215
328
|
/**
|
|
216
329
|
* Create a basic payment data request
|
|
217
330
|
*/
|
|
218
|
-
static createPaymentDataRequest(amount, label, countryCode = 'US', currencyCode = 'USD', merchantName) {
|
|
331
|
+
static createPaymentDataRequest(amount, label, countryCode = 'US', currencyCode = 'USD', merchantName, merchantId) {
|
|
332
|
+
var _a;
|
|
333
|
+
console.log('[GooglePayService] createPaymentDataRequest: Creating request', {
|
|
334
|
+
amount,
|
|
335
|
+
label,
|
|
336
|
+
countryCode,
|
|
337
|
+
currencyCode,
|
|
338
|
+
merchantName,
|
|
339
|
+
});
|
|
219
340
|
const request = {
|
|
220
341
|
apiVersion: 2,
|
|
221
342
|
apiVersionMinor: 0,
|
|
@@ -228,10 +349,17 @@ class GooglePayService {
|
|
|
228
349
|
totalPriceLabel: label,
|
|
229
350
|
},
|
|
230
351
|
merchantInfo: {
|
|
352
|
+
merchantId,
|
|
231
353
|
merchantName,
|
|
232
354
|
},
|
|
233
355
|
};
|
|
234
|
-
|
|
356
|
+
console.log('[GooglePayService] createPaymentDataRequest: Request created', {
|
|
357
|
+
apiVersion: request.apiVersion,
|
|
358
|
+
apiVersionMinor: request.apiVersionMinor,
|
|
359
|
+
transactionInfo: request.transactionInfo,
|
|
360
|
+
merchantInfo: request.merchantInfo,
|
|
361
|
+
allowedPaymentMethodsCount: (_a = request.allowedPaymentMethods) === null || _a === void 0 ? void 0 : _a.length,
|
|
362
|
+
});
|
|
235
363
|
return request;
|
|
236
364
|
}
|
|
237
365
|
/**
|
|
@@ -533,19 +661,42 @@ const GooglePay = /*@__PURE__*/ proxyCustomElement(class GooglePay extends HTMLE
|
|
|
533
661
|
this.showSkeleton = true;
|
|
534
662
|
this.handleGooglePayClick = async () => {
|
|
535
663
|
var _a;
|
|
664
|
+
console.log('[GooglePay] handleGooglePayClick: Button clicked', {
|
|
665
|
+
isProcessing: this.isProcessing,
|
|
666
|
+
disabled: this.disabled,
|
|
667
|
+
isAvailable: this.isAvailable,
|
|
668
|
+
canMakePayments: this.canMakePayments,
|
|
669
|
+
});
|
|
536
670
|
if (this.isProcessing ||
|
|
537
671
|
this.disabled ||
|
|
538
672
|
!this.isAvailable ||
|
|
539
673
|
!this.canMakePayments) {
|
|
674
|
+
console.warn('[GooglePay] handleGooglePayClick: Payment blocked', {
|
|
675
|
+
reason: this.isProcessing ? 'isProcessing' :
|
|
676
|
+
this.disabled ? 'disabled' :
|
|
677
|
+
!this.isAvailable ? 'notAvailable' :
|
|
678
|
+
!this.canMakePayments ? 'cannotMakePayments' : 'unknown',
|
|
679
|
+
});
|
|
540
680
|
return;
|
|
541
681
|
}
|
|
542
682
|
try {
|
|
683
|
+
console.log('[GooglePay] handleGooglePayClick: Starting payment session');
|
|
543
684
|
this.isProcessing = true;
|
|
544
685
|
this.error = null;
|
|
545
686
|
this.googlePayStarted.emit();
|
|
687
|
+
console.log('[GooglePay] handleGooglePayClick: googlePayStarted event emitted');
|
|
546
688
|
const paymentDataRequest = this.createPaymentDataRequest();
|
|
689
|
+
console.log('[GooglePay] handleGooglePayClick: Starting payment session with service', {
|
|
690
|
+
hasAuthToken: !!checkoutStore.authToken,
|
|
691
|
+
accountId: checkoutStore.accountId,
|
|
692
|
+
});
|
|
547
693
|
const result = await this.googlePayService.startPaymentSession(paymentDataRequest, checkoutStore.authToken, checkoutStore.accountId);
|
|
694
|
+
console.log('[GooglePay] handleGooglePayClick: Payment session result', result);
|
|
548
695
|
if (result.success) {
|
|
696
|
+
console.log('[GooglePay] handleGooglePayClick: Payment successful', {
|
|
697
|
+
paymentMethodId: result.paymentMethodId,
|
|
698
|
+
hasPaymentData: !!result.paymentData,
|
|
699
|
+
});
|
|
549
700
|
this.googlePayCompleted.emit({
|
|
550
701
|
success: true,
|
|
551
702
|
paymentData: result.paymentData,
|
|
@@ -553,16 +704,21 @@ const GooglePay = /*@__PURE__*/ proxyCustomElement(class GooglePay extends HTMLE
|
|
|
553
704
|
});
|
|
554
705
|
}
|
|
555
706
|
else {
|
|
707
|
+
console.error('[GooglePay] handleGooglePayClick: Payment failed', {
|
|
708
|
+
error: result.error,
|
|
709
|
+
});
|
|
556
710
|
this.googlePayCompleted.emit({
|
|
557
711
|
success: false,
|
|
558
712
|
error: result.error,
|
|
559
713
|
});
|
|
560
714
|
if (((_a = result.error) === null || _a === void 0 ? void 0 : _a.code) === "USER_CANCELLED") {
|
|
715
|
+
console.log('[GooglePay] handleGooglePayClick: User cancelled payment');
|
|
561
716
|
this.googlePayCancelled.emit();
|
|
562
717
|
}
|
|
563
718
|
}
|
|
564
719
|
}
|
|
565
720
|
catch (error) {
|
|
721
|
+
console.error('[GooglePay] handleGooglePayClick: Exception during payment', error);
|
|
566
722
|
const errorMessage = error instanceof Error ? error.message : "Payment failed";
|
|
567
723
|
this.error = errorMessage;
|
|
568
724
|
this.googlePayCompleted.emit({
|
|
@@ -572,27 +728,48 @@ const GooglePay = /*@__PURE__*/ proxyCustomElement(class GooglePay extends HTMLE
|
|
|
572
728
|
}
|
|
573
729
|
finally {
|
|
574
730
|
this.isProcessing = false;
|
|
731
|
+
console.log('[GooglePay] handleGooglePayClick: Payment flow complete', {
|
|
732
|
+
isProcessing: this.isProcessing,
|
|
733
|
+
error: this.error,
|
|
734
|
+
});
|
|
575
735
|
}
|
|
576
736
|
};
|
|
577
737
|
}
|
|
578
738
|
watchConfigChange() {
|
|
739
|
+
console.log('[GooglePay] watchConfigChange: Configuration changed', {
|
|
740
|
+
merchantId: this.merchantId,
|
|
741
|
+
environment: this.environment,
|
|
742
|
+
});
|
|
579
743
|
this.initializeGooglePay();
|
|
580
744
|
}
|
|
581
745
|
componentWillLoad() {
|
|
746
|
+
console.log('[GooglePay] componentWillLoad: Initializing GooglePayService');
|
|
582
747
|
this.googlePayService = new GooglePayService();
|
|
748
|
+
console.log('[GooglePay] componentWillLoad: GooglePayService created', {
|
|
749
|
+
service: this.googlePayService,
|
|
750
|
+
});
|
|
583
751
|
}
|
|
584
752
|
componentDidLoad() {
|
|
753
|
+
console.log('[GooglePay] componentDidLoad: Setting up store subscriptions', {
|
|
754
|
+
checkoutLoaded: checkoutStore.checkoutLoaded,
|
|
755
|
+
paymentAmount: checkoutStore.paymentAmount,
|
|
756
|
+
paymentCurrency: checkoutStore.paymentCurrency,
|
|
757
|
+
paymentDescription: checkoutStore.paymentDescription,
|
|
758
|
+
});
|
|
585
759
|
const unsub = onChange("paymentAmount", () => {
|
|
760
|
+
console.log('[GooglePay] paymentAmount changed:', checkoutStore.paymentAmount);
|
|
586
761
|
this.prefetchPaymentData();
|
|
587
762
|
});
|
|
588
763
|
if (typeof unsub === 'function')
|
|
589
764
|
this.unsubscribes.push(unsub);
|
|
590
765
|
const unsubCurrency = onChange("paymentCurrency", () => {
|
|
766
|
+
console.log('[GooglePay] paymentCurrency changed:', checkoutStore.paymentCurrency);
|
|
591
767
|
this.prefetchPaymentData();
|
|
592
768
|
});
|
|
593
769
|
if (typeof unsubCurrency === 'function')
|
|
594
770
|
this.unsubscribes.push(unsubCurrency);
|
|
595
771
|
const unsubDesc = onChange("paymentDescription", () => {
|
|
772
|
+
console.log('[GooglePay] paymentDescription changed:', checkoutStore.paymentDescription);
|
|
596
773
|
this.prefetchPaymentData();
|
|
597
774
|
});
|
|
598
775
|
if (typeof unsubDesc === 'function')
|
|
@@ -641,17 +818,31 @@ const GooglePay = /*@__PURE__*/ proxyCustomElement(class GooglePay extends HTMLE
|
|
|
641
818
|
* Prefetch payment data for faster load times of the Google Pay sheet.
|
|
642
819
|
*/
|
|
643
820
|
async prefetchPaymentData() {
|
|
821
|
+
console.log('[GooglePay] prefetchPaymentData: Called', {
|
|
822
|
+
isAvailable: this.isAvailable,
|
|
823
|
+
canMakePayments: this.canMakePayments,
|
|
824
|
+
});
|
|
644
825
|
if (!this.isAvailable || !this.canMakePayments) {
|
|
826
|
+
console.warn('[GooglePay] prefetchPaymentData: Skipped - not available or cannot make payments');
|
|
645
827
|
return;
|
|
646
828
|
}
|
|
647
829
|
const paymentDataRequest = this.createPaymentDataRequest();
|
|
830
|
+
console.log('[GooglePay] prefetchPaymentData: Prefetching', { paymentDataRequest });
|
|
648
831
|
this.googlePayService.prefetchPaymentData(paymentDataRequest);
|
|
832
|
+
console.log('[GooglePay] prefetchPaymentData: Prefetch complete');
|
|
649
833
|
}
|
|
650
834
|
async initializeGooglePay() {
|
|
835
|
+
console.log('[GooglePay] initializeGooglePay: Starting initialization');
|
|
651
836
|
try {
|
|
652
837
|
this.isLoading = true;
|
|
653
838
|
this.error = null;
|
|
839
|
+
console.log('[GooglePay] initializeGooglePay: Checking payment amount', {
|
|
840
|
+
paymentAmount: checkoutStore.paymentAmount,
|
|
841
|
+
paymentCurrency: checkoutStore.paymentCurrency,
|
|
842
|
+
paymentDescription: checkoutStore.paymentDescription,
|
|
843
|
+
});
|
|
654
844
|
if (!checkoutStore.paymentAmount) {
|
|
845
|
+
console.error('[GooglePay] initializeGooglePay: Missing payment amount');
|
|
655
846
|
this.error = "Missing required Google Pay configuration";
|
|
656
847
|
this.isLoading = false;
|
|
657
848
|
return;
|
|
@@ -664,23 +855,39 @@ const GooglePay = /*@__PURE__*/ proxyCustomElement(class GooglePay extends HTMLE
|
|
|
664
855
|
buttonStyle: this.buttonStyle,
|
|
665
856
|
buttonSizeMode: this.buttonSizeMode,
|
|
666
857
|
};
|
|
858
|
+
console.log('[GooglePay] initializeGooglePay: Config created', googlePayConfig);
|
|
667
859
|
this.googlePayService.initialize(googlePayConfig);
|
|
860
|
+
console.log('[GooglePay] initializeGooglePay: Service initialized');
|
|
668
861
|
this.isAvailable = this.googlePayService.isAvailable();
|
|
862
|
+
console.log('[GooglePay] initializeGooglePay: Availability check', {
|
|
863
|
+
isAvailable: this.isAvailable,
|
|
864
|
+
});
|
|
669
865
|
if (!this.isAvailable) {
|
|
866
|
+
console.warn('[GooglePay] initializeGooglePay: Google Pay not available on device');
|
|
670
867
|
this.error = "Google Pay is not supported on this device";
|
|
671
868
|
this.isLoading = false;
|
|
672
869
|
return;
|
|
673
870
|
}
|
|
871
|
+
console.log('[GooglePay] initializeGooglePay: Checking canMakePayments...');
|
|
674
872
|
this.canMakePayments = await this.googlePayService.canMakePayments();
|
|
873
|
+
console.log('[GooglePay] initializeGooglePay: canMakePayments result', {
|
|
874
|
+
canMakePayments: this.canMakePayments,
|
|
875
|
+
});
|
|
675
876
|
if (!this.canMakePayments) {
|
|
877
|
+
console.warn('[GooglePay] initializeGooglePay: Cannot make payments');
|
|
676
878
|
this.error = "Google Pay is not available for payments";
|
|
677
879
|
this.isLoading = false;
|
|
678
880
|
return;
|
|
679
881
|
}
|
|
680
882
|
const paymentDataRequest = this.createPaymentDataRequest();
|
|
883
|
+
console.log('[GooglePay] initializeGooglePay: Prefetching payment data', {
|
|
884
|
+
paymentDataRequest,
|
|
885
|
+
});
|
|
681
886
|
this.googlePayService.prefetchPaymentData(paymentDataRequest);
|
|
887
|
+
console.log('[GooglePay] initializeGooglePay: Initialization complete');
|
|
682
888
|
}
|
|
683
889
|
catch (error) {
|
|
890
|
+
console.error('[GooglePay] initializeGooglePay: Error during initialization', error);
|
|
684
891
|
this.error =
|
|
685
892
|
error instanceof Error
|
|
686
893
|
? error.message
|
|
@@ -688,19 +895,37 @@ const GooglePay = /*@__PURE__*/ proxyCustomElement(class GooglePay extends HTMLE
|
|
|
688
895
|
}
|
|
689
896
|
finally {
|
|
690
897
|
this.isLoading = false;
|
|
898
|
+
console.log('[GooglePay] initializeGooglePay: Final state', {
|
|
899
|
+
isLoading: this.isLoading,
|
|
900
|
+
isAvailable: this.isAvailable,
|
|
901
|
+
canMakePayments: this.canMakePayments,
|
|
902
|
+
error: this.error,
|
|
903
|
+
});
|
|
691
904
|
}
|
|
692
905
|
}
|
|
693
906
|
createPaymentDataRequest() {
|
|
694
|
-
|
|
907
|
+
const request = GooglePayService.createPaymentDataRequest(checkoutStore.paymentAmount, checkoutStore.paymentDescription, this.countryCode, checkoutStore.paymentCurrency, this.merchantName, this.merchantId);
|
|
908
|
+
console.log('[GooglePay] createPaymentDataRequest: Created request', {
|
|
909
|
+
amount: checkoutStore.paymentAmount,
|
|
910
|
+
currency: checkoutStore.paymentCurrency,
|
|
911
|
+
description: checkoutStore.paymentDescription,
|
|
912
|
+
countryCode: this.countryCode,
|
|
913
|
+
merchantName: this.merchantName,
|
|
914
|
+
request,
|
|
915
|
+
});
|
|
916
|
+
return request;
|
|
695
917
|
}
|
|
696
918
|
render() {
|
|
697
919
|
const showError = !this.isLoading && !!this.error;
|
|
698
920
|
const showDeviceUnavailable = !this.isLoading && !this.error && !this.isAvailable;
|
|
699
921
|
const showPaymentsUnavailable = !this.isLoading && !this.error && this.isAvailable && !this.canMakePayments;
|
|
700
922
|
const showButton = !this.isLoading && !this.error && this.isAvailable && this.canMakePayments;
|
|
701
|
-
return (h(StyledHost, { key: '
|
|
923
|
+
return (h(StyledHost, { key: 'cf4dcfa14dd83683c0d6e811ea464968c38f38d6' }, checkoutStore.checkoutLoaded && (h("script", { key: 'e942fe8e2eb80ee0d2119e864c62d89a79d9d12a', async: true, src: 'https://pay.google.com/gp/p/js/pay.js', onLoad: () => {
|
|
924
|
+
console.log('[GooglePay] Script loaded: Google Pay JS library loaded successfully');
|
|
702
925
|
this.initializeGooglePay();
|
|
703
|
-
}
|
|
926
|
+
}, onError: (e) => {
|
|
927
|
+
console.error('[GooglePay] Script error: Failed to load Google Pay JS library', e);
|
|
928
|
+
} })), h("div", { key: '7ce1234392d3ea3abdcb1a385462cf740f4b98bb', class: 'google-pay-container' }, h(GooglePaySkeleton, { key: '3532e93f39bb69d76663c159bc6b1322a39e1361', isLoading: this.isLoading }), showError && (h("div", { key: '9e42e567d383522d03bc361008cb470fd2e2d602', class: 'google-pay-error', role: 'alert', "data-testid": 'gp-error' }, h("span", { key: '8b49d628ff8f5175d36f82e32191f1f3291e826f', class: 'error-icon' }, "\u26A0\uFE0F"), h("span", { key: 'b01e94934cd30b8dbad3127239ea625c51511d35', class: 'error-message' }, this.error))), showDeviceUnavailable && (h("div", { key: '12ad123c7516e9ce2ad1084f6b0c366e8bb5b9d5', class: 'google-pay-unavailable', "data-testid": 'gp-device-unavailable' }, h("span", { key: 'e0fa8f13423b6b545b340cc4b2b0411e833202c6', class: 'unavailable-message' }, "Google Pay is not available on this device"))), showPaymentsUnavailable && (h("div", { key: 'acb4c6661ca0aa6b944c8ed67642c4ad9effa1e5', class: 'google-pay-unavailable', "data-testid": 'gp-payments-unavailable' }, h("span", { key: '8a83dc8f5140d3ecade1fd68f69b5ebeaeb020d2', class: 'unavailable-message' }, "Google Pay is not available for payments"))), showButton && (h(GooglePayButton, { key: '46ea586c90aaa5eb909af4f1dfcb873a7ac50069', "data-testid": 'gp-button', buttonType: this.buttonType, buttonStyle: this.buttonStyle, buttonSizeMode: this.buttonSizeMode, disabled: this.disabled, isProcessing: this.isProcessing, isAvailable: this.isAvailable, clickHandler: this.handleGooglePayClick }))), h("style", { key: '8f77166ec7d772f0c51c74cdb166f9e8ae295088' }, `
|
|
704
929
|
.google-pay-container {
|
|
705
930
|
width: 100%;
|
|
706
931
|
}
|
package/dist/module/package.js
CHANGED
|
@@ -48,7 +48,7 @@ export declare class GooglePayService implements IGooglePayService {
|
|
|
48
48
|
/**
|
|
49
49
|
* Create a basic payment data request
|
|
50
50
|
*/
|
|
51
|
-
static createPaymentDataRequest(amount: number, label: string, countryCode: string, currencyCode: string, merchantName: string): IGooglePayPaymentDataRequest;
|
|
51
|
+
static createPaymentDataRequest(amount: number, label: string, countryCode: string, currencyCode: string, merchantName: string, merchantId: string): IGooglePayPaymentDataRequest;
|
|
52
52
|
/**
|
|
53
53
|
* Get current configuration
|
|
54
54
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,h as a}from"./p-DwYM91AU.js";import"./p-tGDdRx0W.js";import"./p-HXpYMWUU.js";import"./p-Cjcsf8ku.js";import{I as t,a as s}from"./p-
|
|
1
|
+
import{r as e,h as a}from"./p-DwYM91AU.js";import"./p-tGDdRx0W.js";import"./p-HXpYMWUU.js";import"./p-Cjcsf8ku.js";import{I as t,a as s}from"./p-BrazW3nF.js";import"./p-CLHwhyvu.js";import"./p-B5rtFhtR.js";import"./p-BH0Xfn-F.js";import{f as l,p,c as o}from"./p-DKGn-ILd.js";import{e as r,s as i,p as c}from"./p-wtuY7MT2.js";import{S as d}from"./p-BP2sTIQV.js";import"./p-CZfYo5-1.js";import"./p-BYsgavgS.js";import"./p-BS7OgSQe.js";import"./p-DkoufM1t.js";const m=class{constructor(a){e(this,a),this.setParamsOnChange=(e,a)=>{l[e]=a}}componentWillLoad(){Object.entries({status:this.checkoutStatus,payment_mode:this.paymentMode}).forEach((([e,a])=>{a&&(p[e]=a)}))}get checkoutStatusOptions(){return[{label:"All",value:""},{label:"Created",value:t.created},{label:"Completed",value:t.completed},{label:"Attempted",value:t.attempted},{label:"Expired",value:t.expired}]}get checkoutPaymentModeOptions(){return[{label:"All",value:""},{label:"E-commerce",value:s.ecom},{label:"BNPL",value:s.bnpl},{label:"Apple Pay",value:s.apple_pay}]}render(){const e=Object.assign({},l);return a(d,{key:"7b00989f26aeb4b692c05fed3f092dfc93395a83"},a("table-filters-menu",{key:"3766268ec3b3648d5a6449566926b728e72b91ea",params:e,clearParams:o,part:r},a("div",{key:"a544aeeeea57c32e9a302a50709694845c112857",class:"grid-cols-2 gap-3 p-1"},a("div",{key:"f57d563a6d2f45cd76d24fa2113a36e695948d13",class:"p-2"},a("form-control-select",{key:"c6b8cd450f4fc999e254ff280f56c1b835ba0cd3",name:"status",label:"Status",options:this.checkoutStatusOptions,inputHandler:this.setParamsOnChange,defaultValue:this.checkoutStatus||l.status||"",disabled:!!this.checkoutStatus,part:i})),a("div",{key:"b901a858e318065757bc195980d46d9021552ca4",class:"p-2"},a("form-control-select",{key:"1a5d90dbc5aaa4b69fc90fdcc6b88b97675d6e44",name:"payment_mode",label:"Payment Mode",options:this.checkoutPaymentModeOptions,inputHandler:this.setParamsOnChange,defaultValue:this.paymentMode||l.payment_mode||"",disabled:!!this.paymentMode,part:c})))))}};export{m as justifi_checkouts_list_filters}
|