@sazito/checkout 0.3.0 → 0.4.1

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 (36) hide show
  1. package/README.md +43 -0
  2. package/dist/chunks/{labels-3zH04p3y.cjs → labels-CnPllzhT.cjs} +15 -2
  3. package/dist/chunks/labels-CnPllzhT.cjs.map +1 -0
  4. package/dist/chunks/{labels-BdxqgReM.js → labels-e8w4zRbg.js} +15 -2
  5. package/dist/chunks/labels-e8w4zRbg.js.map +1 -0
  6. package/dist/chunks/{use-checkout-Bh4tXxFJ.js → use-checkout-BM810__v.js} +5 -3
  7. package/dist/chunks/use-checkout-BM810__v.js.map +1 -0
  8. package/dist/chunks/{use-checkout-DGP2xazd.cjs → use-checkout-DPtLgxlA.cjs} +5 -3
  9. package/dist/chunks/use-checkout-DPtLgxlA.cjs.map +1 -0
  10. package/dist/core/index.cjs +4 -1
  11. package/dist/core/index.cjs.map +1 -1
  12. package/dist/core/index.d.cts +33 -3
  13. package/dist/core/index.d.ts +33 -3
  14. package/dist/core/index.js +2 -1
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/next/index.cjs +26 -7
  17. package/dist/next/index.cjs.map +1 -1
  18. package/dist/next/index.d.cts +24 -3
  19. package/dist/next/index.d.ts +24 -3
  20. package/dist/next/index.js +27 -8
  21. package/dist/next/index.js.map +1 -1
  22. package/dist/next/payment-return.cjs +80 -0
  23. package/dist/next/payment-return.cjs.map +1 -0
  24. package/dist/next/payment-return.d.cts +32 -0
  25. package/dist/next/payment-return.d.ts +32 -0
  26. package/dist/next/payment-return.js +77 -0
  27. package/dist/next/payment-return.js.map +1 -0
  28. package/dist/react/index.cjs +2 -2
  29. package/dist/react/index.d.cts +9 -1
  30. package/dist/react/index.d.ts +9 -1
  31. package/dist/react/index.js +2 -2
  32. package/package.json +15 -1
  33. package/dist/chunks/labels-3zH04p3y.cjs.map +0 -1
  34. package/dist/chunks/labels-BdxqgReM.js.map +0 -1
  35. package/dist/chunks/use-checkout-Bh4tXxFJ.js.map +0 -1
  36. package/dist/chunks/use-checkout-DGP2xazd.cjs.map +0 -1
@@ -0,0 +1,80 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Parse Sazito's nested payment callback path into checkout-ready data.
5
+ * Returns undefined for ordinary checkout URLs and malformed callbacks.
6
+ */
7
+ function parsePaymentReturn(segments, searchParams = {}) {
8
+ const [resultRoute, paymentSegment, rawPaymentId, identifierSegment, rawIdentifier] = segments ?? [];
9
+ const paymentId = Number(rawPaymentId);
10
+ const identifier = rawIdentifier?.trim();
11
+ if (segments?.length !== 5 ||
12
+ !resultRoute?.toLowerCase().endsWith('result') ||
13
+ paymentSegment?.toLowerCase() !== 'payment' ||
14
+ identifierSegment?.toLowerCase() !== 'identifier' ||
15
+ !Number.isSafeInteger(paymentId) ||
16
+ paymentId <= 0 ||
17
+ !identifier) {
18
+ return undefined;
19
+ }
20
+ const params = normalizeSearchParams(searchParams);
21
+ params.id = String(paymentId);
22
+ params.paymentIdentifier = identifier;
23
+ return {
24
+ payment: { id: paymentId, identifier },
25
+ params
26
+ };
27
+ }
28
+ /**
29
+ * Parse a complete checkout URL containing Sazito's nested payment callback.
30
+ * The callback may be mounted below any checkout base path; only its final
31
+ * five path segments are significant.
32
+ */
33
+ function parsePaymentReturnUrl(url) {
34
+ let parsedUrl;
35
+ try {
36
+ parsedUrl = typeof url === 'string'
37
+ ? new URL(url, 'https://checkout.sazito.invalid')
38
+ : url;
39
+ }
40
+ catch {
41
+ return undefined;
42
+ }
43
+ const segments = parsedUrl.pathname
44
+ .split('/')
45
+ .filter(Boolean)
46
+ .map(decodePathSegment);
47
+ if (segments.length < 5) {
48
+ return undefined;
49
+ }
50
+ const searchParams = {};
51
+ for (const [key, value] of parsedUrl.searchParams) {
52
+ // Match Next.js search-param normalization: preserve the first value.
53
+ if (searchParams[key] === undefined) {
54
+ searchParams[key] = value;
55
+ }
56
+ }
57
+ return parsePaymentReturn(segments.slice(-5), searchParams);
58
+ }
59
+ function decodePathSegment(segment) {
60
+ try {
61
+ return decodeURIComponent(segment);
62
+ }
63
+ catch {
64
+ return segment;
65
+ }
66
+ }
67
+ function normalizeSearchParams(searchParams) {
68
+ const normalized = {};
69
+ for (const [key, value] of Object.entries(searchParams)) {
70
+ const firstValue = Array.isArray(value) ? value[0] : value;
71
+ if (firstValue !== undefined) {
72
+ normalized[key] = firstValue;
73
+ }
74
+ }
75
+ return normalized;
76
+ }
77
+
78
+ exports.parsePaymentReturn = parsePaymentReturn;
79
+ exports.parsePaymentReturnUrl = parsePaymentReturnUrl;
80
+ //# sourceMappingURL=payment-return.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-return.cjs","sources":["../../src/core/payment-return.ts"],"sourcesContent":["import type {\n CheckoutPaymentReturn,\n PaymentReturnSearchParams\n} from './types';\n\n/**\n * Parse Sazito's nested payment callback path into checkout-ready data.\n * Returns undefined for ordinary checkout URLs and malformed callbacks.\n */\nexport function parsePaymentReturn(\n segments: readonly string[] | undefined,\n searchParams: PaymentReturnSearchParams = {}\n): CheckoutPaymentReturn | undefined {\n const [resultRoute, paymentSegment, rawPaymentId, identifierSegment, rawIdentifier] =\n segments ?? [];\n const paymentId = Number(rawPaymentId);\n const identifier = rawIdentifier?.trim();\n\n if (\n segments?.length !== 5 ||\n !resultRoute?.toLowerCase().endsWith('result') ||\n paymentSegment?.toLowerCase() !== 'payment' ||\n identifierSegment?.toLowerCase() !== 'identifier' ||\n !Number.isSafeInteger(paymentId) ||\n paymentId <= 0 ||\n !identifier\n ) {\n return undefined;\n }\n\n const params = normalizeSearchParams(searchParams);\n params.id = String(paymentId);\n params.paymentIdentifier = identifier;\n\n return {\n payment: { id: paymentId, identifier },\n params\n };\n}\n\n/**\n * Parse a complete checkout URL containing Sazito's nested payment callback.\n * The callback may be mounted below any checkout base path; only its final\n * five path segments are significant.\n */\nexport function parsePaymentReturnUrl(\n url: string | URL\n): CheckoutPaymentReturn | undefined {\n let parsedUrl: URL;\n\n try {\n parsedUrl = typeof url === 'string'\n ? new URL(url, 'https://checkout.sazito.invalid')\n : url;\n } catch {\n return undefined;\n }\n\n const segments = parsedUrl.pathname\n .split('/')\n .filter(Boolean)\n .map(decodePathSegment);\n\n if (segments.length < 5) {\n return undefined;\n }\n\n const searchParams: Record<string, string> = {};\n for (const [key, value] of parsedUrl.searchParams) {\n // Match Next.js search-param normalization: preserve the first value.\n if (searchParams[key] === undefined) {\n searchParams[key] = value;\n }\n }\n\n return parsePaymentReturn(segments.slice(-5), searchParams);\n}\n\nfunction decodePathSegment(segment: string): string {\n try {\n return decodeURIComponent(segment);\n } catch {\n return segment;\n }\n}\n\nfunction normalizeSearchParams(\n searchParams: PaymentReturnSearchParams\n): Record<string, string> {\n const normalized: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(searchParams)) {\n const firstValue = Array.isArray(value) ? value[0] : value;\n if (firstValue !== undefined) {\n normalized[key] = firstValue;\n }\n }\n\n return normalized;\n}\n"],"names":[],"mappings":";;AAKA;;;AAGG;SACa,kBAAkB,CAChC,QAAuC,EACvC,eAA0C,EAAE,EAAA;AAE5C,IAAA,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,CAAC,GACjF,QAAQ,IAAI,EAAE;AAChB,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AACtC,IAAA,MAAM,UAAU,GAAG,aAAa,EAAE,IAAI,EAAE;AAExC,IAAA,IACE,QAAQ,EAAE,MAAM,KAAK,CAAC;QACtB,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC9C,QAAA,cAAc,EAAE,WAAW,EAAE,KAAK,SAAS;AAC3C,QAAA,iBAAiB,EAAE,WAAW,EAAE,KAAK,YAAY;AACjD,QAAA,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;AAChC,QAAA,SAAS,IAAI,CAAC;QACd,CAAC,UAAU,EACX;AACA,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,MAAM,MAAM,GAAG,qBAAqB,CAAC,YAAY,CAAC;AAClD,IAAA,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;AAC7B,IAAA,MAAM,CAAC,iBAAiB,GAAG,UAAU;IAErC,OAAO;AACL,QAAA,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;QACtC;KACD;AACH;AAEA;;;;AAIG;AACG,SAAU,qBAAqB,CACnC,GAAiB,EAAA;AAEjB,IAAA,IAAI,SAAc;AAElB,IAAA,IAAI;AACF,QAAA,SAAS,GAAG,OAAO,GAAG,KAAK;AACzB,cAAE,IAAI,GAAG,CAAC,GAAG,EAAE,iCAAiC;cAC9C,GAAG;IACT;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,MAAM,QAAQ,GAAG,SAAS,CAAC;SACxB,KAAK,CAAC,GAAG;SACT,MAAM,CAAC,OAAO;SACd,GAAG,CAAC,iBAAiB,CAAC;AAEzB,IAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,QAAA,OAAO,SAAS;IAClB;IAEA,MAAM,YAAY,GAA2B,EAAE;IAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,YAAY,EAAE;;AAEjD,QAAA,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;AACnC,YAAA,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK;QAC3B;IACF;AAEA,IAAA,OAAO,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC;AAC7D;AAEA,SAAS,iBAAiB,CAAC,OAAe,EAAA;AACxC,IAAA,IAAI;AACF,QAAA,OAAO,kBAAkB,CAAC,OAAO,CAAC;IACpC;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,OAAO;IAChB;AACF;AAEA,SAAS,qBAAqB,CAC5B,YAAuC,EAAA;IAEvC,MAAM,UAAU,GAA2B,EAAE;AAE7C,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AACvD,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK;AAC1D,QAAA,IAAI,UAAU,KAAK,SAAS,EAAE;AAC5B,YAAA,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU;QAC9B;IACF;AAEA,IAAA,OAAO,UAAU;AACnB;;;;;"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Checkout domain types.
3
+ *
4
+ * The package re-exports the SDK data models (camelCase) and layers
5
+ * checkout-specific state, config, events and effects on top.
6
+ */
7
+
8
+ /** Normalized payment callback data accepted by `SazitoCheckoutPage`. */
9
+ interface CheckoutPaymentReturn {
10
+ payment: {
11
+ id: number;
12
+ identifier: string;
13
+ };
14
+ params: Record<string, string>;
15
+ }
16
+ /** Search-param shape exposed by current Next.js App Router pages. */
17
+ type PaymentReturnSearchParams = Record<string, string | string[] | undefined>;
18
+
19
+ /**
20
+ * Parse Sazito's nested payment callback path into checkout-ready data.
21
+ * Returns undefined for ordinary checkout URLs and malformed callbacks.
22
+ */
23
+ declare function parsePaymentReturn(segments: readonly string[] | undefined, searchParams?: PaymentReturnSearchParams): CheckoutPaymentReturn | undefined;
24
+ /**
25
+ * Parse a complete checkout URL containing Sazito's nested payment callback.
26
+ * The callback may be mounted below any checkout base path; only its final
27
+ * five path segments are significant.
28
+ */
29
+ declare function parsePaymentReturnUrl(url: string | URL): CheckoutPaymentReturn | undefined;
30
+
31
+ export { parsePaymentReturn, parsePaymentReturnUrl };
32
+ export type { CheckoutPaymentReturn, PaymentReturnSearchParams };
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Checkout domain types.
3
+ *
4
+ * The package re-exports the SDK data models (camelCase) and layers
5
+ * checkout-specific state, config, events and effects on top.
6
+ */
7
+
8
+ /** Normalized payment callback data accepted by `SazitoCheckoutPage`. */
9
+ interface CheckoutPaymentReturn {
10
+ payment: {
11
+ id: number;
12
+ identifier: string;
13
+ };
14
+ params: Record<string, string>;
15
+ }
16
+ /** Search-param shape exposed by current Next.js App Router pages. */
17
+ type PaymentReturnSearchParams = Record<string, string | string[] | undefined>;
18
+
19
+ /**
20
+ * Parse Sazito's nested payment callback path into checkout-ready data.
21
+ * Returns undefined for ordinary checkout URLs and malformed callbacks.
22
+ */
23
+ declare function parsePaymentReturn(segments: readonly string[] | undefined, searchParams?: PaymentReturnSearchParams): CheckoutPaymentReturn | undefined;
24
+ /**
25
+ * Parse a complete checkout URL containing Sazito's nested payment callback.
26
+ * The callback may be mounted below any checkout base path; only its final
27
+ * five path segments are significant.
28
+ */
29
+ declare function parsePaymentReturnUrl(url: string | URL): CheckoutPaymentReturn | undefined;
30
+
31
+ export { parsePaymentReturn, parsePaymentReturnUrl };
32
+ export type { CheckoutPaymentReturn, PaymentReturnSearchParams };
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Parse Sazito's nested payment callback path into checkout-ready data.
3
+ * Returns undefined for ordinary checkout URLs and malformed callbacks.
4
+ */
5
+ function parsePaymentReturn(segments, searchParams = {}) {
6
+ const [resultRoute, paymentSegment, rawPaymentId, identifierSegment, rawIdentifier] = segments ?? [];
7
+ const paymentId = Number(rawPaymentId);
8
+ const identifier = rawIdentifier?.trim();
9
+ if (segments?.length !== 5 ||
10
+ !resultRoute?.toLowerCase().endsWith('result') ||
11
+ paymentSegment?.toLowerCase() !== 'payment' ||
12
+ identifierSegment?.toLowerCase() !== 'identifier' ||
13
+ !Number.isSafeInteger(paymentId) ||
14
+ paymentId <= 0 ||
15
+ !identifier) {
16
+ return undefined;
17
+ }
18
+ const params = normalizeSearchParams(searchParams);
19
+ params.id = String(paymentId);
20
+ params.paymentIdentifier = identifier;
21
+ return {
22
+ payment: { id: paymentId, identifier },
23
+ params
24
+ };
25
+ }
26
+ /**
27
+ * Parse a complete checkout URL containing Sazito's nested payment callback.
28
+ * The callback may be mounted below any checkout base path; only its final
29
+ * five path segments are significant.
30
+ */
31
+ function parsePaymentReturnUrl(url) {
32
+ let parsedUrl;
33
+ try {
34
+ parsedUrl = typeof url === 'string'
35
+ ? new URL(url, 'https://checkout.sazito.invalid')
36
+ : url;
37
+ }
38
+ catch {
39
+ return undefined;
40
+ }
41
+ const segments = parsedUrl.pathname
42
+ .split('/')
43
+ .filter(Boolean)
44
+ .map(decodePathSegment);
45
+ if (segments.length < 5) {
46
+ return undefined;
47
+ }
48
+ const searchParams = {};
49
+ for (const [key, value] of parsedUrl.searchParams) {
50
+ // Match Next.js search-param normalization: preserve the first value.
51
+ if (searchParams[key] === undefined) {
52
+ searchParams[key] = value;
53
+ }
54
+ }
55
+ return parsePaymentReturn(segments.slice(-5), searchParams);
56
+ }
57
+ function decodePathSegment(segment) {
58
+ try {
59
+ return decodeURIComponent(segment);
60
+ }
61
+ catch {
62
+ return segment;
63
+ }
64
+ }
65
+ function normalizeSearchParams(searchParams) {
66
+ const normalized = {};
67
+ for (const [key, value] of Object.entries(searchParams)) {
68
+ const firstValue = Array.isArray(value) ? value[0] : value;
69
+ if (firstValue !== undefined) {
70
+ normalized[key] = firstValue;
71
+ }
72
+ }
73
+ return normalized;
74
+ }
75
+
76
+ export { parsePaymentReturn, parsePaymentReturnUrl };
77
+ //# sourceMappingURL=payment-return.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-return.js","sources":["../../src/core/payment-return.ts"],"sourcesContent":["import type {\n CheckoutPaymentReturn,\n PaymentReturnSearchParams\n} from './types';\n\n/**\n * Parse Sazito's nested payment callback path into checkout-ready data.\n * Returns undefined for ordinary checkout URLs and malformed callbacks.\n */\nexport function parsePaymentReturn(\n segments: readonly string[] | undefined,\n searchParams: PaymentReturnSearchParams = {}\n): CheckoutPaymentReturn | undefined {\n const [resultRoute, paymentSegment, rawPaymentId, identifierSegment, rawIdentifier] =\n segments ?? [];\n const paymentId = Number(rawPaymentId);\n const identifier = rawIdentifier?.trim();\n\n if (\n segments?.length !== 5 ||\n !resultRoute?.toLowerCase().endsWith('result') ||\n paymentSegment?.toLowerCase() !== 'payment' ||\n identifierSegment?.toLowerCase() !== 'identifier' ||\n !Number.isSafeInteger(paymentId) ||\n paymentId <= 0 ||\n !identifier\n ) {\n return undefined;\n }\n\n const params = normalizeSearchParams(searchParams);\n params.id = String(paymentId);\n params.paymentIdentifier = identifier;\n\n return {\n payment: { id: paymentId, identifier },\n params\n };\n}\n\n/**\n * Parse a complete checkout URL containing Sazito's nested payment callback.\n * The callback may be mounted below any checkout base path; only its final\n * five path segments are significant.\n */\nexport function parsePaymentReturnUrl(\n url: string | URL\n): CheckoutPaymentReturn | undefined {\n let parsedUrl: URL;\n\n try {\n parsedUrl = typeof url === 'string'\n ? new URL(url, 'https://checkout.sazito.invalid')\n : url;\n } catch {\n return undefined;\n }\n\n const segments = parsedUrl.pathname\n .split('/')\n .filter(Boolean)\n .map(decodePathSegment);\n\n if (segments.length < 5) {\n return undefined;\n }\n\n const searchParams: Record<string, string> = {};\n for (const [key, value] of parsedUrl.searchParams) {\n // Match Next.js search-param normalization: preserve the first value.\n if (searchParams[key] === undefined) {\n searchParams[key] = value;\n }\n }\n\n return parsePaymentReturn(segments.slice(-5), searchParams);\n}\n\nfunction decodePathSegment(segment: string): string {\n try {\n return decodeURIComponent(segment);\n } catch {\n return segment;\n }\n}\n\nfunction normalizeSearchParams(\n searchParams: PaymentReturnSearchParams\n): Record<string, string> {\n const normalized: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(searchParams)) {\n const firstValue = Array.isArray(value) ? value[0] : value;\n if (firstValue !== undefined) {\n normalized[key] = firstValue;\n }\n }\n\n return normalized;\n}\n"],"names":[],"mappings":"AAKA;;;AAGG;SACa,kBAAkB,CAChC,QAAuC,EACvC,eAA0C,EAAE,EAAA;AAE5C,IAAA,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,CAAC,GACjF,QAAQ,IAAI,EAAE;AAChB,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AACtC,IAAA,MAAM,UAAU,GAAG,aAAa,EAAE,IAAI,EAAE;AAExC,IAAA,IACE,QAAQ,EAAE,MAAM,KAAK,CAAC;QACtB,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC9C,QAAA,cAAc,EAAE,WAAW,EAAE,KAAK,SAAS;AAC3C,QAAA,iBAAiB,EAAE,WAAW,EAAE,KAAK,YAAY;AACjD,QAAA,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;AAChC,QAAA,SAAS,IAAI,CAAC;QACd,CAAC,UAAU,EACX;AACA,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,MAAM,MAAM,GAAG,qBAAqB,CAAC,YAAY,CAAC;AAClD,IAAA,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;AAC7B,IAAA,MAAM,CAAC,iBAAiB,GAAG,UAAU;IAErC,OAAO;AACL,QAAA,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;QACtC;KACD;AACH;AAEA;;;;AAIG;AACG,SAAU,qBAAqB,CACnC,GAAiB,EAAA;AAEjB,IAAA,IAAI,SAAc;AAElB,IAAA,IAAI;AACF,QAAA,SAAS,GAAG,OAAO,GAAG,KAAK;AACzB,cAAE,IAAI,GAAG,CAAC,GAAG,EAAE,iCAAiC;cAC9C,GAAG;IACT;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,MAAM,QAAQ,GAAG,SAAS,CAAC;SACxB,KAAK,CAAC,GAAG;SACT,MAAM,CAAC,OAAO;SACd,GAAG,CAAC,iBAAiB,CAAC;AAEzB,IAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,QAAA,OAAO,SAAS;IAClB;IAEA,MAAM,YAAY,GAA2B,EAAE;IAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,YAAY,EAAE;;AAEjD,QAAA,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;AACnC,YAAA,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK;QAC3B;IACF;AAEA,IAAA,OAAO,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC;AAC7D;AAEA,SAAS,iBAAiB,CAAC,OAAe,EAAA;AACxC,IAAA,IAAI;AACF,QAAA,OAAO,kBAAkB,CAAC,OAAO,CAAC;IACpC;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,OAAO;IAChB;AACF;AAEA,SAAS,qBAAqB,CAC5B,YAAuC,EAAA;IAEvC,MAAM,UAAU,GAA2B,EAAE;AAE7C,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AACvD,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK;AAC1D,QAAA,IAAI,UAAU,KAAK,SAAS,EAAE;AAC5B,YAAA,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU;QAC9B;IACF;AAEA,IAAA,OAAO,UAAU;AACnB;;;;"}
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var useCheckout = require('../chunks/use-checkout-DGP2xazd.cjs');
4
+ var useCheckout = require('../chunks/use-checkout-DPtLgxlA.cjs');
5
5
  require('react/jsx-runtime');
6
6
  require('react');
7
- require('../chunks/labels-3zH04p3y.cjs');
7
+ require('../chunks/labels-CnPllzhT.cjs');
8
8
  require('@sazito/client-sdk');
9
9
 
10
10
 
@@ -94,6 +94,10 @@ interface CheckoutCredentials {
94
94
  id: number;
95
95
  identifier: string;
96
96
  };
97
+ payment?: {
98
+ id: number;
99
+ identifier: string;
100
+ };
97
101
  }
98
102
  interface CheckoutConfig {
99
103
  locale?: CheckoutLocale;
@@ -101,7 +105,11 @@ interface CheckoutConfig {
101
105
  theme?: CheckoutTheme;
102
106
  /** URL for the "continue shopping" / back-to-store action. */
103
107
  continueShoppingUrl?: string;
104
- /** URL the gateway returns to after payment. Defaults to current URL. */
108
+ /**
109
+ * Reserved for gateways that support a caller-provided return URL.
110
+ * Current Sazito legacy callbacks use their generated nested result path.
111
+ * @deprecated Use an optional catch-all route with `parsePaymentReturn`.
112
+ */
105
113
  returnUrl?: string;
106
114
  /** Pending-payment poll interval in ms (default 15000). */
107
115
  pollIntervalMs?: number;
@@ -94,6 +94,10 @@ interface CheckoutCredentials {
94
94
  id: number;
95
95
  identifier: string;
96
96
  };
97
+ payment?: {
98
+ id: number;
99
+ identifier: string;
100
+ };
97
101
  }
98
102
  interface CheckoutConfig {
99
103
  locale?: CheckoutLocale;
@@ -101,7 +105,11 @@ interface CheckoutConfig {
101
105
  theme?: CheckoutTheme;
102
106
  /** URL for the "continue shopping" / back-to-store action. */
103
107
  continueShoppingUrl?: string;
104
- /** URL the gateway returns to after payment. Defaults to current URL. */
108
+ /**
109
+ * Reserved for gateways that support a caller-provided return URL.
110
+ * Current Sazito legacy callbacks use their generated nested result path.
111
+ * @deprecated Use an optional catch-all route with `parsePaymentReturn`.
112
+ */
105
113
  returnUrl?: string;
106
114
  /** Pending-payment poll interval in ms (default 15000). */
107
115
  pollIntervalMs?: number;
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- export { C as CheckoutProvider, S as SazitoProvider, u as useCheckout, a as useCheckoutEngine, b as useSazitoClient } from '../chunks/use-checkout-Bh4tXxFJ.js';
2
+ export { C as CheckoutProvider, S as SazitoProvider, u as useCheckout, a as useCheckoutEngine, b as useSazitoClient } from '../chunks/use-checkout-BM810__v.js';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
5
- import '../chunks/labels-BdxqgReM.js';
5
+ import '../chunks/labels-e8w4zRbg.js';
6
6
  import '@sazito/client-sdk';
7
7
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sazito/checkout",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "Headless checkout engine + React UI for the Sazito platform, powered by @sazito/client-sdk",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -56,6 +56,17 @@
56
56
  },
57
57
  "default": "./dist/next/index.js"
58
58
  },
59
+ "./next/payment-return": {
60
+ "import": {
61
+ "types": "./dist/next/payment-return.d.ts",
62
+ "default": "./dist/next/payment-return.js"
63
+ },
64
+ "require": {
65
+ "types": "./dist/next/payment-return.d.cts",
66
+ "default": "./dist/next/payment-return.cjs"
67
+ },
68
+ "default": "./dist/next/payment-return.js"
69
+ },
59
70
  "./styles.css": "./dist/styles.css"
60
71
  },
61
72
  "typesVersions": {
@@ -68,6 +79,9 @@
68
79
  ],
69
80
  "next": [
70
81
  "dist/next/index.d.ts"
82
+ ],
83
+ "next/payment-return": [
84
+ "dist/next/payment-return.d.ts"
71
85
  ]
72
86
  }
73
87
  },