payaza-storefront-layouts 1.1.21 → 1.1.22
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/hooks/use-payaza-checkout.d.ts.map +1 -1
- package/dist/hooks/use-payaza-checkout.js +11 -24
- package/dist/layouts/shared/pages/CheckoutPage.d.ts.map +1 -1
- package/dist/layouts/shared/pages/CheckoutPage.js +0 -2
- package/dist/lib/payaza-checkout.d.ts +6 -0
- package/dist/lib/payaza-checkout.d.ts.map +1 -1
- package/dist/lib/payaza-checkout.js +35 -15
- package/dist/styles/index.css +3 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-payaza-checkout.d.ts","sourceRoot":"","sources":["../../src/hooks/use-payaza-checkout.ts"],"names":[],"mappings":"AAGA,OAAO,EAA0B,oBAAoB,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"use-payaza-checkout.d.ts","sourceRoot":"","sources":["../../src/hooks/use-payaza-checkout.ts"],"names":[],"mappings":"AAGA,OAAO,EAA0B,oBAAoB,EAAE,sBAAsB,EAA6B,MAAM,uBAAuB,CAAC;AAExI,UAAU,wBAAwB;IAChC,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,SAAc,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,wBAAwB;uBAiBzE,IAAI,CAAC,oBAAoB,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;;;EA6GhG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useState, useRef, useEffect } from 'react';
|
|
3
|
-
import { initiatePayazaCheckout } from '../lib/payaza-checkout.js';
|
|
3
|
+
import { initiatePayazaCheckout, teardownPayazaCheckoutDom } from '../lib/payaza-checkout.js';
|
|
4
4
|
export function usePayazaCheckout({ publicKey = '', onSuccess, onError, onClose }) {
|
|
5
5
|
const [isLoading, setIsLoading] = useState(false);
|
|
6
6
|
const [error, setError] = useState(null);
|
|
@@ -29,30 +29,12 @@ export function usePayazaCheckout({ publicKey = '', onSuccess, onError, onClose
|
|
|
29
29
|
};
|
|
30
30
|
const PAYAZA_TIMEOUT_MS = 45000;
|
|
31
31
|
const removePayazaOverlay = () => {
|
|
32
|
-
|
|
33
|
-
return;
|
|
34
|
-
const iframe = document.querySelector('iframe[src*="payaza.africa"]');
|
|
35
|
-
let node = iframe;
|
|
36
|
-
while (node?.parentElement && node.parentElement !== document.body) {
|
|
37
|
-
node = node.parentElement;
|
|
38
|
-
}
|
|
39
|
-
if (node?.parentElement === document.body) {
|
|
40
|
-
node.remove();
|
|
41
|
-
}
|
|
42
|
-
else if (iframe?.parentElement) {
|
|
43
|
-
iframe.parentElement.remove();
|
|
44
|
-
}
|
|
45
|
-
document.querySelectorAll('style').forEach((styleEl) => {
|
|
46
|
-
if (styleEl.textContent?.includes('payaza-loading-spinner')) {
|
|
47
|
-
styleEl.remove();
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
document.querySelectorAll('div').forEach((div) => {
|
|
51
|
-
if (div.innerHTML.includes('payaza-loading-spinner')) {
|
|
52
|
-
div.remove();
|
|
53
|
-
}
|
|
54
|
-
});
|
|
32
|
+
teardownPayazaCheckoutDom();
|
|
55
33
|
};
|
|
34
|
+
const shouldTeardownOnError = (message) => message.includes('failed to load') ||
|
|
35
|
+
message.includes('popup may not have opened') ||
|
|
36
|
+
message.includes('Failed to open payment popup') ||
|
|
37
|
+
message.includes('Failed to initialize checkout');
|
|
56
38
|
const setLoadingTimeout = () => {
|
|
57
39
|
timeoutRef.current = setTimeout(() => {
|
|
58
40
|
if (!callbackFired && mountedRef.current) {
|
|
@@ -87,12 +69,16 @@ export function usePayazaCheckout({ publicKey = '', onSuccess, onError, onClose
|
|
|
87
69
|
clearLoadingWithTimeout();
|
|
88
70
|
setIsLoading(false);
|
|
89
71
|
setError(errorMessage);
|
|
72
|
+
if (shouldTeardownOnError(errorMessage)) {
|
|
73
|
+
removePayazaOverlay();
|
|
74
|
+
}
|
|
90
75
|
onError?.(errorMessage);
|
|
91
76
|
},
|
|
92
77
|
onClose: () => {
|
|
93
78
|
callbackFired = true;
|
|
94
79
|
clearLoadingWithTimeout();
|
|
95
80
|
setIsLoading(false);
|
|
81
|
+
removePayazaOverlay();
|
|
96
82
|
onClose?.();
|
|
97
83
|
},
|
|
98
84
|
});
|
|
@@ -121,6 +107,7 @@ export function usePayazaCheckout({ publicKey = '', onSuccess, onError, onClose
|
|
|
121
107
|
const errorMessage = err instanceof Error ? err.message : 'An unexpected error occurred';
|
|
122
108
|
setIsLoading(false);
|
|
123
109
|
setError(errorMessage);
|
|
110
|
+
removePayazaOverlay();
|
|
124
111
|
onError?.(errorMessage);
|
|
125
112
|
}
|
|
126
113
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckoutPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/shared/pages/CheckoutPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA8BhD,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAUD,wBAAgB,YAAY,CAAC,EAAE,WAAW,EAAE,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"CheckoutPage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/shared/pages/CheckoutPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA8BhD,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAUD,wBAAgB,YAAY,CAAC,EAAE,WAAW,EAAE,EAAE,iBAAiB,2CAssD9D"}
|
|
@@ -235,8 +235,6 @@ export function CheckoutPage({ storeConfig }) {
|
|
|
235
235
|
setLoading(false);
|
|
236
236
|
},
|
|
237
237
|
onClose: () => {
|
|
238
|
-
// onClose is only called when payment was not successful (user canceled)
|
|
239
|
-
// This is now handled correctly by payaza-checkout.ts tracking payment success state
|
|
240
238
|
addToast('Payment canceled', 'info');
|
|
241
239
|
setLoading(false);
|
|
242
240
|
},
|
|
@@ -88,6 +88,12 @@ export declare function getCurrencyFromItems(items: Array<{
|
|
|
88
88
|
currency?: string;
|
|
89
89
|
};
|
|
90
90
|
}>, fallbackCurrency?: string): string;
|
|
91
|
+
/**
|
|
92
|
+
* Remove all Payaza SDK DOM nodes (loader overlay + invisible iframe).
|
|
93
|
+
* The SDK appends a fullscreen fixed iframe at max z-index; if checkout never
|
|
94
|
+
* loads, only the spinner is removed and the invisible iframe blocks all clicks.
|
|
95
|
+
*/
|
|
96
|
+
export declare function teardownPayazaCheckoutDom(): void;
|
|
91
97
|
/**
|
|
92
98
|
* Initialize Payaza checkout using SDK
|
|
93
99
|
* Uses setup() function from payaza-web-sdk npm package as per official documentation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payaza-checkout.d.ts","sourceRoot":"","sources":["../../src/lib/payaza-checkout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,yIAAyI;IACzI,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,wBAAwB,EAAE,MAAM,CAAC;IACjC,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACtC;
|
|
1
|
+
{"version":3,"file":"payaza-checkout.d.ts","sourceRoot":"","sources":["../../src/lib/payaza-checkout.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,6 +78,31 @@ export function getCurrencyFromItems(items, fallbackCurrency) {
|
|
|
78
78
|
const mostCommonCurrency = Object.entries(currencyCounts).reduce((a, b) => currencyCounts[a[0]] > currencyCounts[b[0]] ? a : b)[0];
|
|
79
79
|
return mostCommonCurrency;
|
|
80
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Remove all Payaza SDK DOM nodes (loader overlay + invisible iframe).
|
|
83
|
+
* The SDK appends a fullscreen fixed iframe at max z-index; if checkout never
|
|
84
|
+
* loads, only the spinner is removed and the invisible iframe blocks all clicks.
|
|
85
|
+
*/
|
|
86
|
+
export function teardownPayazaCheckoutDom() {
|
|
87
|
+
if (typeof document === 'undefined' || !document.body)
|
|
88
|
+
return;
|
|
89
|
+
document.querySelectorAll('style').forEach((styleEl) => {
|
|
90
|
+
if (styleEl.textContent?.includes('payaza-loading-spinner')) {
|
|
91
|
+
styleEl.remove();
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
document.querySelectorAll('div').forEach((div) => {
|
|
95
|
+
if (div.innerHTML.includes('payaza-loading-spinner')) {
|
|
96
|
+
div.remove();
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
document.querySelectorAll('iframe[src*="payaza.africa"], iframe[src*="shopaza.africa"]').forEach((iframe) => {
|
|
100
|
+
iframe.remove();
|
|
101
|
+
});
|
|
102
|
+
if (document.body.style.overflow === 'hidden') {
|
|
103
|
+
document.body.style.overflow = '';
|
|
104
|
+
}
|
|
105
|
+
}
|
|
81
106
|
/**
|
|
82
107
|
* Initialize Payaza checkout using SDK
|
|
83
108
|
* Uses setup() function from payaza-web-sdk npm package as per official documentation
|
|
@@ -198,18 +223,7 @@ export const initiatePayazaCheckout = async (config) => {
|
|
|
198
223
|
let loaderTimeoutId = null;
|
|
199
224
|
let checkoutLoadedFired = false;
|
|
200
225
|
const removePayazaLoaderDom = () => {
|
|
201
|
-
|
|
202
|
-
return;
|
|
203
|
-
document.querySelectorAll('style').forEach((styleEl) => {
|
|
204
|
-
if (styleEl.textContent?.includes('payaza-loading-spinner')) {
|
|
205
|
-
styleEl.remove();
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
document.querySelectorAll('div').forEach((div) => {
|
|
209
|
-
if (div.innerHTML.includes('payaza-loading-spinner')) {
|
|
210
|
-
div.remove();
|
|
211
|
-
}
|
|
212
|
-
});
|
|
226
|
+
teardownPayazaCheckoutDom();
|
|
213
227
|
};
|
|
214
228
|
const clearLoaderTimeout = () => {
|
|
215
229
|
if (loaderTimeoutId) {
|
|
@@ -407,14 +421,20 @@ export const initiatePayazaCheckout = async (config) => {
|
|
|
407
421
|
}, PAYAZA_CLOSE_CHECK_MS);
|
|
408
422
|
closeCheckIntervalId = checkLoadedAndClose;
|
|
409
423
|
loaderTimeoutId = setTimeout(() => {
|
|
410
|
-
if (closeHandled)
|
|
424
|
+
if (closeHandled || checkoutLoadedFired)
|
|
411
425
|
return;
|
|
412
|
-
|
|
426
|
+
const loaderStillVisible = hasPayazaLoaderInDom();
|
|
427
|
+
const iframePresent = Boolean(typeof document !== 'undefined' &&
|
|
428
|
+
document.querySelector('iframe[src*="payaza.africa"], iframe[src*="shopaza.africa"]'));
|
|
429
|
+
if (!loaderStillVisible && !iframePresent)
|
|
413
430
|
return;
|
|
414
431
|
console.error('[Payaza] Loader timeout: checkout overlay did not clear');
|
|
415
|
-
|
|
432
|
+
teardownPayazaCheckoutDom();
|
|
433
|
+
closeHandled = true;
|
|
416
434
|
clearCloseCheckInterval();
|
|
417
435
|
clearLoaderTimeout();
|
|
436
|
+
checkoutLoadedFired = true;
|
|
437
|
+
config.onCheckoutLoaded?.();
|
|
418
438
|
if (config.onError) {
|
|
419
439
|
config.onError('Payment window failed to load. This may be caused by browser security settings or a blocked connection to Payaza. Please try again.');
|
|
420
440
|
}
|
package/dist/styles/index.css
CHANGED