checkout-intents 0.3.0 → 0.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/CHANGELOG.md +38 -0
- package/README.md +128 -15
- package/client.d.mts +8 -5
- package/client.d.mts.map +1 -1
- package/client.d.ts +8 -5
- package/client.d.ts.map +1 -1
- package/client.js +10 -15
- package/client.js.map +1 -1
- package/client.mjs +10 -15
- package/client.mjs.map +1 -1
- package/core/error.d.mts +17 -0
- package/core/error.d.mts.map +1 -1
- package/core/error.d.ts +17 -0
- package/core/error.d.ts.map +1 -1
- package/core/error.js +18 -1
- package/core/error.js.map +1 -1
- package/core/error.mjs +16 -0
- package/core/error.mjs.map +1 -1
- package/core/pagination.d.mts +63 -0
- package/core/pagination.d.mts.map +1 -0
- package/core/pagination.d.ts +63 -0
- package/core/pagination.d.ts.map +1 -0
- package/core/pagination.js +115 -0
- package/core/pagination.js.map +1 -0
- package/core/pagination.mjs +109 -0
- package/core/pagination.mjs.map +1 -0
- package/index.d.mts +2 -1
- package/index.d.mts.map +1 -1
- package/index.d.ts +2 -1
- package/index.d.ts.map +1 -1
- package/index.js +4 -1
- package/index.js.map +1 -1
- package/index.mjs +2 -1
- package/index.mjs.map +1 -1
- package/internal/qs/formats.d.mts +7 -0
- package/internal/qs/formats.d.mts.map +1 -0
- package/internal/qs/formats.d.ts +7 -0
- package/internal/qs/formats.d.ts.map +1 -0
- package/internal/qs/formats.js +13 -0
- package/internal/qs/formats.js.map +1 -0
- package/internal/qs/formats.mjs +9 -0
- package/internal/qs/formats.mjs.map +1 -0
- package/internal/qs/index.d.mts +10 -0
- package/internal/qs/index.d.mts.map +1 -0
- package/internal/qs/index.d.ts +10 -0
- package/internal/qs/index.d.ts.map +1 -0
- package/internal/qs/index.js +14 -0
- package/internal/qs/index.js.map +1 -0
- package/internal/qs/index.mjs +10 -0
- package/internal/qs/index.mjs.map +1 -0
- package/internal/qs/stringify.d.mts +3 -0
- package/internal/qs/stringify.d.mts.map +1 -0
- package/internal/qs/stringify.d.ts +3 -0
- package/internal/qs/stringify.d.ts.map +1 -0
- package/internal/qs/stringify.js +277 -0
- package/internal/qs/stringify.js.map +1 -0
- package/internal/qs/stringify.mjs +274 -0
- package/internal/qs/stringify.mjs.map +1 -0
- package/internal/qs/types.d.mts +57 -0
- package/internal/qs/types.d.mts.map +1 -0
- package/internal/qs/types.d.ts +57 -0
- package/internal/qs/types.d.ts.map +1 -0
- package/internal/qs/types.js +3 -0
- package/internal/qs/types.js.map +1 -0
- package/internal/qs/types.mjs +2 -0
- package/internal/qs/types.mjs.map +1 -0
- package/internal/qs/utils.d.mts +15 -0
- package/internal/qs/utils.d.mts.map +1 -0
- package/internal/qs/utils.d.ts +15 -0
- package/internal/qs/utils.d.ts.map +1 -0
- package/internal/qs/utils.js +230 -0
- package/internal/qs/utils.js.map +1 -0
- package/internal/qs/utils.mjs +217 -0
- package/internal/qs/utils.mjs.map +1 -0
- package/package.json +11 -1
- package/pagination.d.mts +2 -0
- package/pagination.d.mts.map +1 -0
- package/pagination.d.ts +2 -0
- package/pagination.d.ts.map +1 -0
- package/pagination.js +6 -0
- package/pagination.js.map +1 -0
- package/pagination.mjs +2 -0
- package/pagination.mjs.map +1 -0
- package/resources/checkout-intents.d.mts +28 -6
- package/resources/checkout-intents.d.mts.map +1 -1
- package/resources/checkout-intents.d.ts +28 -6
- package/resources/checkout-intents.d.ts.map +1 -1
- package/resources/checkout-intents.js +50 -9
- package/resources/checkout-intents.js.map +1 -1
- package/resources/checkout-intents.mjs +50 -9
- package/resources/checkout-intents.mjs.map +1 -1
- package/resources/index.d.mts +1 -1
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +1 -1
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs.map +1 -1
- package/src/client.ts +33 -17
- package/src/core/error.ts +43 -0
- package/src/core/pagination.ts +187 -0
- package/src/index.ts +2 -0
- package/src/internal/qs/LICENSE.md +13 -0
- package/src/internal/qs/README.md +3 -0
- package/src/internal/qs/formats.ts +10 -0
- package/src/internal/qs/index.ts +13 -0
- package/src/internal/qs/stringify.ts +385 -0
- package/src/internal/qs/types.ts +71 -0
- package/src/internal/qs/utils.ts +265 -0
- package/src/pagination.ts +2 -0
- package/src/resources/checkout-intents.ts +73 -11
- package/src/resources/index.ts +2 -0
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-intents.d.mts","sourceRoot":"","sources":["../src/resources/checkout-intents.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,KAAK,kBAAkB;
|
|
1
|
+
{"version":3,"file":"checkout-intents.d.mts","sourceRoot":"","sources":["../src/resources/checkout-intents.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,KAAK,kBAAkB;OAEvB,EAAE,UAAU,EAAE;OACd,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,WAAW,EAAE;OAC9D,EAAE,cAAc,EAAE;AAMzB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,uBAAwB,SAAQ,WAAW;IACtD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,IAAI,EAAE,0BAA0B,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;IAI9F;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;IAI1E;;;;;;;;;;;;;OAaG;IACH,IAAI,CACF,KAAK,GAAE,wBAAwB,GAAG,IAAI,GAAG,SAAc,EACvD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,+BAA+B,EAAE,cAAc,CAAC;IAO/D;;;;;;;;;;;;;OAaG;IACH,UAAU,CACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,8BAA8B,EACpC,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,cAAc,CAAC;IAI7B;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CACL,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,2BAA2B,EACjC,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,cAAc,CAAC;IAI7B;;;;;;;;;;;OAWG;YACW,SAAS;IA8EvB;;;;;;;;;;;;;OAaG;IACG,kBAAkB,CACtB,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW,GACrC,OAAO,CAAC,cAAc,CAAC,uBAAuB,GAAG,cAAc,CAAC,oBAAoB,CAAC;IASxF;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,6BAA6B,CACjC,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW,GACrC,OAAO,CAAC,cAAc,CAAC,kCAAkC,GAAG,cAAc,CAAC,oBAAoB,CAAC;IAWnG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,aAAa,CACjB,IAAI,EAAE,0BAA0B,EAChC,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW,GACrC,OAAO,CAAC,cAAc,CAAC,kCAAkC,GAAG,cAAc,CAAC,oBAAoB,CAAC;IAKnG;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,cAAc,CAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,2BAA2B,EACjC,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW,GACrC,OAAO,CAAC,cAAc,CAAC,uBAAuB,GAAG,cAAc,CAAC,oBAAoB,CAAC;CAIzF;AAED,MAAM,MAAM,+BAA+B,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,EAAE,KAAK,CAAC;IAEb,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,EAAE,MAAM,CAAC;IAElB,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,MAAM,CAAC;IAEd,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GACtB,cAAc,CAAC,6BAA6B,GAC5C,cAAc,CAAC,kCAAkC,GACjD,cAAc,CAAC,0BAA0B,GACzC,cAAc,CAAC,uBAAuB,GACtC,cAAc,CAAC,oBAAoB,CAAC;AAExC,yBAAiB,cAAc,CAAC;IAC9B,UAAiB,6BAA8B,SAAQ,kBAAkB,CAAC,kBAAkB;QAC1F,KAAK,EAAE,kBAAkB,CAAC;KAC3B;IAED,UAAiB,kCAAmC,SAAQ,kBAAkB,CAAC,kBAAkB;QAC/F,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC;QAEhC,KAAK,EAAE,uBAAuB,CAAC;QAE/B,aAAa,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC;KAClD;IAED,UAAiB,0BAA2B,SAAQ,kBAAkB,CAAC,kBAAkB;QACvF,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC;QAEhC,aAAa,EAAE,kBAAkB,CAAC,aAAa,CAAC;QAEhD,KAAK,EAAE,eAAe,CAAC;KACxB;IAED,UAAiB,uBAAwB,SAAQ,kBAAkB,CAAC,kBAAkB;QACpF,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC;QAEhC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAEvB,aAAa,EAAE,kBAAkB,CAAC,aAAa,CAAC;QAEhD,KAAK,EAAE,WAAW,CAAC;KACpB;IAED,UAAiB,oBAAqB,SAAQ,kBAAkB,CAAC,kBAAkB;QACjF,aAAa,EAAE,oBAAoB,CAAC,aAAa,CAAC;QAElD,KAAK,EAAE,QAAQ,CAAC;QAEhB,KAAK,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC;QAEjC,aAAa,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC;KAClD;IAED,UAAiB,oBAAoB,CAAC;QACpC,UAAiB,aAAa;YAC5B,IAAI,EACA,yBAAyB,GACzB,gBAAgB,GAChB,oBAAoB,GACpB,sBAAsB,GACtB,wBAAwB,GACxB,wBAAwB,GACxB,qBAAqB,GACrB,yBAAyB,GACzB,sBAAsB,GACtB,eAAe,GACf,qCAAqC,CAAC;YAE1C,OAAO,EAAE,MAAM,CAAC;SACjB;KACF;CACF;AAED,MAAM,WAAW,KAAK;IACpB,cAAc,EAAE,MAAM,CAAC;IAEvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAEjB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;CAC1B;AAED,yBAAiB,KAAK,CAAC;IACrB,UAAiB,IAAI;QACnB,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC;QAEnC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC;QAEhC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC;QAEpC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC;QAEpC,GAAG,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC;KAChC;IAED,UAAiB,QAAQ;QACvB,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAElD,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B;IAED,UAAiB,QAAQ,CAAC;QACxB,UAAiB,eAAe;YAC9B,EAAE,EAAE,MAAM,CAAC;YAEX,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC;SAChC;KACF;CACF;AAED,MAAM,MAAM,aAAa,GACrB,aAAa,CAAC,wBAAwB,GACtC,aAAa,CAAC,wBAAwB,GACtC,aAAa,CAAC,mBAAmB,CAAC;AAEtC,yBAAiB,aAAa,CAAC;IAC7B,UAAiB,wBAAwB;QACvC,WAAW,EAAE,MAAM,CAAC;QAEpB,IAAI,EAAE,cAAc,CAAC;KACtB;IAED,UAAiB,wBAAwB;QACvC,gBAAgB,EAAE,MAAM,CAAC;QAEzB,IAAI,EAAE,oBAAoB,CAAC;KAC5B;IAED,UAAiB,mBAAmB;QAClC,YAAY,EAAE,MAAM,CAAC;QAErB,IAAI,EAAE,cAAc,CAAC;QAErB;;WAEG;QACH,iBAAiB,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;KACxD;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,KAAK,CAAC;IAEb,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEnB,KAAK,CAAC,EAAE,KAAK,CAAC,kBAAkB,GAAG,uBAAuB,GAAG,eAAe,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC;CACxG;AAED,MAAM,WAAW,8BAA8B;IAC7C,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,CAAC,OAAO,WAAW,uBAAuB,CAAC;IAC/C,OAAO,EACL,KAAK,kBAAkB,IAAI,kBAAkB,EAC7C,KAAK,KAAK,IAAI,KAAK,EACnB,KAAK,cAAc,IAAI,cAAc,EACrC,KAAK,KAAK,IAAI,KAAK,EACnB,KAAK,KAAK,IAAI,KAAK,EACnB,KAAK,aAAa,IAAI,aAAa,EACnC,KAAK,WAAW,IAAI,WAAW,EAC/B,KAAK,gBAAgB,IAAI,gBAAgB,EACzC,KAAK,+BAA+B,IAAI,+BAA+B,EACvE,KAAK,0BAA0B,IAAI,0BAA0B,EAC7D,KAAK,wBAAwB,IAAI,wBAAwB,EACzD,KAAK,8BAA8B,IAAI,8BAA8B,EACrE,KAAK,2BAA2B,IAAI,2BAA2B,GAChE,CAAC;CACH"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { APIResource } from "../core/resource.js";
|
|
2
2
|
import * as CheckoutIntentsAPI from "./checkout-intents.js";
|
|
3
3
|
import { APIPromise } from "../core/api-promise.js";
|
|
4
|
+
import { CursorPagination, type CursorPaginationParams, PagePromise } from "../core/pagination.js";
|
|
4
5
|
import { RequestOptions } from "../internal/request-options.js";
|
|
5
6
|
/**
|
|
6
7
|
* Options for polling operations.
|
|
@@ -25,11 +26,11 @@ export declare class CheckoutIntentsResource extends APIResource {
|
|
|
25
26
|
* buyer: {
|
|
26
27
|
* address1: '123 Main St',
|
|
27
28
|
* city: 'New York',
|
|
28
|
-
* country: '
|
|
29
|
+
* country: 'US',
|
|
29
30
|
* email: 'john.doe@example.com',
|
|
30
31
|
* firstName: 'John',
|
|
31
32
|
* lastName: 'Doe',
|
|
32
|
-
* phone: '
|
|
33
|
+
* phone: '1234567890',
|
|
33
34
|
* postalCode: '10001',
|
|
34
35
|
* province: 'NY',
|
|
35
36
|
* },
|
|
@@ -51,6 +52,21 @@ export declare class CheckoutIntentsResource extends APIResource {
|
|
|
51
52
|
* ```
|
|
52
53
|
*/
|
|
53
54
|
retrieve(id: string, options?: RequestOptions): APIPromise<CheckoutIntent>;
|
|
55
|
+
/**
|
|
56
|
+
* Retrieve a paginated list of checkout intents
|
|
57
|
+
*
|
|
58
|
+
* Enables developers to query checkout intents associated with their account, with
|
|
59
|
+
* filters and cursor-based pagination.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* // Automatically fetches more pages as needed.
|
|
64
|
+
* for await (const checkoutIntent of client.checkoutIntents.list()) {
|
|
65
|
+
* // ...
|
|
66
|
+
* }
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
list(query?: CheckoutIntentListParams | null | undefined, options?: RequestOptions): PagePromise<CheckoutIntentsCursorPagination, CheckoutIntent>;
|
|
54
70
|
/**
|
|
55
71
|
* Add payment details to a checkout intent
|
|
56
72
|
*
|
|
@@ -150,11 +166,11 @@ export declare class CheckoutIntentsResource extends APIResource {
|
|
|
150
166
|
* buyer: {
|
|
151
167
|
* address1: '123 Main St',
|
|
152
168
|
* city: 'New York',
|
|
153
|
-
* country: '
|
|
169
|
+
* country: 'US',
|
|
154
170
|
* email: 'john.doe@example.com',
|
|
155
171
|
* firstName: 'John',
|
|
156
172
|
* lastName: 'Doe',
|
|
157
|
-
* phone: '
|
|
173
|
+
* phone: '1234567890',
|
|
158
174
|
* postalCode: '10001',
|
|
159
175
|
* province: 'NY',
|
|
160
176
|
* },
|
|
@@ -197,6 +213,7 @@ export declare class CheckoutIntentsResource extends APIResource {
|
|
|
197
213
|
*/
|
|
198
214
|
confirmAndPoll(id: string, body: CheckoutIntentConfirmParams, options?: RequestOptions & PollOptions): Promise<CheckoutIntent.CompletedCheckoutIntent | CheckoutIntent.FailedCheckoutIntent>;
|
|
199
215
|
}
|
|
216
|
+
export type CheckoutIntentsCursorPagination = CursorPagination<CheckoutIntent>;
|
|
200
217
|
export interface BaseCheckoutIntent {
|
|
201
218
|
id: string;
|
|
202
219
|
buyer: Buyer;
|
|
@@ -234,6 +251,7 @@ export declare namespace CheckoutIntent {
|
|
|
234
251
|
}
|
|
235
252
|
interface CompletedCheckoutIntent extends CheckoutIntentsAPI.BaseCheckoutIntent {
|
|
236
253
|
offer: CheckoutIntentsAPI.Offer;
|
|
254
|
+
orderId: string | null;
|
|
237
255
|
paymentMethod: CheckoutIntentsAPI.PaymentMethod;
|
|
238
256
|
state: 'completed';
|
|
239
257
|
}
|
|
@@ -245,7 +263,7 @@ export declare namespace CheckoutIntent {
|
|
|
245
263
|
}
|
|
246
264
|
namespace FailedCheckoutIntent {
|
|
247
265
|
interface FailureReason {
|
|
248
|
-
code: 'checkout_intent_expired' | 'payment_failed' | 'insufficient_stock' | 'product_out_of_stock' | 'offer_retrieval_failed' | 'order_placement_failed' | 'developer_not_found' | 'missing_shipping_method' | 'unsupported_currency' | 'unsupported_store_no_guest_checkout';
|
|
266
|
+
code: 'checkout_intent_expired' | 'payment_failed' | 'insufficient_stock' | 'product_out_of_stock' | 'offer_retrieval_failed' | 'order_placement_failed' | 'developer_not_found' | 'missing_shipping_method' | 'unsupported_currency' | 'invalid_input' | 'unsupported_store_no_guest_checkout';
|
|
249
267
|
message: string;
|
|
250
268
|
}
|
|
251
269
|
}
|
|
@@ -308,6 +326,10 @@ export interface CheckoutIntentCreateParams {
|
|
|
308
326
|
quantity: number;
|
|
309
327
|
variantSelections?: Array<VariantSelection>;
|
|
310
328
|
}
|
|
329
|
+
export interface CheckoutIntentListParams extends CursorPaginationParams {
|
|
330
|
+
id?: Array<string>;
|
|
331
|
+
state?: Array<'retrieving_offer' | 'awaiting_confirmation' | 'placing_order' | 'completed' | 'failed'>;
|
|
332
|
+
}
|
|
311
333
|
export interface CheckoutIntentAddPaymentParams {
|
|
312
334
|
paymentMethod: PaymentMethod;
|
|
313
335
|
}
|
|
@@ -315,6 +337,6 @@ export interface CheckoutIntentConfirmParams {
|
|
|
315
337
|
paymentMethod: PaymentMethod;
|
|
316
338
|
}
|
|
317
339
|
export declare namespace CheckoutIntentsResource {
|
|
318
|
-
export { type BaseCheckoutIntent as BaseCheckoutIntent, type Buyer as Buyer, type CheckoutIntent as CheckoutIntent, type Money as Money, type Offer as Offer, type PaymentMethod as PaymentMethod, type PollOptions as PollOptions, type VariantSelection as VariantSelection, type CheckoutIntentCreateParams as CheckoutIntentCreateParams, type CheckoutIntentAddPaymentParams as CheckoutIntentAddPaymentParams, type CheckoutIntentConfirmParams as CheckoutIntentConfirmParams, };
|
|
340
|
+
export { type BaseCheckoutIntent as BaseCheckoutIntent, type Buyer as Buyer, type CheckoutIntent as CheckoutIntent, type Money as Money, type Offer as Offer, type PaymentMethod as PaymentMethod, type PollOptions as PollOptions, type VariantSelection as VariantSelection, type CheckoutIntentsCursorPagination as CheckoutIntentsCursorPagination, type CheckoutIntentCreateParams as CheckoutIntentCreateParams, type CheckoutIntentListParams as CheckoutIntentListParams, type CheckoutIntentAddPaymentParams as CheckoutIntentAddPaymentParams, type CheckoutIntentConfirmParams as CheckoutIntentConfirmParams, };
|
|
319
341
|
}
|
|
320
342
|
//# sourceMappingURL=checkout-intents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-intents.d.ts","sourceRoot":"","sources":["../src/resources/checkout-intents.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,KAAK,kBAAkB;
|
|
1
|
+
{"version":3,"file":"checkout-intents.d.ts","sourceRoot":"","sources":["../src/resources/checkout-intents.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.CheckoutIntentsResource = void 0;
|
|
5
5
|
const resource_1 = require("../core/resource.js");
|
|
6
|
+
const error_1 = require("../core/error.js");
|
|
7
|
+
const pagination_1 = require("../core/pagination.js");
|
|
6
8
|
const path_1 = require("../internal/utils/path.js");
|
|
7
9
|
const sleep_1 = require("../internal/utils/sleep.js");
|
|
8
10
|
const headers_1 = require("../internal/headers.js");
|
|
11
|
+
const log_1 = require("../internal/utils/log.js");
|
|
9
12
|
class CheckoutIntentsResource extends resource_1.APIResource {
|
|
10
13
|
/**
|
|
11
14
|
* Create a checkout intent with the given request body.
|
|
@@ -16,11 +19,11 @@ class CheckoutIntentsResource extends resource_1.APIResource {
|
|
|
16
19
|
* buyer: {
|
|
17
20
|
* address1: '123 Main St',
|
|
18
21
|
* city: 'New York',
|
|
19
|
-
* country: '
|
|
22
|
+
* country: 'US',
|
|
20
23
|
* email: 'john.doe@example.com',
|
|
21
24
|
* firstName: 'John',
|
|
22
25
|
* lastName: 'Doe',
|
|
23
|
-
* phone: '
|
|
26
|
+
* phone: '1234567890',
|
|
24
27
|
* postalCode: '10001',
|
|
25
28
|
* province: 'NY',
|
|
26
29
|
* },
|
|
@@ -46,6 +49,26 @@ class CheckoutIntentsResource extends resource_1.APIResource {
|
|
|
46
49
|
retrieve(id, options) {
|
|
47
50
|
return this._client.get((0, path_1.path) `/api/v1/checkout-intents/${id}`, options);
|
|
48
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Retrieve a paginated list of checkout intents
|
|
54
|
+
*
|
|
55
|
+
* Enables developers to query checkout intents associated with their account, with
|
|
56
|
+
* filters and cursor-based pagination.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* // Automatically fetches more pages as needed.
|
|
61
|
+
* for await (const checkoutIntent of client.checkoutIntents.list()) {
|
|
62
|
+
* // ...
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
list(query = {}, options) {
|
|
67
|
+
return this._client.getAPIList('/api/v1/checkout-intents', (pagination_1.CursorPagination), {
|
|
68
|
+
query,
|
|
69
|
+
...options,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
49
72
|
/**
|
|
50
73
|
* Add payment details to a checkout intent
|
|
51
74
|
*
|
|
@@ -98,9 +121,12 @@ class CheckoutIntentsResource extends resource_1.APIResource {
|
|
|
98
121
|
* ```
|
|
99
122
|
*/
|
|
100
123
|
async pollUntil(id, condition, options) {
|
|
101
|
-
|
|
124
|
+
let maxAttempts = options?.maxAttempts ?? 120; // Default: 120 attempts
|
|
102
125
|
const pollIntervalMs = options?.pollIntervalMs ?? 5000; // Default: 5 seconds
|
|
103
|
-
|
|
126
|
+
if (maxAttempts < 1) {
|
|
127
|
+
(0, log_1.loggerFor)(this._client).warn(`[Checkout Intents SDK] Invalid maxAttempts value: ${maxAttempts}. maxAttempts must be >= 1. Defaulting to 1 to ensure at least one polling attempt.`);
|
|
128
|
+
maxAttempts = 1;
|
|
129
|
+
}
|
|
104
130
|
const headers = (0, headers_1.buildHeaders)([
|
|
105
131
|
options?.headers,
|
|
106
132
|
{
|
|
@@ -108,11 +134,14 @@ class CheckoutIntentsResource extends resource_1.APIResource {
|
|
|
108
134
|
'X-Stainless-Custom-Poll-Interval': pollIntervalMs.toString(),
|
|
109
135
|
},
|
|
110
136
|
]);
|
|
137
|
+
let intent;
|
|
138
|
+
let attempts = 0;
|
|
111
139
|
while (attempts < maxAttempts) {
|
|
112
|
-
const { data
|
|
140
|
+
const { data, response } = await this.retrieve(id, {
|
|
113
141
|
...options,
|
|
114
142
|
headers: { ...options?.headers, ...headers.values },
|
|
115
143
|
}).withResponse();
|
|
144
|
+
intent = data;
|
|
116
145
|
// Check if condition is met
|
|
117
146
|
if (condition(intent)) {
|
|
118
147
|
return intent;
|
|
@@ -120,7 +149,13 @@ class CheckoutIntentsResource extends resource_1.APIResource {
|
|
|
120
149
|
attempts++;
|
|
121
150
|
// If we've reached max attempts, throw an error
|
|
122
151
|
if (attempts >= maxAttempts) {
|
|
123
|
-
throw new
|
|
152
|
+
throw new error_1.PollTimeoutError({
|
|
153
|
+
intentId: intent.id,
|
|
154
|
+
attempts,
|
|
155
|
+
maxAttempts,
|
|
156
|
+
pollIntervalMs,
|
|
157
|
+
message: `Polling timeout: condition not met after ${maxAttempts} attempts (${(maxAttempts * pollIntervalMs) / 1000}s)`,
|
|
158
|
+
});
|
|
124
159
|
}
|
|
125
160
|
// Check if server suggests a polling interval
|
|
126
161
|
let sleepInterval = pollIntervalMs;
|
|
@@ -134,7 +169,13 @@ class CheckoutIntentsResource extends resource_1.APIResource {
|
|
|
134
169
|
await (0, sleep_1.sleep)(sleepInterval);
|
|
135
170
|
}
|
|
136
171
|
// This should never be reached due to the throw above, but TypeScript needs it
|
|
137
|
-
throw new
|
|
172
|
+
throw new error_1.PollTimeoutError({
|
|
173
|
+
intentId: intent.id,
|
|
174
|
+
attempts,
|
|
175
|
+
maxAttempts,
|
|
176
|
+
pollIntervalMs,
|
|
177
|
+
message: `Polling timeout: condition not met after ${maxAttempts} attempts`,
|
|
178
|
+
});
|
|
138
179
|
}
|
|
139
180
|
/**
|
|
140
181
|
* A helper to poll a checkout intent until it reaches a completed state
|
|
@@ -191,11 +232,11 @@ class CheckoutIntentsResource extends resource_1.APIResource {
|
|
|
191
232
|
* buyer: {
|
|
192
233
|
* address1: '123 Main St',
|
|
193
234
|
* city: 'New York',
|
|
194
|
-
* country: '
|
|
235
|
+
* country: 'US',
|
|
195
236
|
* email: 'john.doe@example.com',
|
|
196
237
|
* firstName: 'John',
|
|
197
238
|
* lastName: 'Doe',
|
|
198
|
-
* phone: '
|
|
239
|
+
* phone: '1234567890',
|
|
199
240
|
* postalCode: '10001',
|
|
200
241
|
* province: 'NY',
|
|
201
242
|
* },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-intents.js","sourceRoot":"","sources":["../src/resources/checkout-intents.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;
|
|
1
|
+
{"version":3,"file":"checkout-intents.js","sourceRoot":"","sources":["../src/resources/checkout-intents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
import { APIResource } from "../core/resource.mjs";
|
|
3
|
+
import { PollTimeoutError } from "../core/error.mjs";
|
|
4
|
+
import { CursorPagination } from "../core/pagination.mjs";
|
|
3
5
|
import { path } from "../internal/utils/path.mjs";
|
|
4
6
|
import { sleep } from "../internal/utils/sleep.mjs";
|
|
5
7
|
import { buildHeaders } from "../internal/headers.mjs";
|
|
8
|
+
import { loggerFor } from "../internal/utils/log.mjs";
|
|
6
9
|
export class CheckoutIntentsResource extends APIResource {
|
|
7
10
|
/**
|
|
8
11
|
* Create a checkout intent with the given request body.
|
|
@@ -13,11 +16,11 @@ export class CheckoutIntentsResource extends APIResource {
|
|
|
13
16
|
* buyer: {
|
|
14
17
|
* address1: '123 Main St',
|
|
15
18
|
* city: 'New York',
|
|
16
|
-
* country: '
|
|
19
|
+
* country: 'US',
|
|
17
20
|
* email: 'john.doe@example.com',
|
|
18
21
|
* firstName: 'John',
|
|
19
22
|
* lastName: 'Doe',
|
|
20
|
-
* phone: '
|
|
23
|
+
* phone: '1234567890',
|
|
21
24
|
* postalCode: '10001',
|
|
22
25
|
* province: 'NY',
|
|
23
26
|
* },
|
|
@@ -43,6 +46,26 @@ export class CheckoutIntentsResource extends APIResource {
|
|
|
43
46
|
retrieve(id, options) {
|
|
44
47
|
return this._client.get(path `/api/v1/checkout-intents/${id}`, options);
|
|
45
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Retrieve a paginated list of checkout intents
|
|
51
|
+
*
|
|
52
|
+
* Enables developers to query checkout intents associated with their account, with
|
|
53
|
+
* filters and cursor-based pagination.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* // Automatically fetches more pages as needed.
|
|
58
|
+
* for await (const checkoutIntent of client.checkoutIntents.list()) {
|
|
59
|
+
* // ...
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
list(query = {}, options) {
|
|
64
|
+
return this._client.getAPIList('/api/v1/checkout-intents', (CursorPagination), {
|
|
65
|
+
query,
|
|
66
|
+
...options,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
46
69
|
/**
|
|
47
70
|
* Add payment details to a checkout intent
|
|
48
71
|
*
|
|
@@ -95,9 +118,12 @@ export class CheckoutIntentsResource extends APIResource {
|
|
|
95
118
|
* ```
|
|
96
119
|
*/
|
|
97
120
|
async pollUntil(id, condition, options) {
|
|
98
|
-
|
|
121
|
+
let maxAttempts = options?.maxAttempts ?? 120; // Default: 120 attempts
|
|
99
122
|
const pollIntervalMs = options?.pollIntervalMs ?? 5000; // Default: 5 seconds
|
|
100
|
-
|
|
123
|
+
if (maxAttempts < 1) {
|
|
124
|
+
loggerFor(this._client).warn(`[Checkout Intents SDK] Invalid maxAttempts value: ${maxAttempts}. maxAttempts must be >= 1. Defaulting to 1 to ensure at least one polling attempt.`);
|
|
125
|
+
maxAttempts = 1;
|
|
126
|
+
}
|
|
101
127
|
const headers = buildHeaders([
|
|
102
128
|
options?.headers,
|
|
103
129
|
{
|
|
@@ -105,11 +131,14 @@ export class CheckoutIntentsResource extends APIResource {
|
|
|
105
131
|
'X-Stainless-Custom-Poll-Interval': pollIntervalMs.toString(),
|
|
106
132
|
},
|
|
107
133
|
]);
|
|
134
|
+
let intent;
|
|
135
|
+
let attempts = 0;
|
|
108
136
|
while (attempts < maxAttempts) {
|
|
109
|
-
const { data
|
|
137
|
+
const { data, response } = await this.retrieve(id, {
|
|
110
138
|
...options,
|
|
111
139
|
headers: { ...options?.headers, ...headers.values },
|
|
112
140
|
}).withResponse();
|
|
141
|
+
intent = data;
|
|
113
142
|
// Check if condition is met
|
|
114
143
|
if (condition(intent)) {
|
|
115
144
|
return intent;
|
|
@@ -117,7 +146,13 @@ export class CheckoutIntentsResource extends APIResource {
|
|
|
117
146
|
attempts++;
|
|
118
147
|
// If we've reached max attempts, throw an error
|
|
119
148
|
if (attempts >= maxAttempts) {
|
|
120
|
-
throw new
|
|
149
|
+
throw new PollTimeoutError({
|
|
150
|
+
intentId: intent.id,
|
|
151
|
+
attempts,
|
|
152
|
+
maxAttempts,
|
|
153
|
+
pollIntervalMs,
|
|
154
|
+
message: `Polling timeout: condition not met after ${maxAttempts} attempts (${(maxAttempts * pollIntervalMs) / 1000}s)`,
|
|
155
|
+
});
|
|
121
156
|
}
|
|
122
157
|
// Check if server suggests a polling interval
|
|
123
158
|
let sleepInterval = pollIntervalMs;
|
|
@@ -131,7 +166,13 @@ export class CheckoutIntentsResource extends APIResource {
|
|
|
131
166
|
await sleep(sleepInterval);
|
|
132
167
|
}
|
|
133
168
|
// This should never be reached due to the throw above, but TypeScript needs it
|
|
134
|
-
throw new
|
|
169
|
+
throw new PollTimeoutError({
|
|
170
|
+
intentId: intent.id,
|
|
171
|
+
attempts,
|
|
172
|
+
maxAttempts,
|
|
173
|
+
pollIntervalMs,
|
|
174
|
+
message: `Polling timeout: condition not met after ${maxAttempts} attempts`,
|
|
175
|
+
});
|
|
135
176
|
}
|
|
136
177
|
/**
|
|
137
178
|
* A helper to poll a checkout intent until it reaches a completed state
|
|
@@ -188,11 +229,11 @@ export class CheckoutIntentsResource extends APIResource {
|
|
|
188
229
|
* buyer: {
|
|
189
230
|
* address1: '123 Main St',
|
|
190
231
|
* city: 'New York',
|
|
191
|
-
* country: '
|
|
232
|
+
* country: 'US',
|
|
192
233
|
* email: 'john.doe@example.com',
|
|
193
234
|
* firstName: 'John',
|
|
194
235
|
* lastName: 'Doe',
|
|
195
|
-
* phone: '
|
|
236
|
+
* phone: '1234567890',
|
|
196
237
|
* postalCode: '10001',
|
|
197
238
|
* province: 'NY',
|
|
198
239
|
* },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-intents.mjs","sourceRoot":"","sources":["../src/resources/checkout-intents.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"checkout-intents.mjs","sourceRoot":"","sources":["../src/resources/checkout-intents.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,gBAAgB,EAAE;OAEpB,EAAE,gBAAgB,EAA4C;OAE9D,EAAE,IAAI,EAAE;OACR,EAAE,KAAK,EAAE;OACT,EAAE,YAAY,EAAE;OAChB,EAAE,SAAS,EAAE;AAiBpB,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,IAAgC,EAAE,OAAwB;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,4BAA4B,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,CACF,QAAqD,EAAE,EACvD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,0BAA0B,EAAE,CAAA,gBAAgC,CAAA,EAAE;YAC3F,KAAK;YACL,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,UAAU,CACR,EAAU,EACV,IAAoC,EACpC,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,4BAA4B,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CACL,EAAU,EACV,IAAiC,EACjC,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,4BAA4B,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,SAAS,CACrB,EAAU,EACV,SAAkD,EAClD,OAAsC;QAEtC,IAAI,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,GAAG,CAAC,CAAC,wBAAwB;QACvE,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC,CAAC,qBAAqB;QAE7E,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC1B,qDAAqD,WAAW,qFAAqF,CACtJ,CAAC;YAEF,WAAW,GAAG,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,OAAO,EAAE,OAAO;YAChB;gBACE,yBAAyB,EAAE,MAAM;gBACjC,kCAAkC,EAAE,cAAc,CAAC,QAAQ,EAAE;aAC9D;SACF,CAAC,CAAC;QAEH,IAAI,MAAyC,CAAC;QAC9C,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC9B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBACjD,GAAG,OAAO;gBACV,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;aACpD,CAAC,CAAC,YAAY,EAAE,CAAC;YAElB,MAAM,GAAG,IAAI,CAAC;YAEd,4BAA4B;YAC5B,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,QAAQ,EAAE,CAAC;YAEX,gDAAgD;YAChD,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;gBAC5B,MAAM,IAAI,gBAAgB,CAAC;oBACzB,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,QAAQ;oBACR,WAAW;oBACX,cAAc;oBACd,OAAO,EAAE,4CAA4C,WAAW,cAC9D,CAAC,WAAW,GAAG,cAAc,CAAC,GAAG,IACnC,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YAED,8CAA8C;YAC9C,IAAI,aAAa,GAAG,cAAc,CAAC;YACnC,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9D,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC7B,aAAa,GAAG,gBAAgB,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7B,CAAC;QAED,+EAA+E;QAC/E,MAAM,IAAI,gBAAgB,CAAC;YACzB,QAAQ,EAAE,MAAO,CAAC,EAAE;YACpB,QAAQ;YACR,WAAW;YACX,cAAc;YACd,OAAO,EAAE,4CAA4C,WAAW,WAAW;SAC5E,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,kBAAkB,CACtB,EAAU,EACV,OAAsC;QAEtC,OAAO,IAAI,CAAC,SAAS,CACnB,EAAE,EACF,CAAC,MAAM,EAA0F,EAAE,CACjG,MAAM,CAAC,KAAK,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAC3D,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,6BAA6B,CACjC,EAAU,EACV,OAAsC;QAEtC,OAAO,IAAI,CAAC,SAAS,CACnB,EAAE,EACF,CACE,MAAM,EAC6F,EAAE,CACrG,MAAM,CAAC,KAAK,KAAK,uBAAuB,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EACvE,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,KAAK,CAAC,aAAa,CACjB,IAAgC,EAChC,OAAsC;QAEtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,cAAc,CAClB,EAAU,EACV,IAAiC,EACjC,OAAsC;QAEtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;CACF"}
|
package/resources/index.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { Brands, type BrandRetrieveResponse } from "./brands.mjs";
|
|
2
|
-
export { CheckoutIntentsResource, type BaseCheckoutIntent, type Buyer, type CheckoutIntent, type Money, type Offer, type PaymentMethod, type VariantSelection, type CheckoutIntentCreateParams, type CheckoutIntentAddPaymentParams, type CheckoutIntentConfirmParams, } from "./checkout-intents.mjs";
|
|
2
|
+
export { CheckoutIntentsResource, type BaseCheckoutIntent, type Buyer, type CheckoutIntent, type Money, type Offer, type PaymentMethod, type VariantSelection, type CheckoutIntentCreateParams, type CheckoutIntentListParams, type CheckoutIntentAddPaymentParams, type CheckoutIntentConfirmParams, type CheckoutIntentsCursorPagination, } from "./checkout-intents.mjs";
|
|
3
3
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,KAAK,qBAAqB,EAAE;OACtC,EACL,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,KAAK,qBAAqB,EAAE;OACtC,EACL,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,GACrC"}
|
package/resources/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { Brands, type BrandRetrieveResponse } from "./brands.js";
|
|
2
|
-
export { CheckoutIntentsResource, type BaseCheckoutIntent, type Buyer, type CheckoutIntent, type Money, type Offer, type PaymentMethod, type VariantSelection, type CheckoutIntentCreateParams, type CheckoutIntentAddPaymentParams, type CheckoutIntentConfirmParams, } from "./checkout-intents.js";
|
|
2
|
+
export { CheckoutIntentsResource, type BaseCheckoutIntent, type Buyer, type CheckoutIntent, type Money, type Offer, type PaymentMethod, type VariantSelection, type CheckoutIntentCreateParams, type CheckoutIntentListParams, type CheckoutIntentAddPaymentParams, type CheckoutIntentConfirmParams, type CheckoutIntentsCursorPagination, } from "./checkout-intents.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/resources/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,KAAK,qBAAqB,EAAE;OACtC,EACL,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,KAAK,qBAAqB,EAAE;OACtC,EACL,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,GACrC"}
|
package/resources/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,sCAA8D;AAArD,gGAAA,MAAM,OAAA;AACf,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,sCAA8D;AAArD,gGAAA,MAAM,OAAA;AACf,0DAc4B;AAb1B,2HAAA,uBAAuB,OAAA"}
|
package/resources/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,MAAM,EAA8B;OACtC,EACL,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,MAAM,EAA8B;OACtC,EACL,uBAAuB,GAaxB"}
|
package/src/client.ts
CHANGED
|
@@ -11,8 +11,11 @@ import type { APIResponseProps } from './internal/parse';
|
|
|
11
11
|
import { getPlatformHeaders } from './internal/detect-platform';
|
|
12
12
|
import * as Shims from './internal/shims';
|
|
13
13
|
import * as Opts from './internal/request-options';
|
|
14
|
+
import * as qs from './internal/qs';
|
|
14
15
|
import { VERSION } from './version';
|
|
15
16
|
import * as Errors from './core/error';
|
|
17
|
+
import * as Pagination from './core/pagination';
|
|
18
|
+
import { AbstractPage, type CursorPaginationParams, CursorPaginationResponse } from './core/pagination';
|
|
16
19
|
import * as Uploads from './core/uploads';
|
|
17
20
|
import * as API from './resources/index';
|
|
18
21
|
import { APIPromise } from './core/api-promise';
|
|
@@ -24,6 +27,8 @@ import {
|
|
|
24
27
|
CheckoutIntentAddPaymentParams,
|
|
25
28
|
CheckoutIntentConfirmParams,
|
|
26
29
|
CheckoutIntentCreateParams,
|
|
30
|
+
CheckoutIntentListParams,
|
|
31
|
+
CheckoutIntentsCursorPagination,
|
|
27
32
|
CheckoutIntentsResource,
|
|
28
33
|
Money,
|
|
29
34
|
Offer,
|
|
@@ -269,24 +274,8 @@ export class CheckoutIntents {
|
|
|
269
274
|
return buildHeaders([{ Authorization: `Bearer ${this.apiKey}` }]);
|
|
270
275
|
}
|
|
271
276
|
|
|
272
|
-
/**
|
|
273
|
-
* Basic re-implementation of `qs.stringify` for primitive types.
|
|
274
|
-
*/
|
|
275
277
|
protected stringifyQuery(query: Record<string, unknown>): string {
|
|
276
|
-
return
|
|
277
|
-
.filter(([_, value]) => typeof value !== 'undefined')
|
|
278
|
-
.map(([key, value]) => {
|
|
279
|
-
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
|
280
|
-
return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
281
|
-
}
|
|
282
|
-
if (value === null) {
|
|
283
|
-
return `${encodeURIComponent(key)}=`;
|
|
284
|
-
}
|
|
285
|
-
throw new Errors.CheckoutIntentsError(
|
|
286
|
-
`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`,
|
|
287
|
-
);
|
|
288
|
-
})
|
|
289
|
-
.join('&');
|
|
278
|
+
return qs.stringify(query, { arrayFormat: 'comma' });
|
|
290
279
|
}
|
|
291
280
|
|
|
292
281
|
private getUserAgent(): string {
|
|
@@ -541,6 +530,25 @@ export class CheckoutIntents {
|
|
|
541
530
|
return { response, options, controller, requestLogID, retryOfRequestLogID, startTime };
|
|
542
531
|
}
|
|
543
532
|
|
|
533
|
+
getAPIList<Item, PageClass extends Pagination.AbstractPage<Item> = Pagination.AbstractPage<Item>>(
|
|
534
|
+
path: string,
|
|
535
|
+
Page: new (...args: any[]) => PageClass,
|
|
536
|
+
opts?: RequestOptions,
|
|
537
|
+
): Pagination.PagePromise<PageClass, Item> {
|
|
538
|
+
return this.requestAPIList(Page, { method: 'get', path, ...opts });
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
requestAPIList<
|
|
542
|
+
Item = unknown,
|
|
543
|
+
PageClass extends Pagination.AbstractPage<Item> = Pagination.AbstractPage<Item>,
|
|
544
|
+
>(
|
|
545
|
+
Page: new (...args: ConstructorParameters<typeof Pagination.AbstractPage>) => PageClass,
|
|
546
|
+
options: FinalRequestOptions,
|
|
547
|
+
): Pagination.PagePromise<PageClass, Item> {
|
|
548
|
+
const request = this.makeRequest(options, null, undefined);
|
|
549
|
+
return new Pagination.PagePromise<PageClass, Item>(this as any as CheckoutIntents, request, Page);
|
|
550
|
+
}
|
|
551
|
+
|
|
544
552
|
async fetchWithTimeout(
|
|
545
553
|
url: RequestInfo,
|
|
546
554
|
init: RequestInit | undefined,
|
|
@@ -783,6 +791,12 @@ CheckoutIntents.Brands = Brands;
|
|
|
783
791
|
export declare namespace CheckoutIntents {
|
|
784
792
|
export type RequestOptions = Opts.RequestOptions;
|
|
785
793
|
|
|
794
|
+
export import CursorPagination = Pagination.CursorPagination;
|
|
795
|
+
export {
|
|
796
|
+
type CursorPaginationParams as CursorPaginationParams,
|
|
797
|
+
type CursorPaginationResponse as CursorPaginationResponse,
|
|
798
|
+
};
|
|
799
|
+
|
|
786
800
|
export {
|
|
787
801
|
CheckoutIntentsResource as CheckoutIntentsResource,
|
|
788
802
|
type BaseCheckoutIntent as BaseCheckoutIntent,
|
|
@@ -792,7 +806,9 @@ export declare namespace CheckoutIntents {
|
|
|
792
806
|
type Offer as Offer,
|
|
793
807
|
type PaymentMethod as PaymentMethod,
|
|
794
808
|
type VariantSelection as VariantSelection,
|
|
809
|
+
type CheckoutIntentsCursorPagination as CheckoutIntentsCursorPagination,
|
|
795
810
|
type CheckoutIntentCreateParams as CheckoutIntentCreateParams,
|
|
811
|
+
type CheckoutIntentListParams as CheckoutIntentListParams,
|
|
796
812
|
type CheckoutIntentAddPaymentParams as CheckoutIntentAddPaymentParams,
|
|
797
813
|
type CheckoutIntentConfirmParams as CheckoutIntentConfirmParams,
|
|
798
814
|
};
|
package/src/core/error.ts
CHANGED
|
@@ -128,3 +128,46 @@ export class UnprocessableEntityError extends APIError<422, Headers> {}
|
|
|
128
128
|
export class RateLimitError extends APIError<429, Headers> {}
|
|
129
129
|
|
|
130
130
|
export class InternalServerError extends APIError<number, Headers> {}
|
|
131
|
+
|
|
132
|
+
export class PollTimeoutError extends CheckoutIntentsError {
|
|
133
|
+
/** The checkout intent ID that was being polled */
|
|
134
|
+
readonly intentId: string;
|
|
135
|
+
/** Number of attempts made before timing out */
|
|
136
|
+
readonly attempts: number;
|
|
137
|
+
/** Polling interval in milliseconds */
|
|
138
|
+
readonly pollIntervalMs: number;
|
|
139
|
+
/** Maximum number of attempts configured */
|
|
140
|
+
readonly maxAttempts: number;
|
|
141
|
+
|
|
142
|
+
constructor({
|
|
143
|
+
intentId,
|
|
144
|
+
attempts,
|
|
145
|
+
pollIntervalMs,
|
|
146
|
+
maxAttempts,
|
|
147
|
+
message,
|
|
148
|
+
}: {
|
|
149
|
+
intentId: string;
|
|
150
|
+
attempts: number;
|
|
151
|
+
pollIntervalMs: number;
|
|
152
|
+
maxAttempts: number;
|
|
153
|
+
message?: string;
|
|
154
|
+
}) {
|
|
155
|
+
function createDefaultMessage() {
|
|
156
|
+
const totalTimeInSeconds = (maxAttempts * pollIntervalMs) / 1000;
|
|
157
|
+
return (
|
|
158
|
+
`Polling timeout for checkout intent '${intentId}': ` +
|
|
159
|
+
`condition not met after ${attempts} attempts (${totalTimeInSeconds}s). ` +
|
|
160
|
+
`Consider increasing maxAttempts, pollingIntervalMs, or checking the intent state manually.`
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
const finalMessage = message ?? createDefaultMessage();
|
|
165
|
+
|
|
166
|
+
super(finalMessage);
|
|
167
|
+
|
|
168
|
+
this.intentId = intentId;
|
|
169
|
+
this.attempts = attempts;
|
|
170
|
+
this.pollIntervalMs = pollIntervalMs;
|
|
171
|
+
this.maxAttempts = maxAttempts;
|
|
172
|
+
}
|
|
173
|
+
}
|