@tagadapay/headless-sdk 1.7.0 → 1.8.0-rc.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.
Files changed (129) hide show
  1. package/README.md +1 -216
  2. package/package.json +6 -11
  3. package/dist/core/client.d.ts +0 -61
  4. package/dist/core/client.d.ts.map +0 -1
  5. package/dist/core/client.js +0 -69
  6. package/dist/core/client.js.map +0 -1
  7. package/dist/core/errors.d.ts +0 -46
  8. package/dist/core/errors.d.ts.map +0 -1
  9. package/dist/core/errors.js +0 -57
  10. package/dist/core/errors.js.map +0 -1
  11. package/dist/core/helpers/autocomplete.d.ts +0 -89
  12. package/dist/core/helpers/autocomplete.d.ts.map +0 -1
  13. package/dist/core/helpers/autocomplete.js +0 -186
  14. package/dist/core/helpers/autocomplete.js.map +0 -1
  15. package/dist/core/helpers/countries.d.ts +0 -45
  16. package/dist/core/helpers/countries.d.ts.map +0 -1
  17. package/dist/core/helpers/countries.js +0 -65
  18. package/dist/core/helpers/countries.js.map +0 -1
  19. package/dist/core/helpers/currency.d.ts +0 -26
  20. package/dist/core/helpers/currency.d.ts.map +0 -1
  21. package/dist/core/helpers/currency.js +0 -72
  22. package/dist/core/helpers/currency.js.map +0 -1
  23. package/dist/core/helpers/index.d.ts +0 -5
  24. package/dist/core/helpers/index.d.ts.map +0 -1
  25. package/dist/core/helpers/index.js +0 -5
  26. package/dist/core/helpers/index.js.map +0 -1
  27. package/dist/core/helpers/iso3166.d.ts +0 -28
  28. package/dist/core/helpers/iso3166.d.ts.map +0 -1
  29. package/dist/core/helpers/iso3166.js +0 -84
  30. package/dist/core/helpers/iso3166.js.map +0 -1
  31. package/dist/core/http.d.ts +0 -27
  32. package/dist/core/http.d.ts.map +0 -1
  33. package/dist/core/http.js +0 -116
  34. package/dist/core/http.js.map +0 -1
  35. package/dist/core/index.d.ts +0 -13
  36. package/dist/core/index.d.ts.map +0 -1
  37. package/dist/core/index.js +0 -12
  38. package/dist/core/index.js.map +0 -1
  39. package/dist/core/modules/catalog.d.ts +0 -27
  40. package/dist/core/modules/catalog.d.ts.map +0 -1
  41. package/dist/core/modules/catalog.js +0 -38
  42. package/dist/core/modules/catalog.js.map +0 -1
  43. package/dist/core/modules/checkout.d.ts +0 -262
  44. package/dist/core/modules/checkout.d.ts.map +0 -1
  45. package/dist/core/modules/checkout.js +0 -459
  46. package/dist/core/modules/checkout.js.map +0 -1
  47. package/dist/core/modules/customer.d.ts +0 -33
  48. package/dist/core/modules/customer.d.ts.map +0 -1
  49. package/dist/core/modules/customer.js +0 -53
  50. package/dist/core/modules/customer.js.map +0 -1
  51. package/dist/core/modules/funnel.d.ts +0 -38
  52. package/dist/core/modules/funnel.d.ts.map +0 -1
  53. package/dist/core/modules/funnel.js +0 -138
  54. package/dist/core/modules/funnel.js.map +0 -1
  55. package/dist/core/modules/offers.d.ts +0 -137
  56. package/dist/core/modules/offers.d.ts.map +0 -1
  57. package/dist/core/modules/offers.js +0 -141
  58. package/dist/core/modules/offers.js.map +0 -1
  59. package/dist/core/modules/payment.d.ts +0 -298
  60. package/dist/core/modules/payment.d.ts.map +0 -1
  61. package/dist/core/modules/payment.js +0 -701
  62. package/dist/core/modules/payment.js.map +0 -1
  63. package/dist/core/types.d.ts +0 -505
  64. package/dist/core/types.d.ts.map +0 -1
  65. package/dist/core/types.js +0 -5
  66. package/dist/core/types.js.map +0 -1
  67. package/dist/index.d.ts.map +0 -1
  68. package/dist/index.js.map +0 -1
  69. package/dist/react/hooks/useCatalog.d.ts +0 -25
  70. package/dist/react/hooks/useCatalog.d.ts.map +0 -1
  71. package/dist/react/hooks/useCatalog.js +0 -58
  72. package/dist/react/hooks/useCatalog.js.map +0 -1
  73. package/dist/react/hooks/useCheckout.d.ts +0 -58
  74. package/dist/react/hooks/useCheckout.d.ts.map +0 -1
  75. package/dist/react/hooks/useCheckout.js +0 -168
  76. package/dist/react/hooks/useCheckout.js.map +0 -1
  77. package/dist/react/hooks/useCustomer.d.ts +0 -28
  78. package/dist/react/hooks/useCustomer.d.ts.map +0 -1
  79. package/dist/react/hooks/useCustomer.js +0 -77
  80. package/dist/react/hooks/useCustomer.js.map +0 -1
  81. package/dist/react/hooks/useGoogleAutocomplete.d.ts +0 -26
  82. package/dist/react/hooks/useGoogleAutocomplete.d.ts.map +0 -1
  83. package/dist/react/hooks/useGoogleAutocomplete.js +0 -70
  84. package/dist/react/hooks/useGoogleAutocomplete.js.map +0 -1
  85. package/dist/react/hooks/useISOData.d.ts +0 -23
  86. package/dist/react/hooks/useISOData.d.ts.map +0 -1
  87. package/dist/react/hooks/useISOData.js +0 -63
  88. package/dist/react/hooks/useISOData.js.map +0 -1
  89. package/dist/react/hooks/useOffers.d.ts +0 -134
  90. package/dist/react/hooks/useOffers.d.ts.map +0 -1
  91. package/dist/react/hooks/useOffers.js +0 -171
  92. package/dist/react/hooks/useOffers.js.map +0 -1
  93. package/dist/react/hooks/usePayment.d.ts +0 -108
  94. package/dist/react/hooks/usePayment.d.ts.map +0 -1
  95. package/dist/react/hooks/usePayment.js +0 -233
  96. package/dist/react/hooks/usePayment.js.map +0 -1
  97. package/dist/react/index.d.ts +0 -20
  98. package/dist/react/index.d.ts.map +0 -1
  99. package/dist/react/index.js +0 -11
  100. package/dist/react/index.js.map +0 -1
  101. package/dist/react/internal/redirectGuard.d.ts +0 -9
  102. package/dist/react/internal/redirectGuard.d.ts.map +0 -1
  103. package/dist/react/internal/redirectGuard.js +0 -25
  104. package/dist/react/internal/redirectGuard.js.map +0 -1
  105. package/dist/react/provider.d.ts +0 -31
  106. package/dist/react/provider.d.ts.map +0 -1
  107. package/dist/react/provider.js +0 -32
  108. package/dist/react/provider.js.map +0 -1
  109. package/dist/stripe/StripeExpressButton.d.ts +0 -30
  110. package/dist/stripe/StripeExpressButton.d.ts.map +0 -1
  111. package/dist/stripe/StripeExpressButton.js +0 -32
  112. package/dist/stripe/StripeExpressButton.js.map +0 -1
  113. package/dist/stripe/StripeExpressCheckout.d.ts +0 -98
  114. package/dist/stripe/StripeExpressCheckout.d.ts.map +0 -1
  115. package/dist/stripe/StripeExpressCheckout.js +0 -198
  116. package/dist/stripe/StripeExpressCheckout.js.map +0 -1
  117. package/dist/stripe/index.d.ts +0 -8
  118. package/dist/stripe/index.d.ts.map +0 -1
  119. package/dist/stripe/index.js +0 -15
  120. package/dist/stripe/index.js.map +0 -1
  121. package/dist/stripe/useStripeExpress.d.ts +0 -54
  122. package/dist/stripe/useStripeExpress.d.ts.map +0 -1
  123. package/dist/stripe/useStripeExpress.js +0 -126
  124. package/dist/stripe/useStripeExpress.js.map +0 -1
  125. package/dist/tagada-headless-react.min.js +0 -8
  126. package/dist/tagada-headless-react.min.js.map +0 -7
  127. package/dist/tagada-headless.js +0 -2229
  128. package/dist/tagada-headless.min.js +0 -8
  129. package/dist/tagada-headless.min.js.map +0 -7
@@ -1,298 +0,0 @@
1
- import type { HttpClient } from '../http.js';
2
- import type { Environment, PaymentSetupConfig, ExpressMethods, StoreConfig, PayResult, PayOptions, PayDirectOptions, CreateInstrumentOptions, PaymentInstrument, ThreedsSession, PaymentStatus, ProcessPaymentOptions, ProcessPaymentResult } from '../types.js';
3
- /**
4
- * Full payment lifecycle -- discover APMs, tokenize, create instruments,
5
- * process payments, handle 3DS, and poll for status.
6
- *
7
- * Wraps the same REST endpoints that plugin-sdk uses internally.
8
- *
9
- * @remarks PCI DSS compliance notice
10
- *
11
- * This SDK collects card data (PAN, expiry, CVC) in the merchant's page
12
- * context and sends it directly to Basis Theory for tokenization. Card data
13
- * never reaches TagadaPay servers.
14
- *
15
- * Because card data transits through the merchant's JavaScript environment,
16
- * merchants using this SDK are responsible for **PCI DSS SAQ-A-EP**
17
- * compliance. This includes quarterly ASV scans, secure page delivery
18
- * (TLS), and ensuring no unauthorized scripts can access cardholder data.
19
- *
20
- * TagadaPay is PCI DSS Level 1 certified. The merchant's PCI scope is
21
- * determined by their integration method, not by TagadaPay's certification.
22
- *
23
- * See: https://docs.tagada.io/developer-tools/headless-sdk/pci-compliance
24
- */
25
- export declare class PaymentModule {
26
- private readonly http;
27
- private readonly storeId;
28
- private readonly environment;
29
- constructor(http: HttpClient, storeId: string, environment: Environment);
30
- /**
31
- * Get the full payment setup config for a checkout session.
32
- * Returns a map of payment methods with their configuration
33
- * (card, apple_pay, google_pay, klarna, etc.).
34
- *
35
- * Priority chain:
36
- * 1. Explicit `paymentSetupConfig` parameter (developer override)
37
- * 2. `window.__TGD_STEP_CONFIG__` injection (Tagada routing infra)
38
- * 3. API fallback (`GET /api/v1/payment-methods`)
39
- */
40
- getPaymentSetup(checkoutSessionId: string, opts?: {
41
- paymentSetupConfig?: PaymentSetupConfig;
42
- }): Promise<PaymentSetupConfig>;
43
- /**
44
- * Get express payment methods (Apple Pay, Google Pay, PayPal, etc.)
45
- * filtered to only those available in the current browser.
46
- */
47
- getExpressMethods(checkoutSessionId: string, opts?: {
48
- paymentSetupConfig?: PaymentSetupConfig;
49
- }): Promise<ExpressMethods>;
50
- /**
51
- * Get store-level payment config (3DS flags, default flow ID, etc.).
52
- */
53
- getStoreConfig(): Promise<StoreConfig>;
54
- /**
55
- * Convenience: return only enabled payment method keys.
56
- */
57
- getEnabledMethods(checkoutSessionId: string, opts?: {
58
- paymentSetupConfig?: PaymentSetupConfig;
59
- }): Promise<string[]>;
60
- /**
61
- * Tokenize a card using @tagadapay/core-js.
62
- * Requires `@tagadapay/core-js` to be installed as a peer dependency.
63
- *
64
- * Card data is sent directly to Basis Theory for tokenization and never
65
- * reaches TagadaPay servers. The returned `tagadaToken` is safe to pass
66
- * to the TagadaPay API.
67
- *
68
- * **PCI note:** Using this method means card data passes through your
69
- * JavaScript environment. You are responsible for PCI DSS SAQ-A-EP
70
- * compliance. See https://docs.tagada.io/developer-tools/headless-sdk/pci-compliance
71
- *
72
- * @returns tagadaToken (base64 string) and rawToken with SCA metadata.
73
- */
74
- tokenizeCard(card: {
75
- cardNumber: string;
76
- expiryDate: string;
77
- cvc: string;
78
- cardholderName?: string;
79
- }): Promise<{
80
- tagadaToken: string;
81
- rawToken: Record<string, unknown>;
82
- }>;
83
- /**
84
- * Create a reusable payment instrument from a TagadaToken.
85
- * Session-authenticated (uses the checkout session JWT).
86
- */
87
- createInstrument(opts: CreateInstrumentOptions): Promise<{
88
- paymentInstrument: PaymentInstrument;
89
- }>;
90
- /**
91
- * Create a 3DS session on the TagadaPay backend.
92
- * This persists the session so the processor can use it during payment.
93
- */
94
- create3dsSession(opts: {
95
- paymentInstrumentId: string;
96
- sessionData: {
97
- sessionId: string;
98
- metadata?: Record<string, unknown>;
99
- };
100
- provider?: string;
101
- }): Promise<ThreedsSession>;
102
- /**
103
- * High-level pay: single API call that decodes tagadaToken server-side,
104
- * creates the payment instrument, and processes payment.
105
- *
106
- * Also accepts `paymentInstrumentId` directly for pre-created instruments.
107
- */
108
- pay(opts: PayOptions): Promise<PayResult>;
109
- /**
110
- * Low-level pay: process payment with an existing instrument or for APM/express flows
111
- * where no instrument is needed (redirect-based methods).
112
- */
113
- payDirect(opts: PayDirectOptions): Promise<PayResult>;
114
- /**
115
- * Process an Apple Pay payment.
116
- * Tokenizes the Apple Pay token and processes payment in one call.
117
- */
118
- processApplePay(opts: {
119
- checkoutSessionId: string;
120
- applePayToken: unknown;
121
- paymentFlowId?: string;
122
- processorId?: string;
123
- }): Promise<PayResult>;
124
- /**
125
- * Process a Google Pay payment.
126
- * Tokenizes the Google Pay token and processes payment in one call.
127
- */
128
- processGooglePay(opts: {
129
- checkoutSessionId: string;
130
- googlePayToken: string;
131
- paymentFlowId?: string;
132
- processorId?: string;
133
- }): Promise<PayResult>;
134
- /**
135
- * Process an APM payment (Klarna, iDEAL, etc.) via redirect.
136
- * These typically don't require a payment instrument -- the processor handles the redirect.
137
- */
138
- processApm(opts: {
139
- checkoutSessionId: string;
140
- paymentMethod: string;
141
- processorId: string;
142
- paymentFlowId?: string;
143
- }): Promise<PayResult>;
144
- /**
145
- * Initiate a Stripe Express Checkout payment (Apple Pay, Google Pay, Link, etc.).
146
- *
147
- * Calls `pay-v2` with `isExpress: true`, which returns a `clientSecret` in
148
- * `payment.requireActionData.metadata.stripeExpressCheckout.clientSecret`.
149
- * The caller must then call `stripe.confirmPayment()` with that secret.
150
- *
151
- * Used by the `StripeExpressCheckout` class and `useStripeExpress` hook.
152
- * Not typically called directly — use the Stripe integration classes instead.
153
- */
154
- processStripeExpress(opts: {
155
- checkoutSessionId: string;
156
- processorId: string;
157
- paymentMethod: string;
158
- }): Promise<PayResult>;
159
- /**
160
- * Process a payment end-to-end: pay, handle 3DS / redirects, poll until done.
161
- *
162
- * This is the **recommended** way to process payments. It wraps `pay()`, detects
163
- * `requireAction`, runs 3DS challenges (if `@tagadapay/core-js` is installed),
164
- * and polls until a terminal status.
165
- *
166
- * Returns a discriminated union so you can pattern-match on `result.status`:
167
- *
168
- * @example
169
- * ```ts
170
- * const result = await payment.processPayment({
171
- * checkoutSessionId: session.id,
172
- * tagadaToken,
173
- * });
174
- *
175
- * switch (result.status) {
176
- * case 'succeeded':
177
- * console.log('Paid!', result.payment.id);
178
- * break;
179
- * case 'requires_redirect':
180
- * // In browser: window.location.href = result.redirectUrl
181
- * // The React hook handles this automatically.
182
- * break;
183
- * case 'failed':
184
- * console.error(result.error);
185
- * break;
186
- * }
187
- * ```
188
- */
189
- processPayment(opts: ProcessPaymentOptions): Promise<ProcessPaymentResult>;
190
- /**
191
- * Resolve a raw `PayResult` (from any pay endpoint — `pay()`, `payDirect()`,
192
- * `processApplePay()`, `offers.payPreviewedOffer()`, …) into a typed
193
- * `ProcessPaymentResult` (`succeeded` / `requires_redirect` / `failed`
194
- * / `pending`).
195
- *
196
- * Handles 3DS routing (modal challenge via core-js, or bank redirect)
197
- * and async polling until the payment reaches a terminal status.
198
- *
199
- * This is the same logic `processPayment()` runs after `pay()` — exposed
200
- * so callers (and the offers module) that already have a raw `PayResult`
201
- * don't need to re-pay.
202
- */
203
- finalize(input: PayResult, opts?: {
204
- returnUrl?: string;
205
- }): Promise<ProcessPaymentResult>;
206
- /**
207
- * Resume a payment after the user returns from a redirect (3DS, processor auth, APM).
208
- *
209
- * Called automatically by `usePayment()` in React when it detects return-URL params.
210
- * You can also call it manually in non-React apps.
211
- */
212
- resumeAfterRedirect(paymentId: string): Promise<ProcessPaymentResult>;
213
- /**
214
- * Detect a return from a 3DS / processor redirect by inspecting the
215
- * current page URL, then poll the payment to completion.
216
- *
217
- * The post-3DS URL convention used by Tagada-routed processors is
218
- * `?paymentAction=requireAction&paymentActionStatus=completed&paymentId=pay_xxx`.
219
- * If those params are present, this method polls the payment, cleans the
220
- * URL (so a refresh doesn't re-trigger), and returns the resolved
221
- * `ProcessPaymentResult`. Otherwise it returns `null`.
222
- *
223
- * Use this in vanilla apps as the first thing on page load. The React
224
- * `usePayment` hook does the same automatically — don't call this when
225
- * also using `usePayment`, you'll double-poll.
226
- *
227
- * @example
228
- * ```ts
229
- * const tagada = createHeadlessClient({ storeId, environment });
230
- *
231
- * const resumed = await tagada.payment.maybeResumeFromUrl();
232
- * if (resumed?.status === 'succeeded') {
233
- * window.location.href = `/thank-you?orderId=${resumed.order?.id}`;
234
- * return;
235
- * }
236
- * if (resumed?.status === 'failed') {
237
- * showError(resumed.error);
238
- * return;
239
- * }
240
- * // No 3DS return — render the normal page.
241
- * ```
242
- */
243
- maybeResumeFromUrl(opts?: {
244
- /**
245
- * URL to inspect (defaults to `window.location.href`). Pass an explicit
246
- * URL when running outside the browser or when integrating with a
247
- * router that hasn't navigated yet.
248
- */
249
- url?: string;
250
- /**
251
- * Whether to clean the redirect query params from the address bar
252
- * once the payment has been resolved. Defaults to `true`.
253
- */
254
- cleanUrl?: boolean;
255
- }): Promise<ProcessPaymentResult | null>;
256
- /** Get current status of a payment. */
257
- getPaymentStatus(paymentId: string): Promise<PaymentStatus>;
258
- /**
259
- * Poll a payment until it reaches a terminal status.
260
- * Returns the final status or throws on timeout.
261
- */
262
- pollPaymentStatus(paymentId: string, opts?: {
263
- intervalMs?: number;
264
- timeoutMs?: number;
265
- }): Promise<PaymentStatus>;
266
- /** Finalize a payment after a 3DS challenge completes. */
267
- completeAfter3ds(paymentId: string): Promise<PaymentStatus>;
268
- /** Tell the server this action has been seen / is being processed. */
269
- markActionProcessed(paymentId: string): Promise<void>;
270
- /**
271
- * Route a payment action to the appropriate handler.
272
- * Returns `requires_redirect` for browser-level redirects,
273
- * or attempts 3DS inline and polls to completion.
274
- */
275
- private handlePaymentAction;
276
- /**
277
- * Extract redirect info from actionData.
278
- * Works for processor_auth (GET or POST), redirect, and any unknown type with a URL.
279
- */
280
- private extractRedirect;
281
- /**
282
- * Run a 3DS challenge using @tagadapay/core-js.
283
- * If core-js is not installed, falls back to redirect.
284
- */
285
- private handleThreedsAuth;
286
- /**
287
- * Poll until the payment reaches a terminal status, then return a ProcessPaymentResult.
288
- * Also handles new requireAction that may appear during polling.
289
- */
290
- private pollUntilDone;
291
- /**
292
- * Read paymentSetupConfig from the Tagada routing injection.
293
- * Only available when running on Tagada infra (not on external hosting like Vercel).
294
- */
295
- private readInjectedStepConfig;
296
- private loadCoreJs;
297
- }
298
- //# sourceMappingURL=payment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/core/modules/payment.ts"],"names":[],"mappings":"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"}