@tagadapay/headless-sdk 1.3.2 → 1.5.0
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/README.md +84 -7
- package/dist/core/client.d.ts +6 -0
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +6 -0
- package/dist/core/client.js.map +1 -1
- package/dist/core/http.js +2 -2
- package/dist/core/http.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/modules/checkout.d.ts +113 -12
- package/dist/core/modules/checkout.d.ts.map +1 -1
- package/dist/core/modules/checkout.js +201 -55
- package/dist/core/modules/checkout.js.map +1 -1
- package/dist/core/modules/payment.d.ts +120 -4
- package/dist/core/modules/payment.d.ts.map +1 -1
- package/dist/core/modules/payment.js +336 -7
- package/dist/core/modules/payment.js.map +1 -1
- package/dist/core/types.d.ts +112 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/react/hooks/useCheckout.d.ts.map +1 -1
- package/dist/react/hooks/useCheckout.js +9 -15
- package/dist/react/hooks/useCheckout.js.map +1 -1
- package/dist/react/hooks/usePayment.d.ts +58 -13
- package/dist/react/hooks/usePayment.d.ts.map +1 -1
- package/dist/react/hooks/usePayment.js +124 -11
- package/dist/react/hooks/usePayment.js.map +1 -1
- package/dist/react/index.d.ts +2 -2
- package/dist/react/index.d.ts.map +1 -1
- package/dist/stripe/StripeExpressButton.d.ts +30 -0
- package/dist/stripe/StripeExpressButton.d.ts.map +1 -0
- package/dist/stripe/StripeExpressButton.js +32 -0
- package/dist/stripe/StripeExpressButton.js.map +1 -0
- package/dist/stripe/StripeExpressCheckout.d.ts +98 -0
- package/dist/stripe/StripeExpressCheckout.d.ts.map +1 -0
- package/dist/stripe/StripeExpressCheckout.js +198 -0
- package/dist/stripe/StripeExpressCheckout.js.map +1 -0
- package/dist/stripe/index.d.ts +8 -0
- package/dist/stripe/index.d.ts.map +1 -0
- package/dist/stripe/index.js +15 -0
- package/dist/stripe/index.js.map +1 -0
- package/dist/stripe/useStripeExpress.d.ts +54 -0
- package/dist/stripe/useStripeExpress.d.ts.map +1 -0
- package/dist/stripe/useStripeExpress.js +126 -0
- package/dist/stripe/useStripeExpress.js.map +1 -0
- package/dist/tagada-headless-react.min.js +2 -2
- package/dist/tagada-headless-react.min.js.map +3 -3
- package/dist/tagada-headless.js +483 -66
- package/dist/tagada-headless.min.js +2 -2
- package/dist/tagada-headless.min.js.map +3 -3
- package/package.json +9 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckout.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useCheckout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE9G,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,oEAAoE;IACpE,aAAa,EAAE,CAAC,IAAI,EAAE;QACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,0BAA0B;IAC1B,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,2CAA2C;IAC3C,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,qCAAqC;IACrC,aAAa,EAAE,CAAC,SAAS,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrG,0BAA0B;IAC1B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,qCAAqC;IACrC,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,4BAA4B;IAC5B,gBAAgB,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAChD,8BAA8B;IAC9B,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACxC,YAAY,CAAC,EAAE,MAAM,GACpB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"useCheckout.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useCheckout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE9G,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,oEAAoE;IACpE,aAAa,EAAE,CAAC,IAAI,EAAE;QACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,0BAA0B;IAC1B,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,2CAA2C;IAC3C,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,qCAAqC;IACrC,aAAa,EAAE,CAAC,SAAS,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrG,0BAA0B;IAC1B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,qCAAqC;IACrC,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,4BAA4B;IAC5B,gBAAgB,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAChD,8BAA8B;IAC9B,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACxC,YAAY,CAAC,EAAE,MAAM,GACpB,iBAAiB,CAuInB"}
|
|
@@ -57,24 +57,18 @@ export function useCheckout(checkoutToken, sessionToken) {
|
|
|
57
57
|
const updateCart = useCallback(async (items) => {
|
|
58
58
|
if (!session)
|
|
59
59
|
return;
|
|
60
|
-
|
|
61
|
-
setSession
|
|
62
|
-
|
|
60
|
+
// `updateCart` returns mutation stats (counts), not a CheckoutSession.
|
|
61
|
+
// We previously assigned that result into `setSession`, which silently
|
|
62
|
+
// replaced the session with `{ success, updated, created, total }`.
|
|
63
|
+
// Mirror the same pattern as `updateAddress`: mutate, then reload.
|
|
64
|
+
await client.checkout.updateCart(session.id, items);
|
|
65
|
+
await loadSession();
|
|
66
|
+
}, [client, session, loadSession]);
|
|
63
67
|
const updateCustomer = useCallback(async (customer) => {
|
|
64
68
|
if (!session)
|
|
65
69
|
return;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
await client.checkout.updateCustomer(session.id, customer);
|
|
69
|
-
await loadSession();
|
|
70
|
-
}
|
|
71
|
-
catch (err) {
|
|
72
|
-
setError(err instanceof Error ? err : new Error(String(err)));
|
|
73
|
-
}
|
|
74
|
-
finally {
|
|
75
|
-
setIsLoading(false);
|
|
76
|
-
}
|
|
77
|
-
}, [client, session, loadSession]);
|
|
70
|
+
await client.checkout.updateCustomer(session.id, customer);
|
|
71
|
+
}, [client, session]);
|
|
78
72
|
const updateAddress = useCallback(async (addresses) => {
|
|
79
73
|
if (!session)
|
|
80
74
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckout.js","sourceRoot":"","sources":["../../../src/react/hooks/useCheckout.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useCheckout.js","sourceRoot":"","sources":["../../../src/react/hooks/useCheckout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,25 @@
|
|
|
1
|
-
import type { PaymentSetupConfig, ExpressMethods, StoreConfig, PayResult, PayOptions, PaymentStatus } from '../../core/types.js';
|
|
1
|
+
import type { PaymentSetupConfig, ExpressMethods, StoreConfig, PayResult, PayOptions, PaymentStatus, ProcessPaymentOptions, ProcessPaymentResult } from '../../core/types.js';
|
|
2
|
+
export interface UsePaymentOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Called when a payment succeeds (including after 3DS redirect return).
|
|
5
|
+
* Use this to navigate to a confirmation page.
|
|
6
|
+
*/
|
|
7
|
+
onPaymentSuccess?: (result: ProcessPaymentResult & {
|
|
8
|
+
status: 'succeeded';
|
|
9
|
+
}) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Called when a payment fails (including after redirect return).
|
|
12
|
+
*/
|
|
13
|
+
onPaymentFailed?: (result: ProcessPaymentResult & {
|
|
14
|
+
status: 'failed';
|
|
15
|
+
}) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Explicit paymentSetupConfig override.
|
|
18
|
+
* When provided, the SDK skips both __TGD_STEP_CONFIG__ detection and the API call.
|
|
19
|
+
* Useful when a developer fetches the config from their own backend.
|
|
20
|
+
*/
|
|
21
|
+
paymentSetupConfig?: PaymentSetupConfig;
|
|
22
|
+
}
|
|
2
23
|
export interface UsePaymentReturn {
|
|
3
24
|
/** Full payment setup config (all methods with their enabled/disabled state). */
|
|
4
25
|
paymentSetup: PaymentSetupConfig | null;
|
|
@@ -6,17 +27,36 @@ export interface UsePaymentReturn {
|
|
|
6
27
|
expressMethods: ExpressMethods | null;
|
|
7
28
|
/** Store-level config (3DS flags, etc.). */
|
|
8
29
|
storeConfig: StoreConfig | null;
|
|
9
|
-
/** Whether a payment is currently being processed. */
|
|
30
|
+
/** Whether a payment is currently being processed (including polling after redirect). */
|
|
10
31
|
isProcessing: boolean;
|
|
11
32
|
/** Last payment result. */
|
|
12
33
|
result: PayResult | null;
|
|
13
34
|
/** Last error. */
|
|
14
35
|
error: Error | null;
|
|
15
|
-
/**
|
|
16
|
-
|
|
17
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Load payment setup for a checkout session. Call this once when the session is ready.
|
|
38
|
+
* Optionally pass `paymentSetupConfig` to override auto-detection.
|
|
39
|
+
*/
|
|
40
|
+
loadPaymentSetup: (checkoutSessionId: string, opts?: {
|
|
41
|
+
paymentSetupConfig?: PaymentSetupConfig;
|
|
42
|
+
}) => Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* **Recommended**. Tokenize + pay + handle 3DS/redirects + poll — all in one call.
|
|
45
|
+
*
|
|
46
|
+
* - If the payment succeeds immediately, resolves with `{ status: 'succeeded' }`.
|
|
47
|
+
* - If 3DS redirect is needed, automatically redirects the browser.
|
|
48
|
+
* When the user comes back, the hook auto-detects the return and polls.
|
|
49
|
+
* - If the payment fails, resolves with `{ status: 'failed', error: '...' }`.
|
|
50
|
+
*/
|
|
51
|
+
processPayment: (opts: ProcessPaymentOptions) => Promise<ProcessPaymentResult>;
|
|
52
|
+
/** Low-level pay (returns raw API response, no automatic action handling). */
|
|
18
53
|
pay: (opts: PayOptions) => Promise<PayResult>;
|
|
19
|
-
/**
|
|
54
|
+
/**
|
|
55
|
+
* Tokenize a card (returns tagadaToken). Requires @tagadapay/core-js.
|
|
56
|
+
*
|
|
57
|
+
* PCI note: card data passes through your JS environment.
|
|
58
|
+
* You are responsible for PCI DSS SAQ-A-EP compliance.
|
|
59
|
+
*/
|
|
20
60
|
tokenizeCard: (card: {
|
|
21
61
|
cardNumber: string;
|
|
22
62
|
expiryDate: string;
|
|
@@ -48,16 +88,21 @@ export interface UsePaymentReturn {
|
|
|
48
88
|
/**
|
|
49
89
|
* React hook for payment processing.
|
|
50
90
|
*
|
|
91
|
+
* Handles the full payment lifecycle including 3DS redirects and return-URL detection.
|
|
92
|
+
*
|
|
51
93
|
* @example
|
|
52
94
|
* ```tsx
|
|
53
|
-
* const {
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
95
|
+
* const { processPayment, isProcessing, error } = usePayment({
|
|
96
|
+
* onPaymentSuccess: (result) => router.push('/confirmation'),
|
|
97
|
+
* onPaymentFailed: (result) => toast.error(result.error),
|
|
98
|
+
* });
|
|
57
99
|
*
|
|
58
|
-
* // On submit
|
|
59
|
-
* const result = await
|
|
100
|
+
* // On submit — one function handles everything
|
|
101
|
+
* const result = await processPayment({
|
|
102
|
+
* checkoutSessionId: session.id,
|
|
103
|
+
* tagadaToken,
|
|
104
|
+
* });
|
|
60
105
|
* ```
|
|
61
106
|
*/
|
|
62
|
-
export declare function usePayment(): UsePaymentReturn;
|
|
107
|
+
export declare function usePayment(options?: UsePaymentOptions): UsePaymentReturn;
|
|
63
108
|
//# sourceMappingURL=usePayment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePayment.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/usePayment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,SAAS,EACT,UAAU,EACV,aAAa,
|
|
1
|
+
{"version":3,"file":"usePayment.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/usePayment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,SAAS,EACT,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAM7B,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,GAAG;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,CAAC;IACpF;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,GAAG;QAAE,MAAM,EAAE,QAAQ,CAAA;KAAE,KAAK,IAAI,CAAC;IAChF;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACxC,+EAA+E;IAC/E,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,4CAA4C;IAC5C,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;IACtB,2BAA2B;IAC3B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,kBAAkB;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB;;;OAGG;IACH,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnH;;;;;;;OAOG;IACH,cAAc,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE/E,8EAA8E;IAC9E,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C;;;;;OAKG;IACH,YAAY,EAAE,CAAC,IAAI,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,KAAK,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IAC1E,yBAAyB;IACzB,eAAe,EAAE,CAAC,IAAI,EAAE;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,OAAO,CAAC;KACxB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACzB,0BAA0B;IAC1B,gBAAgB,EAAE,CAAC,IAAI,EAAE;QACvB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACzB,wDAAwD;IACxD,UAAU,EAAE,CAAC,IAAI,EAAE;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACzB,4CAA4C;IAC5C,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAiPxE"}
|
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
import { useState, useCallback, useRef } from 'react';
|
|
1
|
+
import { useState, useCallback, useRef, useEffect } from 'react';
|
|
2
2
|
import { useHeadlessClient } from '../provider.js';
|
|
3
3
|
/**
|
|
4
4
|
* React hook for payment processing.
|
|
5
5
|
*
|
|
6
|
+
* Handles the full payment lifecycle including 3DS redirects and return-URL detection.
|
|
7
|
+
*
|
|
6
8
|
* @example
|
|
7
9
|
* ```tsx
|
|
8
|
-
* const {
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
10
|
+
* const { processPayment, isProcessing, error } = usePayment({
|
|
11
|
+
* onPaymentSuccess: (result) => router.push('/confirmation'),
|
|
12
|
+
* onPaymentFailed: (result) => toast.error(result.error),
|
|
13
|
+
* });
|
|
12
14
|
*
|
|
13
|
-
* // On submit
|
|
14
|
-
* const result = await
|
|
15
|
+
* // On submit — one function handles everything
|
|
16
|
+
* const result = await processPayment({
|
|
17
|
+
* checkoutSessionId: session.id,
|
|
18
|
+
* tagadaToken,
|
|
19
|
+
* });
|
|
15
20
|
* ```
|
|
16
21
|
*/
|
|
17
|
-
export function usePayment() {
|
|
22
|
+
export function usePayment(options) {
|
|
18
23
|
const client = useHeadlessClient();
|
|
19
24
|
const [paymentSetup, setPaymentSetup] = useState(null);
|
|
20
25
|
const [expressMethods, setExpressMethods] = useState(null);
|
|
@@ -23,14 +28,70 @@ export function usePayment() {
|
|
|
23
28
|
const [result, setResult] = useState(null);
|
|
24
29
|
const [error, setError] = useState(null);
|
|
25
30
|
const loadedRef = useRef(false);
|
|
26
|
-
const
|
|
31
|
+
const redirectReturnProcessedRef = useRef(false);
|
|
32
|
+
const optionsRef = useRef(options);
|
|
33
|
+
optionsRef.current = options;
|
|
34
|
+
// ---------------------------------------------------------------------------
|
|
35
|
+
// Return-URL detection: auto-resume after 3DS / processor redirect
|
|
36
|
+
// ---------------------------------------------------------------------------
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (typeof window === 'undefined')
|
|
39
|
+
return;
|
|
40
|
+
if (redirectReturnProcessedRef.current)
|
|
41
|
+
return;
|
|
42
|
+
const params = new URLSearchParams(window.location.search);
|
|
43
|
+
const paymentAction = params.get('paymentAction');
|
|
44
|
+
const paymentActionStatus = params.get('paymentActionStatus');
|
|
45
|
+
const paymentId = params.get('paymentId');
|
|
46
|
+
if (paymentAction !== 'requireAction' || paymentActionStatus !== 'completed' || !paymentId) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
redirectReturnProcessedRef.current = true;
|
|
50
|
+
setIsProcessing(true);
|
|
51
|
+
setError(null);
|
|
52
|
+
const resume = async () => {
|
|
53
|
+
try {
|
|
54
|
+
const resumeResult = await client.payment.resumeAfterRedirect(paymentId);
|
|
55
|
+
// Clean payment-related query params from URL
|
|
56
|
+
const cleanParams = new URLSearchParams(window.location.search);
|
|
57
|
+
['paymentAction', 'paymentActionStatus', 'paymentId', 'payment_intent', 'payment_intent_client_secret', 'source_type', 'redirect_status'].forEach((p) => cleanParams.delete(p));
|
|
58
|
+
const newUrl = cleanParams.toString()
|
|
59
|
+
? `${window.location.pathname}?${cleanParams.toString()}`
|
|
60
|
+
: window.location.pathname;
|
|
61
|
+
window.history.replaceState({}, document.title, newUrl);
|
|
62
|
+
if (resumeResult.status === 'succeeded') {
|
|
63
|
+
optionsRef.current?.onPaymentSuccess?.(resumeResult);
|
|
64
|
+
}
|
|
65
|
+
else if (resumeResult.status === 'failed') {
|
|
66
|
+
setError(new Error(resumeResult.error));
|
|
67
|
+
optionsRef.current?.onPaymentFailed?.(resumeResult);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
setError(err instanceof Error ? err : new Error(String(err)));
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
setIsProcessing(false);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
void resume();
|
|
78
|
+
}, [client]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
79
|
+
// ---------------------------------------------------------------------------
|
|
80
|
+
// Load payment setup
|
|
81
|
+
// ---------------------------------------------------------------------------
|
|
82
|
+
const loadPaymentSetup = useCallback(async (checkoutSessionId, opts) => {
|
|
27
83
|
if (loadedRef.current)
|
|
28
84
|
return;
|
|
29
85
|
loadedRef.current = true;
|
|
86
|
+
const setupOpts = opts?.paymentSetupConfig
|
|
87
|
+
? { paymentSetupConfig: opts.paymentSetupConfig }
|
|
88
|
+
: optionsRef.current?.paymentSetupConfig
|
|
89
|
+
? { paymentSetupConfig: optionsRef.current.paymentSetupConfig }
|
|
90
|
+
: undefined;
|
|
30
91
|
try {
|
|
31
92
|
const [setup, express, config] = await Promise.all([
|
|
32
|
-
client.payment.getPaymentSetup(checkoutSessionId),
|
|
33
|
-
client.payment.getExpressMethods(checkoutSessionId),
|
|
93
|
+
client.payment.getPaymentSetup(checkoutSessionId, setupOpts),
|
|
94
|
+
client.payment.getExpressMethods(checkoutSessionId, setupOpts),
|
|
34
95
|
client.payment.getStoreConfig(),
|
|
35
96
|
]);
|
|
36
97
|
setPaymentSetup(setup);
|
|
@@ -42,6 +103,57 @@ export function usePayment() {
|
|
|
42
103
|
setError(err instanceof Error ? err : new Error(String(err)));
|
|
43
104
|
}
|
|
44
105
|
}, [client]);
|
|
106
|
+
// ---------------------------------------------------------------------------
|
|
107
|
+
// processPayment — high-level, handles everything
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
const processPayment = useCallback(async (opts) => {
|
|
110
|
+
setIsProcessing(true);
|
|
111
|
+
setError(null);
|
|
112
|
+
try {
|
|
113
|
+
const payResult = await client.payment.processPayment(opts);
|
|
114
|
+
if (payResult.status === 'requires_redirect') {
|
|
115
|
+
// Browser redirect — the hook will resume on return via the useEffect above
|
|
116
|
+
if (payResult.method === 'POST' && payResult.postData) {
|
|
117
|
+
const form = document.createElement('form');
|
|
118
|
+
form.method = 'POST';
|
|
119
|
+
form.action = payResult.redirectUrl;
|
|
120
|
+
for (const [key, value] of Object.entries(payResult.postData)) {
|
|
121
|
+
const input = document.createElement('input');
|
|
122
|
+
input.type = 'hidden';
|
|
123
|
+
input.name = key;
|
|
124
|
+
input.value = value;
|
|
125
|
+
form.appendChild(input);
|
|
126
|
+
}
|
|
127
|
+
document.body.appendChild(form);
|
|
128
|
+
form.submit();
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
window.location.href = payResult.redirectUrl;
|
|
132
|
+
}
|
|
133
|
+
// Don't setIsProcessing(false) — page is navigating away
|
|
134
|
+
return payResult;
|
|
135
|
+
}
|
|
136
|
+
if (payResult.status === 'succeeded') {
|
|
137
|
+
optionsRef.current?.onPaymentSuccess?.(payResult);
|
|
138
|
+
}
|
|
139
|
+
else if (payResult.status === 'failed') {
|
|
140
|
+
setError(new Error(payResult.error));
|
|
141
|
+
optionsRef.current?.onPaymentFailed?.(payResult);
|
|
142
|
+
}
|
|
143
|
+
return payResult;
|
|
144
|
+
}
|
|
145
|
+
catch (err) {
|
|
146
|
+
const e = err instanceof Error ? err : new Error(String(err));
|
|
147
|
+
setError(e);
|
|
148
|
+
return { status: 'failed', error: e.message };
|
|
149
|
+
}
|
|
150
|
+
finally {
|
|
151
|
+
setIsProcessing(false);
|
|
152
|
+
}
|
|
153
|
+
}, [client]);
|
|
154
|
+
// ---------------------------------------------------------------------------
|
|
155
|
+
// Low-level pay (raw API, no action handling)
|
|
156
|
+
// ---------------------------------------------------------------------------
|
|
45
157
|
const wrapAsync = useCallback((fn) => async () => {
|
|
46
158
|
setIsProcessing(true);
|
|
47
159
|
setError(null);
|
|
@@ -103,6 +215,7 @@ export function usePayment() {
|
|
|
103
215
|
result,
|
|
104
216
|
error,
|
|
105
217
|
loadPaymentSetup,
|
|
218
|
+
processPayment,
|
|
106
219
|
pay,
|
|
107
220
|
tokenizeCard,
|
|
108
221
|
processApplePay,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePayment.js","sourceRoot":"","sources":["../../../src/react/hooks/usePayment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"usePayment.js","sourceRoot":"","sources":["../../../src/react/hooks/usePayment.ts"],"names":[],"mappings":"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"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export type { TagadaHeadlessProviderProps } from './provider.js';
|
|
|
3
3
|
export { useCheckout } from './hooks/useCheckout.js';
|
|
4
4
|
export type { UseCheckoutReturn } from './hooks/useCheckout.js';
|
|
5
5
|
export { usePayment } from './hooks/usePayment.js';
|
|
6
|
-
export type { UsePaymentReturn } from './hooks/usePayment.js';
|
|
6
|
+
export type { UsePaymentReturn, UsePaymentOptions } from './hooks/usePayment.js';
|
|
7
7
|
export { useOffers } from './hooks/useOffers.js';
|
|
8
8
|
export type { UseOffersReturn } from './hooks/useOffers.js';
|
|
9
9
|
export { useCustomer } from './hooks/useCustomer.js';
|
|
@@ -16,5 +16,5 @@ export { useISOData, useCountryOptions, useRegionOptions } from './hooks/useISOD
|
|
|
16
16
|
export type { UseISODataReturn } from './hooks/useISOData.js';
|
|
17
17
|
export type { GooglePrediction, GooglePlaceDetails, ExtractedAddress, FormattedAddress, SupportedLanguage, ISOCountry, ISORegion, Currency, } from '../core/helpers/index.js';
|
|
18
18
|
export { formatMoney, CurrencyUtils, ISODataCore, GoogleAutocompleteCore, loadGoogleMapsScript } from '../core/helpers/index.js';
|
|
19
|
-
export type { HeadlessConfig, Environment, CheckoutSession, CheckoutLineItem, CheckoutTotals, CheckoutCustomer, Address, ShippingRate, LineItem, PaymentSetupConfig, PaymentMethodConfig, ExpressMethods, ExpressMethod, StoreConfig, PayResult, PayOptions, PaymentStatus, Offer, OfferLineItem, OfferPreview, OfferPreviewItem, OfferPayResult, Customer, Order, Subscription, CatalogProduct, CatalogVariant, CatalogPrice, CurrencyOption, } from '../core/types.js';
|
|
19
|
+
export type { HeadlessConfig, Environment, CheckoutSession, CheckoutLineItem, CheckoutTotals, CheckoutCustomer, Address, ShippingRate, LineItem, PaymentSetupConfig, PaymentMethodConfig, ExpressMethods, ExpressMethod, StoreConfig, PayResult, PayOptions, PaymentStatus, ProcessPaymentOptions, ProcessPaymentResult, Offer, OfferLineItem, OfferPreview, OfferPreviewItem, OfferPayResult, Customer, Order, Subscription, CatalogProduct, CatalogVariant, CatalogPrice, CurrencyOption, StripeExpressOptions, } from '../core/types.js';
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC1E,YAAY,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC1E,YAAY,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,YAAY,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAElH,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACxF,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEjI,YAAY,EACV,cAAc,EACd,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,WAAW,EACX,SAAS,EACT,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,EACL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,oBAAoB,GACrB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { UseStripeExpressOptions } from './useStripeExpress.js';
|
|
3
|
+
export type StripeExpressButtonProps = UseStripeExpressOptions & {
|
|
4
|
+
/** CSS class for the wrapper div. */
|
|
5
|
+
className?: string;
|
|
6
|
+
/** Inline style for the wrapper div. */
|
|
7
|
+
style?: React.CSSProperties;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Drop-in React component that renders Stripe Express Checkout buttons
|
|
11
|
+
* (Apple Pay, Google Pay, Link, etc.).
|
|
12
|
+
*
|
|
13
|
+
* Internally uses `useStripeExpress` which handles the full flow:
|
|
14
|
+
* discover config -> load Stripe -> mount ECE -> confirm -> poll -> callbacks.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* import { StripeExpressButton } from '@tagadapay/headless-sdk/stripe';
|
|
19
|
+
*
|
|
20
|
+
* <StripeExpressButton
|
|
21
|
+
* checkoutSessionId={session.id}
|
|
22
|
+
* amount={totals.total}
|
|
23
|
+
* currency={totals.currency}
|
|
24
|
+
* onSuccess={() => router.push('/confirmation')}
|
|
25
|
+
* onError={(msg) => toast.error(msg)}
|
|
26
|
+
* />
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function StripeExpressButton({ className, style, ...hookOpts }: StripeExpressButtonProps): import("react/jsx-runtime.js").JSX.Element;
|
|
30
|
+
//# sourceMappingURL=StripeExpressButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StripeExpressButton.d.ts","sourceRoot":"","sources":["../../src/stripe/StripeExpressButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,GAAG;IAC/D,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,KAAK,EACL,GAAG,QAAQ,EACZ,EAAE,wBAAwB,8CAe1B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useStripeExpress } from './useStripeExpress.js';
|
|
3
|
+
/**
|
|
4
|
+
* Drop-in React component that renders Stripe Express Checkout buttons
|
|
5
|
+
* (Apple Pay, Google Pay, Link, etc.).
|
|
6
|
+
*
|
|
7
|
+
* Internally uses `useStripeExpress` which handles the full flow:
|
|
8
|
+
* discover config -> load Stripe -> mount ECE -> confirm -> poll -> callbacks.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* import { StripeExpressButton } from '@tagadapay/headless-sdk/stripe';
|
|
13
|
+
*
|
|
14
|
+
* <StripeExpressButton
|
|
15
|
+
* checkoutSessionId={session.id}
|
|
16
|
+
* amount={totals.total}
|
|
17
|
+
* currency={totals.currency}
|
|
18
|
+
* onSuccess={() => router.push('/confirmation')}
|
|
19
|
+
* onError={(msg) => toast.error(msg)}
|
|
20
|
+
* />
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export function StripeExpressButton({ className, style, ...hookOpts }) {
|
|
24
|
+
const { containerRef, isReady } = useStripeExpress(hookOpts);
|
|
25
|
+
return (_jsx("div", { ref: containerRef, className: className, style: {
|
|
26
|
+
visibility: isReady ? 'visible' : 'hidden',
|
|
27
|
+
minHeight: isReady ? undefined : 0,
|
|
28
|
+
overflow: isReady ? undefined : 'hidden',
|
|
29
|
+
...style,
|
|
30
|
+
} }));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=StripeExpressButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StripeExpressButton.js","sourceRoot":"","sources":["../../src/stripe/StripeExpressButton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAUzD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,SAAS,EACT,KAAK,EACL,GAAG,QAAQ,EACc;IACzB,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE7D,OAAO,CACL,cACE,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YAC1C,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YACxC,GAAG,KAAK;SACT,GACD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { HeadlessClient } from '../core/client.js';
|
|
2
|
+
import type { StripeExpressOptions, PaymentStatus } from '../core/types.js';
|
|
3
|
+
type EventMap = {
|
|
4
|
+
ready: {
|
|
5
|
+
availablePaymentMethods: Record<string, boolean> | undefined;
|
|
6
|
+
};
|
|
7
|
+
success: {
|
|
8
|
+
payment: PaymentStatus;
|
|
9
|
+
order?: {
|
|
10
|
+
id: string;
|
|
11
|
+
checkoutSessionId?: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
error: string;
|
|
15
|
+
cancel: void;
|
|
16
|
+
};
|
|
17
|
+
type EventHandler<K extends keyof EventMap> = (data: EventMap[K]) => void;
|
|
18
|
+
/**
|
|
19
|
+
* Session-based Stripe Express Checkout integration.
|
|
20
|
+
*
|
|
21
|
+
* Mounts the Stripe `ExpressCheckoutElement` (Apple Pay, Google Pay, Link,
|
|
22
|
+
* PayPal, Klarna express) into any DOM container, wired to a Tagada
|
|
23
|
+
* checkout session. Drives the full flow:
|
|
24
|
+
* mount → wallet confirm → backend `payDirect` (`processStripeExpress`)
|
|
25
|
+
* → `stripe.confirmPayment` → poll payment status → emit `success`.
|
|
26
|
+
*
|
|
27
|
+
* **Session-free / partner S2S flow?** Use the lower-level primitive
|
|
28
|
+
* `startStripeExpressCheckout` exported from `@tagadapay/core-js`
|
|
29
|
+
* (also re-exported from `@tagadapay/headless-sdk/stripe`). It uses
|
|
30
|
+
* Stripe's older Payment Request API, stops at tokenization, and
|
|
31
|
+
* returns a `paymentMethodId` for partner-server-side processing.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* import { createHeadlessClient } from '@tagadapay/headless-sdk';
|
|
36
|
+
* import { StripeExpressCheckout } from '@tagadapay/headless-sdk/stripe';
|
|
37
|
+
*
|
|
38
|
+
* const client = createHeadlessClient({ storeId: 'store_xxx' });
|
|
39
|
+
* const session = await client.checkout.loadSession(checkoutToken);
|
|
40
|
+
* const express = await client.payment.getExpressMethods(session.id);
|
|
41
|
+
*
|
|
42
|
+
* const ece = new StripeExpressCheckout({
|
|
43
|
+
* client,
|
|
44
|
+
* publishableKey: express.applePay?.publishableKey!,
|
|
45
|
+
* processorId: express.applePay?.processorId!,
|
|
46
|
+
* });
|
|
47
|
+
*
|
|
48
|
+
* ece.on('success', ({ payment }) => console.log('Paid!', payment.id));
|
|
49
|
+
* ece.on('error', (msg) => console.error(msg));
|
|
50
|
+
*
|
|
51
|
+
* await ece.mount(document.getElementById('express-container')!, {
|
|
52
|
+
* checkoutSessionId: session.id,
|
|
53
|
+
* amount: session.totals.total,
|
|
54
|
+
* currency: session.totals.currency,
|
|
55
|
+
* });
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare class StripeExpressCheckout {
|
|
59
|
+
private stripe;
|
|
60
|
+
private elements;
|
|
61
|
+
private expressElement;
|
|
62
|
+
private container;
|
|
63
|
+
private isProcessing;
|
|
64
|
+
private listeners;
|
|
65
|
+
private readonly client;
|
|
66
|
+
private readonly publishableKey;
|
|
67
|
+
private readonly processorId;
|
|
68
|
+
private readonly enabledMethods;
|
|
69
|
+
private readonly buttonHeight;
|
|
70
|
+
private readonly buttonType;
|
|
71
|
+
private readonly emailRequired;
|
|
72
|
+
private readonly billingAddressRequired;
|
|
73
|
+
constructor(opts: {
|
|
74
|
+
client: HeadlessClient;
|
|
75
|
+
} & StripeExpressOptions);
|
|
76
|
+
on<K extends keyof EventMap>(event: K, handler: EventHandler<K>): void;
|
|
77
|
+
off<K extends keyof EventMap>(event: K, handler: EventHandler<K>): void;
|
|
78
|
+
/**
|
|
79
|
+
* Load Stripe.js, create Elements, and mount the ExpressCheckoutElement.
|
|
80
|
+
*/
|
|
81
|
+
mount(container: HTMLElement, opts: {
|
|
82
|
+
checkoutSessionId: string;
|
|
83
|
+
amount: number;
|
|
84
|
+
currency: string;
|
|
85
|
+
}): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Update the payment amount (e.g. after a cart change).
|
|
88
|
+
*/
|
|
89
|
+
updateAmount(amount: number, currency?: string): void;
|
|
90
|
+
/**
|
|
91
|
+
* Clean up: unmount the element and release references.
|
|
92
|
+
*/
|
|
93
|
+
unmount(): void;
|
|
94
|
+
private emit;
|
|
95
|
+
private extractClientSecret;
|
|
96
|
+
}
|
|
97
|
+
export {};
|
|
98
|
+
//# sourceMappingURL=StripeExpressCheckout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StripeExpressCheckout.d.ts","sourceRoot":"","sources":["../../src/stripe/StripeExpressCheckout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAa,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAavF,KAAK,QAAQ,GAAG;IACd,KAAK,EAAE;QAAE,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;KAAE,CAAC;IACxE,OAAO,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,CAAC;CACd,CAAC;AAEF,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,QAAQ,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,cAAc,CAA2C;IACjE,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAwD;IAEzE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAW;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAU;gBAErC,IAAI,EAAE;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,GAAG,oBAAoB;IAWnE,EAAE,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAOtE,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAIvE;;OAEG;IACG,KAAK,CACT,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GACpE,OAAO,CAAC,IAAI,CAAC;IA4GhB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAOrD;;OAEG;IACH,OAAO,IAAI,IAAI;IASf,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,mBAAmB;CAS5B"}
|