dodopayments 2.32.0 → 2.32.2
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 +25 -0
- package/bin/migration-config.json +17 -17
- package/client.d.mts +15 -15
- package/client.d.mts.map +1 -1
- package/client.d.ts +15 -15
- package/client.d.ts.map +1 -1
- package/package.json +1 -1
- package/resources/addons.d.mts +4 -4
- package/resources/addons.d.mts.map +1 -1
- package/resources/addons.d.ts +4 -4
- package/resources/addons.d.ts.map +1 -1
- package/resources/addons.js +6 -6
- package/resources/addons.js.map +1 -1
- package/resources/addons.mjs +6 -6
- package/resources/addons.mjs.map +1 -1
- package/resources/brands.d.mts +1 -1
- package/resources/brands.d.mts.map +1 -1
- package/resources/brands.d.ts +1 -1
- package/resources/brands.d.ts.map +1 -1
- package/resources/brands.js +3 -3
- package/resources/brands.js.map +1 -1
- package/resources/brands.mjs +3 -3
- package/resources/brands.mjs.map +1 -1
- package/resources/credit-entitlements/balances.d.mts +69 -69
- package/resources/credit-entitlements/balances.d.mts.map +1 -1
- package/resources/credit-entitlements/balances.d.ts +69 -69
- package/resources/credit-entitlements/balances.d.ts.map +1 -1
- package/resources/credit-entitlements/balances.js +41 -41
- package/resources/credit-entitlements/balances.js.map +1 -1
- package/resources/credit-entitlements/balances.mjs +41 -41
- package/resources/credit-entitlements/balances.mjs.map +1 -1
- package/resources/credit-entitlements/credit-entitlements.d.mts +38 -38
- package/resources/credit-entitlements/credit-entitlements.d.mts.map +1 -1
- package/resources/credit-entitlements/credit-entitlements.d.ts +38 -38
- package/resources/credit-entitlements/credit-entitlements.d.ts.map +1 -1
- package/resources/credit-entitlements/credit-entitlements.js +40 -40
- package/resources/credit-entitlements/credit-entitlements.js.map +1 -1
- package/resources/credit-entitlements/credit-entitlements.mjs +40 -40
- package/resources/credit-entitlements/credit-entitlements.mjs.map +1 -1
- package/resources/credit-entitlements/index.d.mts +2 -2
- package/resources/credit-entitlements/index.d.mts.map +1 -1
- package/resources/credit-entitlements/index.d.ts +2 -2
- package/resources/credit-entitlements/index.d.ts.map +1 -1
- package/resources/customers/customers.d.mts +23 -23
- package/resources/customers/customers.d.mts.map +1 -1
- package/resources/customers/customers.d.ts +23 -23
- package/resources/customers/customers.d.ts.map +1 -1
- package/resources/customers/customers.js +16 -16
- package/resources/customers/customers.js.map +1 -1
- package/resources/customers/customers.mjs +16 -16
- package/resources/customers/customers.mjs.map +1 -1
- package/resources/customers/index.d.mts +1 -1
- package/resources/customers/index.d.mts.map +1 -1
- package/resources/customers/index.d.ts +1 -1
- package/resources/customers/index.d.ts.map +1 -1
- package/resources/customers/wallets/index.d.mts +1 -1
- package/resources/customers/wallets/index.d.mts.map +1 -1
- package/resources/customers/wallets/index.d.ts +1 -1
- package/resources/customers/wallets/index.d.ts.map +1 -1
- package/resources/customers/wallets/ledger-entries.d.mts +8 -8
- package/resources/customers/wallets/ledger-entries.d.mts.map +1 -1
- package/resources/customers/wallets/ledger-entries.d.ts +8 -8
- package/resources/customers/wallets/ledger-entries.d.ts.map +1 -1
- package/resources/customers/wallets/ledger-entries.js +3 -3
- package/resources/customers/wallets/ledger-entries.js.map +1 -1
- package/resources/customers/wallets/ledger-entries.mjs +3 -3
- package/resources/customers/wallets/ledger-entries.mjs.map +1 -1
- package/resources/customers/wallets/wallets.d.mts +1 -1
- package/resources/customers/wallets/wallets.d.mts.map +1 -1
- package/resources/customers/wallets/wallets.d.ts +1 -1
- package/resources/customers/wallets/wallets.d.ts.map +1 -1
- package/resources/discounts.d.mts +27 -27
- package/resources/discounts.d.mts.map +1 -1
- package/resources/discounts.d.ts +27 -27
- package/resources/discounts.d.ts.map +1 -1
- package/resources/discounts.js +15 -15
- package/resources/discounts.js.map +1 -1
- package/resources/discounts.mjs +15 -15
- package/resources/discounts.mjs.map +1 -1
- package/resources/disputes.d.mts +1 -1
- package/resources/disputes.d.mts.map +1 -1
- package/resources/disputes.d.ts +1 -1
- package/resources/disputes.d.ts.map +1 -1
- package/resources/disputes.js +3 -3
- package/resources/disputes.js.map +1 -1
- package/resources/disputes.mjs +3 -3
- package/resources/disputes.mjs.map +1 -1
- package/resources/entitlements/entitlements.d.mts +15 -15
- package/resources/entitlements/entitlements.d.mts.map +1 -1
- package/resources/entitlements/entitlements.d.ts +15 -15
- package/resources/entitlements/entitlements.d.ts.map +1 -1
- package/resources/entitlements/entitlements.js +15 -15
- package/resources/entitlements/entitlements.js.map +1 -1
- package/resources/entitlements/entitlements.mjs +15 -15
- package/resources/entitlements/entitlements.mjs.map +1 -1
- package/resources/entitlements/files.d.mts +4 -4
- package/resources/entitlements/files.d.mts.map +1 -1
- package/resources/entitlements/files.d.ts +4 -4
- package/resources/entitlements/files.d.ts.map +1 -1
- package/resources/entitlements/files.js +6 -6
- package/resources/entitlements/files.js.map +1 -1
- package/resources/entitlements/files.mjs +6 -6
- package/resources/entitlements/files.mjs.map +1 -1
- package/resources/entitlements/index.d.mts +1 -1
- package/resources/entitlements/index.d.mts.map +1 -1
- package/resources/entitlements/index.d.ts +1 -1
- package/resources/entitlements/index.d.ts.map +1 -1
- package/resources/index.d.mts +15 -15
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +15 -15
- package/resources/index.d.ts.map +1 -1
- package/resources/invoices/payments.d.mts +1 -1
- package/resources/invoices/payments.d.ts +1 -1
- package/resources/invoices/payments.js +4 -4
- package/resources/invoices/payments.mjs +4 -4
- package/resources/license-key-instances.d.mts +14 -14
- package/resources/license-key-instances.d.mts.map +1 -1
- package/resources/license-key-instances.d.ts +14 -14
- package/resources/license-key-instances.d.ts.map +1 -1
- package/resources/license-key-instances.js +12 -12
- package/resources/license-key-instances.js.map +1 -1
- package/resources/license-key-instances.mjs +12 -12
- package/resources/license-key-instances.mjs.map +1 -1
- package/resources/license-keys.d.mts +38 -38
- package/resources/license-keys.d.mts.map +1 -1
- package/resources/license-keys.d.ts +38 -38
- package/resources/license-keys.d.ts.map +1 -1
- package/resources/license-keys.js +16 -16
- package/resources/license-keys.js.map +1 -1
- package/resources/license-keys.mjs +16 -16
- package/resources/license-keys.mjs.map +1 -1
- package/resources/meters.d.mts +8 -8
- package/resources/meters.d.mts.map +1 -1
- package/resources/meters.d.ts +8 -8
- package/resources/meters.d.ts.map +1 -1
- package/resources/meters.js +3 -3
- package/resources/meters.js.map +1 -1
- package/resources/meters.mjs +3 -3
- package/resources/meters.mjs.map +1 -1
- package/resources/payments.d.mts +32 -32
- package/resources/payments.d.mts.map +1 -1
- package/resources/payments.d.ts +32 -32
- package/resources/payments.d.ts.map +1 -1
- package/resources/payments.js +6 -6
- package/resources/payments.js.map +1 -1
- package/resources/payments.mjs +6 -6
- package/resources/payments.mjs.map +1 -1
- package/resources/product-collections/groups/groups.d.mts +9 -9
- package/resources/product-collections/groups/groups.d.mts.map +1 -1
- package/resources/product-collections/groups/groups.d.ts +9 -9
- package/resources/product-collections/groups/groups.d.ts.map +1 -1
- package/resources/product-collections/groups/groups.js +7 -7
- package/resources/product-collections/groups/groups.js.map +1 -1
- package/resources/product-collections/groups/groups.mjs +7 -7
- package/resources/product-collections/groups/groups.mjs.map +1 -1
- package/resources/product-collections/groups/index.d.mts +2 -2
- package/resources/product-collections/groups/index.d.ts +2 -2
- package/resources/product-collections/groups/items.d.mts +12 -12
- package/resources/product-collections/groups/items.d.mts.map +1 -1
- package/resources/product-collections/groups/items.d.ts +12 -12
- package/resources/product-collections/groups/items.d.ts.map +1 -1
- package/resources/product-collections/groups/items.js +7 -7
- package/resources/product-collections/groups/items.js.map +1 -1
- package/resources/product-collections/groups/items.mjs +7 -7
- package/resources/product-collections/groups/items.mjs.map +1 -1
- package/resources/product-collections/index.d.mts +2 -2
- package/resources/product-collections/index.d.mts.map +1 -1
- package/resources/product-collections/index.d.ts +2 -2
- package/resources/product-collections/index.d.ts.map +1 -1
- package/resources/product-collections/product-collections.d.mts +15 -15
- package/resources/product-collections/product-collections.d.mts.map +1 -1
- package/resources/product-collections/product-collections.d.ts +15 -15
- package/resources/product-collections/product-collections.d.ts.map +1 -1
- package/resources/product-collections/product-collections.js +11 -11
- package/resources/product-collections/product-collections.js.map +1 -1
- package/resources/product-collections/product-collections.mjs +11 -11
- package/resources/product-collections/product-collections.mjs.map +1 -1
- package/resources/products/index.d.mts +2 -2
- package/resources/products/index.d.mts.map +1 -1
- package/resources/products/index.d.ts +2 -2
- package/resources/products/index.d.ts.map +1 -1
- package/resources/products/products.d.mts +21 -21
- package/resources/products/products.d.mts.map +1 -1
- package/resources/products/products.d.ts +21 -21
- package/resources/products/products.d.ts.map +1 -1
- package/resources/products/products.js +6 -6
- package/resources/products/products.js.map +1 -1
- package/resources/products/products.mjs +6 -6
- package/resources/products/products.mjs.map +1 -1
- package/resources/products/short-links.d.mts +11 -11
- package/resources/products/short-links.d.mts.map +1 -1
- package/resources/products/short-links.d.ts +11 -11
- package/resources/products/short-links.d.ts.map +1 -1
- package/resources/products/short-links.js +6 -6
- package/resources/products/short-links.js.map +1 -1
- package/resources/products/short-links.mjs +6 -6
- package/resources/products/short-links.mjs.map +1 -1
- package/resources/refunds.d.mts +24 -24
- package/resources/refunds.d.mts.map +1 -1
- package/resources/refunds.d.ts +24 -24
- package/resources/refunds.d.ts.map +1 -1
- package/resources/refunds.js +6 -6
- package/resources/refunds.js.map +1 -1
- package/resources/refunds.mjs +6 -6
- package/resources/refunds.mjs.map +1 -1
- package/resources/subscriptions.d.mts +86 -86
- package/resources/subscriptions.d.mts.map +1 -1
- package/resources/subscriptions.d.ts +86 -86
- package/resources/subscriptions.d.ts.map +1 -1
- package/resources/subscriptions.js +23 -23
- package/resources/subscriptions.js.map +1 -1
- package/resources/subscriptions.mjs +23 -23
- package/resources/subscriptions.mjs.map +1 -1
- package/resources/usage-events.d.mts +61 -61
- package/resources/usage-events.d.mts.map +1 -1
- package/resources/usage-events.d.ts +61 -61
- package/resources/usage-events.d.ts.map +1 -1
- package/resources/usage-events.js +56 -56
- package/resources/usage-events.js.map +1 -1
- package/resources/usage-events.mjs +56 -56
- package/resources/usage-events.mjs.map +1 -1
- package/resources/webhooks/index.d.mts +1 -1
- package/resources/webhooks/index.d.mts.map +1 -1
- package/resources/webhooks/index.d.ts +1 -1
- package/resources/webhooks/index.d.ts.map +1 -1
- package/resources/webhooks/webhooks.d.mts +12 -12
- package/resources/webhooks/webhooks.d.mts.map +1 -1
- package/resources/webhooks/webhooks.d.ts +12 -12
- package/resources/webhooks/webhooks.d.ts.map +1 -1
- package/resources/webhooks/webhooks.js +15 -15
- package/resources/webhooks/webhooks.js.map +1 -1
- package/resources/webhooks/webhooks.mjs +15 -15
- package/resources/webhooks/webhooks.mjs.map +1 -1
- package/src/client.ts +18 -18
- package/src/resources/addons.ts +13 -13
- package/src/resources/brands.ts +4 -4
- package/src/resources/credit-entitlements/balances.ts +91 -91
- package/src/resources/credit-entitlements/credit-entitlements.ts +55 -55
- package/src/resources/credit-entitlements/index.ts +3 -3
- package/src/resources/customers/customers.ts +49 -49
- package/src/resources/customers/index.ts +1 -1
- package/src/resources/customers/wallets/index.ts +1 -1
- package/src/resources/customers/wallets/ledger-entries.ts +16 -16
- package/src/resources/customers/wallets/wallets.ts +1 -1
- package/src/resources/discounts.ts +43 -43
- package/src/resources/disputes.ts +4 -4
- package/src/resources/entitlements/entitlements.ts +36 -36
- package/src/resources/entitlements/files.ts +7 -7
- package/src/resources/entitlements/index.ts +1 -1
- package/src/resources/index.ts +18 -18
- package/src/resources/invoices/payments.ts +4 -4
- package/src/resources/license-key-instances.ts +25 -25
- package/src/resources/license-keys.ts +48 -48
- package/src/resources/meters.ts +15 -15
- package/src/resources/payments.ts +59 -59
- package/src/resources/product-collections/groups/groups.ts +16 -16
- package/src/resources/product-collections/groups/index.ts +2 -2
- package/src/resources/product-collections/groups/items.ts +19 -19
- package/src/resources/product-collections/index.ts +2 -2
- package/src/resources/product-collections/product-collections.ts +32 -32
- package/src/resources/products/index.ts +2 -2
- package/src/resources/products/products.ts +33 -33
- package/src/resources/products/short-links.ts +20 -20
- package/src/resources/refunds.ts +36 -36
- package/src/resources/subscriptions.ts +130 -130
- package/src/resources/usage-events.ts +64 -64
- package/src/resources/webhooks/index.ts +1 -1
- package/src/resources/webhooks/webhooks.ts +24 -24
- 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
|
@@ -11,37 +11,6 @@ import { RequestOptions } from '../../internal/request-options';
|
|
|
11
11
|
import { path } from '../../internal/utils/path';
|
|
12
12
|
|
|
13
13
|
export class Balances extends APIResource {
|
|
14
|
-
/**
|
|
15
|
-
* Returns the credit balance details for a specific customer and credit
|
|
16
|
-
* entitlement.
|
|
17
|
-
*
|
|
18
|
-
* # Authentication
|
|
19
|
-
*
|
|
20
|
-
* Requires an API key with `Viewer` role or higher.
|
|
21
|
-
*
|
|
22
|
-
* # Path Parameters
|
|
23
|
-
*
|
|
24
|
-
* - `credit_entitlement_id` - The unique identifier of the credit entitlement
|
|
25
|
-
* - `customer_id` - The unique identifier of the customer
|
|
26
|
-
*
|
|
27
|
-
* # Responses
|
|
28
|
-
*
|
|
29
|
-
* - `200 OK` - Returns the customer's balance
|
|
30
|
-
* - `404 Not Found` - Credit entitlement or customer balance not found
|
|
31
|
-
* - `500 Internal Server Error` - Database or server error
|
|
32
|
-
*/
|
|
33
|
-
retrieve(
|
|
34
|
-
customerID: string,
|
|
35
|
-
params: BalanceRetrieveParams,
|
|
36
|
-
options?: RequestOptions,
|
|
37
|
-
): APIPromise<CustomerCreditBalance> {
|
|
38
|
-
const { credit_entitlement_id } = params;
|
|
39
|
-
return this._client.get(
|
|
40
|
-
path`/credit-entitlements/${credit_entitlement_id}/balances/${customerID}`,
|
|
41
|
-
options,
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
14
|
/**
|
|
46
15
|
* Returns a paginated list of customer credit balances for the given credit
|
|
47
16
|
* entitlement.
|
|
@@ -79,43 +48,33 @@ export class Balances extends APIResource {
|
|
|
79
48
|
}
|
|
80
49
|
|
|
81
50
|
/**
|
|
82
|
-
*
|
|
83
|
-
*
|
|
51
|
+
* Returns the credit balance details for a specific customer and credit
|
|
52
|
+
* entitlement.
|
|
84
53
|
*
|
|
85
54
|
* # Authentication
|
|
86
55
|
*
|
|
87
|
-
* Requires an API key with `
|
|
56
|
+
* Requires an API key with `Viewer` role or higher.
|
|
88
57
|
*
|
|
89
58
|
* # Path Parameters
|
|
90
59
|
*
|
|
91
60
|
* - `credit_entitlement_id` - The unique identifier of the credit entitlement
|
|
92
61
|
* - `customer_id` - The unique identifier of the customer
|
|
93
62
|
*
|
|
94
|
-
* # Request Body
|
|
95
|
-
*
|
|
96
|
-
* - `entry_type` - "credit" or "debit"
|
|
97
|
-
* - `amount` - Amount to credit or debit
|
|
98
|
-
* - `reason` - Optional human-readable reason
|
|
99
|
-
* - `expires_at` - Optional expiration for credited amount (only for credit type)
|
|
100
|
-
* - `idempotency_key` - Optional key to prevent duplicate entries
|
|
101
|
-
*
|
|
102
63
|
* # Responses
|
|
103
64
|
*
|
|
104
|
-
* - `
|
|
105
|
-
* - `
|
|
106
|
-
* - `404 Not Found` - Credit entitlement or customer not found
|
|
107
|
-
* - `409 Conflict` - Idempotency key already exists
|
|
65
|
+
* - `200 OK` - Returns the customer's balance
|
|
66
|
+
* - `404 Not Found` - Credit entitlement or customer balance not found
|
|
108
67
|
* - `500 Internal Server Error` - Database or server error
|
|
109
68
|
*/
|
|
110
|
-
|
|
69
|
+
retrieve(
|
|
111
70
|
customerID: string,
|
|
112
|
-
params:
|
|
71
|
+
params: BalanceRetrieveParams,
|
|
113
72
|
options?: RequestOptions,
|
|
114
|
-
): APIPromise<
|
|
115
|
-
const { credit_entitlement_id
|
|
116
|
-
return this._client.
|
|
117
|
-
path`/credit-entitlements/${credit_entitlement_id}/balances/${customerID}
|
|
118
|
-
|
|
73
|
+
): APIPromise<CustomerCreditBalance> {
|
|
74
|
+
const { credit_entitlement_id } = params;
|
|
75
|
+
return this._client.get(
|
|
76
|
+
path`/credit-entitlements/${credit_entitlement_id}/balances/${customerID}`,
|
|
77
|
+
options,
|
|
119
78
|
);
|
|
120
79
|
}
|
|
121
80
|
|
|
@@ -194,6 +153,47 @@ export class Balances extends APIResource {
|
|
|
194
153
|
{ query, ...options },
|
|
195
154
|
);
|
|
196
155
|
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* For credit entries, a new grant is created. For debit entries, credits are
|
|
159
|
+
* deducted from existing grants using FIFO (oldest first).
|
|
160
|
+
*
|
|
161
|
+
* # Authentication
|
|
162
|
+
*
|
|
163
|
+
* Requires an API key with `Editor` role.
|
|
164
|
+
*
|
|
165
|
+
* # Path Parameters
|
|
166
|
+
*
|
|
167
|
+
* - `credit_entitlement_id` - The unique identifier of the credit entitlement
|
|
168
|
+
* - `customer_id` - The unique identifier of the customer
|
|
169
|
+
*
|
|
170
|
+
* # Request Body
|
|
171
|
+
*
|
|
172
|
+
* - `entry_type` - "credit" or "debit"
|
|
173
|
+
* - `amount` - Amount to credit or debit
|
|
174
|
+
* - `reason` - Optional human-readable reason
|
|
175
|
+
* - `expires_at` - Optional expiration for credited amount (only for credit type)
|
|
176
|
+
* - `idempotency_key` - Optional key to prevent duplicate entries
|
|
177
|
+
*
|
|
178
|
+
* # Responses
|
|
179
|
+
*
|
|
180
|
+
* - `201 Created` - Ledger entry created successfully
|
|
181
|
+
* - `400 Bad Request` - Invalid request (e.g., debit with insufficient balance)
|
|
182
|
+
* - `404 Not Found` - Credit entitlement or customer not found
|
|
183
|
+
* - `409 Conflict` - Idempotency key already exists
|
|
184
|
+
* - `500 Internal Server Error` - Database or server error
|
|
185
|
+
*/
|
|
186
|
+
createLedgerEntry(
|
|
187
|
+
customerID: string,
|
|
188
|
+
params: BalanceCreateLedgerEntryParams,
|
|
189
|
+
options?: RequestOptions,
|
|
190
|
+
): APIPromise<BalanceCreateLedgerEntryResponse> {
|
|
191
|
+
const { credit_entitlement_id, ...body } = params;
|
|
192
|
+
return this._client.post(
|
|
193
|
+
path`/credit-entitlements/${credit_entitlement_id}/balances/${customerID}/ledger-entries`,
|
|
194
|
+
{ body, ...options },
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
export type CustomerCreditBalancesDefaultPageNumberPagination =
|
|
@@ -340,13 +340,6 @@ export interface BalanceListGrantsResponse {
|
|
|
340
340
|
source_id?: string | null;
|
|
341
341
|
}
|
|
342
342
|
|
|
343
|
-
export interface BalanceRetrieveParams {
|
|
344
|
-
/**
|
|
345
|
-
* Credit Entitlement ID
|
|
346
|
-
*/
|
|
347
|
-
credit_entitlement_id: string;
|
|
348
|
-
}
|
|
349
|
-
|
|
350
343
|
export interface BalanceListParams extends DefaultPageNumberPaginationParams {
|
|
351
344
|
/**
|
|
352
345
|
* Filter by specific customer ID
|
|
@@ -354,77 +347,84 @@ export interface BalanceListParams extends DefaultPageNumberPaginationParams {
|
|
|
354
347
|
customer_id?: string;
|
|
355
348
|
}
|
|
356
349
|
|
|
357
|
-
export interface
|
|
350
|
+
export interface BalanceRetrieveParams {
|
|
358
351
|
/**
|
|
359
|
-
*
|
|
352
|
+
* Credit Entitlement ID
|
|
360
353
|
*/
|
|
361
354
|
credit_entitlement_id: string;
|
|
355
|
+
}
|
|
362
356
|
|
|
357
|
+
export interface BalanceListGrantsParams extends DefaultPageNumberPaginationParams {
|
|
363
358
|
/**
|
|
364
|
-
*
|
|
359
|
+
* Path param: Credit Entitlement ID
|
|
365
360
|
*/
|
|
366
|
-
|
|
361
|
+
credit_entitlement_id: string;
|
|
367
362
|
|
|
368
363
|
/**
|
|
369
|
-
*
|
|
364
|
+
* Query param: Filter by grant status: active, expired, depleted
|
|
370
365
|
*/
|
|
371
|
-
|
|
366
|
+
status?: 'active' | 'expired' | 'depleted';
|
|
367
|
+
}
|
|
372
368
|
|
|
369
|
+
export interface BalanceListLedgerParams extends DefaultPageNumberPaginationParams {
|
|
373
370
|
/**
|
|
374
|
-
*
|
|
371
|
+
* Path param: Credit Entitlement ID
|
|
375
372
|
*/
|
|
376
|
-
|
|
373
|
+
credit_entitlement_id: string;
|
|
377
374
|
|
|
378
375
|
/**
|
|
379
|
-
*
|
|
376
|
+
* Query param: Filter by end date
|
|
380
377
|
*/
|
|
381
|
-
|
|
378
|
+
end_date?: string;
|
|
382
379
|
|
|
383
380
|
/**
|
|
384
|
-
*
|
|
385
|
-
* max 500 chars)
|
|
381
|
+
* Query param: Filter by start date
|
|
386
382
|
*/
|
|
387
|
-
|
|
383
|
+
start_date?: string;
|
|
388
384
|
|
|
389
385
|
/**
|
|
390
|
-
*
|
|
386
|
+
* Query param: Filter by transaction type (snake_case: credit_added,
|
|
387
|
+
* credit_deducted, credit_expired, etc.)
|
|
391
388
|
*/
|
|
392
|
-
|
|
389
|
+
transaction_type?: string;
|
|
393
390
|
}
|
|
394
391
|
|
|
395
|
-
export interface
|
|
392
|
+
export interface BalanceCreateLedgerEntryParams {
|
|
396
393
|
/**
|
|
397
394
|
* Path param: Credit Entitlement ID
|
|
398
395
|
*/
|
|
399
396
|
credit_entitlement_id: string;
|
|
400
397
|
|
|
401
398
|
/**
|
|
402
|
-
*
|
|
399
|
+
* Body param: Amount to credit or debit
|
|
403
400
|
*/
|
|
404
|
-
|
|
405
|
-
}
|
|
401
|
+
amount: string;
|
|
406
402
|
|
|
407
|
-
export interface BalanceListLedgerParams extends DefaultPageNumberPaginationParams {
|
|
408
403
|
/**
|
|
409
|
-
*
|
|
404
|
+
* Body param: Entry type: credit or debit
|
|
410
405
|
*/
|
|
411
|
-
|
|
406
|
+
entry_type: LedgerEntryType;
|
|
412
407
|
|
|
413
408
|
/**
|
|
414
|
-
*
|
|
409
|
+
* Body param: Expiration for credited amount (only for credit type)
|
|
415
410
|
*/
|
|
416
|
-
|
|
411
|
+
expires_at?: string | null;
|
|
417
412
|
|
|
418
413
|
/**
|
|
419
|
-
*
|
|
414
|
+
* Body param: Idempotency key to prevent duplicate entries
|
|
420
415
|
*/
|
|
421
|
-
|
|
416
|
+
idempotency_key?: string | null;
|
|
422
417
|
|
|
423
418
|
/**
|
|
424
|
-
*
|
|
425
|
-
*
|
|
419
|
+
* Body param: Optional metadata (max 50 key-value pairs, key max 40 chars, value
|
|
420
|
+
* max 500 chars)
|
|
426
421
|
*/
|
|
427
|
-
|
|
422
|
+
metadata?: { [key: string]: string } | null;
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* Body param: Human-readable reason for the entry
|
|
426
|
+
*/
|
|
427
|
+
reason?: string | null;
|
|
428
428
|
}
|
|
429
429
|
|
|
430
430
|
export declare namespace Balances {
|
|
@@ -437,10 +437,10 @@ export declare namespace Balances {
|
|
|
437
437
|
type CustomerCreditBalancesDefaultPageNumberPagination as CustomerCreditBalancesDefaultPageNumberPagination,
|
|
438
438
|
type BalanceListGrantsResponsesDefaultPageNumberPagination as BalanceListGrantsResponsesDefaultPageNumberPagination,
|
|
439
439
|
type CreditLedgerEntriesDefaultPageNumberPagination as CreditLedgerEntriesDefaultPageNumberPagination,
|
|
440
|
-
type BalanceRetrieveParams as BalanceRetrieveParams,
|
|
441
440
|
type BalanceListParams as BalanceListParams,
|
|
442
|
-
type
|
|
441
|
+
type BalanceRetrieveParams as BalanceRetrieveParams,
|
|
443
442
|
type BalanceListGrantsParams as BalanceListGrantsParams,
|
|
444
443
|
type BalanceListLedgerParams as BalanceListLedgerParams,
|
|
444
|
+
type BalanceCreateLedgerEntryParams as BalanceCreateLedgerEntryParams,
|
|
445
445
|
};
|
|
446
446
|
}
|
|
@@ -33,6 +33,44 @@ import { path } from '../../internal/utils/path';
|
|
|
33
33
|
export class CreditEntitlements extends APIResource {
|
|
34
34
|
balances: BalancesAPI.Balances = new BalancesAPI.Balances(this._client);
|
|
35
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Returns a paginated list of credit entitlements, allowing filtering of deleted
|
|
38
|
+
* entitlements. By default, only non-deleted entitlements are returned.
|
|
39
|
+
*
|
|
40
|
+
* # Authentication
|
|
41
|
+
*
|
|
42
|
+
* Requires an API key with `Viewer` role or higher.
|
|
43
|
+
*
|
|
44
|
+
* # Query Parameters
|
|
45
|
+
*
|
|
46
|
+
* - `page_size` - Number of items per page (default: 10, max: 100)
|
|
47
|
+
* - `page_number` - Zero-based page number (default: 0)
|
|
48
|
+
* - `deleted` - Boolean flag to list deleted entitlements instead of active ones
|
|
49
|
+
* (default: false)
|
|
50
|
+
*
|
|
51
|
+
* # Responses
|
|
52
|
+
*
|
|
53
|
+
* - `200 OK` - Returns a list of credit entitlements wrapped in a response object
|
|
54
|
+
* - `422 Unprocessable Entity` - Invalid query parameters (e.g., page_size > 100)
|
|
55
|
+
* - `500 Internal Server Error` - Database or server error
|
|
56
|
+
*
|
|
57
|
+
* # Business Logic
|
|
58
|
+
*
|
|
59
|
+
* - Results are ordered by creation date in descending order (newest first)
|
|
60
|
+
* - Only entitlements belonging to the authenticated business are returned
|
|
61
|
+
* - The `deleted` parameter controls visibility of soft-deleted entitlements
|
|
62
|
+
* - Pagination uses offset-based pagination (offset = page_number \* page_size)
|
|
63
|
+
*/
|
|
64
|
+
list(
|
|
65
|
+
query: CreditEntitlementListParams | null | undefined = {},
|
|
66
|
+
options?: RequestOptions,
|
|
67
|
+
): PagePromise<CreditEntitlementsDefaultPageNumberPagination, CreditEntitlement> {
|
|
68
|
+
return this._client.getAPIList('/credit-entitlements', DefaultPageNumberPagination<CreditEntitlement>, {
|
|
69
|
+
query,
|
|
70
|
+
...options,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
36
74
|
/**
|
|
37
75
|
* Credit entitlements define reusable credit templates that can be attached to
|
|
38
76
|
* products. Each entitlement defines how credits behave in terms of expiration,
|
|
@@ -112,6 +150,13 @@ export class CreditEntitlements extends APIResource {
|
|
|
112
150
|
return this._client.get(path`/credit-entitlements/${id}`, options);
|
|
113
151
|
}
|
|
114
152
|
|
|
153
|
+
delete(id: string, options?: RequestOptions): APIPromise<void> {
|
|
154
|
+
return this._client.delete(path`/credit-entitlements/${id}`, {
|
|
155
|
+
...options,
|
|
156
|
+
headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
|
|
115
160
|
/**
|
|
116
161
|
* Allows partial updates to a credit entitlement's configuration. Only the fields
|
|
117
162
|
* provided in the request body will be updated; all other fields remain unchanged.
|
|
@@ -178,51 +223,6 @@ export class CreditEntitlements extends APIResource {
|
|
|
178
223
|
});
|
|
179
224
|
}
|
|
180
225
|
|
|
181
|
-
/**
|
|
182
|
-
* Returns a paginated list of credit entitlements, allowing filtering of deleted
|
|
183
|
-
* entitlements. By default, only non-deleted entitlements are returned.
|
|
184
|
-
*
|
|
185
|
-
* # Authentication
|
|
186
|
-
*
|
|
187
|
-
* Requires an API key with `Viewer` role or higher.
|
|
188
|
-
*
|
|
189
|
-
* # Query Parameters
|
|
190
|
-
*
|
|
191
|
-
* - `page_size` - Number of items per page (default: 10, max: 100)
|
|
192
|
-
* - `page_number` - Zero-based page number (default: 0)
|
|
193
|
-
* - `deleted` - Boolean flag to list deleted entitlements instead of active ones
|
|
194
|
-
* (default: false)
|
|
195
|
-
*
|
|
196
|
-
* # Responses
|
|
197
|
-
*
|
|
198
|
-
* - `200 OK` - Returns a list of credit entitlements wrapped in a response object
|
|
199
|
-
* - `422 Unprocessable Entity` - Invalid query parameters (e.g., page_size > 100)
|
|
200
|
-
* - `500 Internal Server Error` - Database or server error
|
|
201
|
-
*
|
|
202
|
-
* # Business Logic
|
|
203
|
-
*
|
|
204
|
-
* - Results are ordered by creation date in descending order (newest first)
|
|
205
|
-
* - Only entitlements belonging to the authenticated business are returned
|
|
206
|
-
* - The `deleted` parameter controls visibility of soft-deleted entitlements
|
|
207
|
-
* - Pagination uses offset-based pagination (offset = page_number \* page_size)
|
|
208
|
-
*/
|
|
209
|
-
list(
|
|
210
|
-
query: CreditEntitlementListParams | null | undefined = {},
|
|
211
|
-
options?: RequestOptions,
|
|
212
|
-
): PagePromise<CreditEntitlementsDefaultPageNumberPagination, CreditEntitlement> {
|
|
213
|
-
return this._client.getAPIList('/credit-entitlements', DefaultPageNumberPagination<CreditEntitlement>, {
|
|
214
|
-
query,
|
|
215
|
-
...options,
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
delete(id: string, options?: RequestOptions): APIPromise<void> {
|
|
220
|
-
return this._client.delete(path`/credit-entitlements/${id}`, {
|
|
221
|
-
...options,
|
|
222
|
-
headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
|
|
226
226
|
/**
|
|
227
227
|
* Undeletes a soft-deleted credit entitlement by clearing `deleted_at`, making it
|
|
228
228
|
* available again through standard list and get endpoints.
|
|
@@ -337,6 +337,13 @@ export interface CreditEntitlement {
|
|
|
337
337
|
rollover_timeframe_interval?: SubscriptionsAPI.TimeInterval | null;
|
|
338
338
|
}
|
|
339
339
|
|
|
340
|
+
export interface CreditEntitlementListParams extends DefaultPageNumberPaginationParams {
|
|
341
|
+
/**
|
|
342
|
+
* List deleted credit entitlements
|
|
343
|
+
*/
|
|
344
|
+
deleted?: boolean;
|
|
345
|
+
}
|
|
346
|
+
|
|
340
347
|
export interface CreditEntitlementCreateParams {
|
|
341
348
|
/**
|
|
342
349
|
* Name of the credit entitlement
|
|
@@ -487,13 +494,6 @@ export interface CreditEntitlementUpdateParams {
|
|
|
487
494
|
unit?: string | null;
|
|
488
495
|
}
|
|
489
496
|
|
|
490
|
-
export interface CreditEntitlementListParams extends DefaultPageNumberPaginationParams {
|
|
491
|
-
/**
|
|
492
|
-
* List deleted credit entitlements
|
|
493
|
-
*/
|
|
494
|
-
deleted?: boolean;
|
|
495
|
-
}
|
|
496
|
-
|
|
497
497
|
CreditEntitlements.Balances = Balances;
|
|
498
498
|
|
|
499
499
|
export declare namespace CreditEntitlements {
|
|
@@ -501,9 +501,9 @@ export declare namespace CreditEntitlements {
|
|
|
501
501
|
type CbbOverageBehavior as CbbOverageBehavior,
|
|
502
502
|
type CreditEntitlement as CreditEntitlement,
|
|
503
503
|
type CreditEntitlementsDefaultPageNumberPagination as CreditEntitlementsDefaultPageNumberPagination,
|
|
504
|
+
type CreditEntitlementListParams as CreditEntitlementListParams,
|
|
504
505
|
type CreditEntitlementCreateParams as CreditEntitlementCreateParams,
|
|
505
506
|
type CreditEntitlementUpdateParams as CreditEntitlementUpdateParams,
|
|
506
|
-
type CreditEntitlementListParams as CreditEntitlementListParams,
|
|
507
507
|
};
|
|
508
508
|
|
|
509
509
|
export {
|
|
@@ -516,10 +516,10 @@ export declare namespace CreditEntitlements {
|
|
|
516
516
|
type CustomerCreditBalancesDefaultPageNumberPagination as CustomerCreditBalancesDefaultPageNumberPagination,
|
|
517
517
|
type BalanceListGrantsResponsesDefaultPageNumberPagination as BalanceListGrantsResponsesDefaultPageNumberPagination,
|
|
518
518
|
type CreditLedgerEntriesDefaultPageNumberPagination as CreditLedgerEntriesDefaultPageNumberPagination,
|
|
519
|
-
type BalanceRetrieveParams as BalanceRetrieveParams,
|
|
520
519
|
type BalanceListParams as BalanceListParams,
|
|
521
|
-
type
|
|
520
|
+
type BalanceRetrieveParams as BalanceRetrieveParams,
|
|
522
521
|
type BalanceListGrantsParams as BalanceListGrantsParams,
|
|
523
522
|
type BalanceListLedgerParams as BalanceListLedgerParams,
|
|
523
|
+
type BalanceCreateLedgerEntryParams as BalanceCreateLedgerEntryParams,
|
|
524
524
|
};
|
|
525
525
|
}
|
|
@@ -7,11 +7,11 @@ export {
|
|
|
7
7
|
type LedgerEntryType,
|
|
8
8
|
type BalanceCreateLedgerEntryResponse,
|
|
9
9
|
type BalanceListGrantsResponse,
|
|
10
|
-
type BalanceRetrieveParams,
|
|
11
10
|
type BalanceListParams,
|
|
12
|
-
type
|
|
11
|
+
type BalanceRetrieveParams,
|
|
13
12
|
type BalanceListGrantsParams,
|
|
14
13
|
type BalanceListLedgerParams,
|
|
14
|
+
type BalanceCreateLedgerEntryParams,
|
|
15
15
|
type CustomerCreditBalancesDefaultPageNumberPagination,
|
|
16
16
|
type BalanceListGrantsResponsesDefaultPageNumberPagination,
|
|
17
17
|
type CreditLedgerEntriesDefaultPageNumberPagination,
|
|
@@ -20,8 +20,8 @@ export {
|
|
|
20
20
|
CreditEntitlements,
|
|
21
21
|
type CbbOverageBehavior,
|
|
22
22
|
type CreditEntitlement,
|
|
23
|
+
type CreditEntitlementListParams,
|
|
23
24
|
type CreditEntitlementCreateParams,
|
|
24
25
|
type CreditEntitlementUpdateParams,
|
|
25
|
-
type CreditEntitlementListParams,
|
|
26
26
|
type CreditEntitlementsDefaultPageNumberPagination,
|
|
27
27
|
} from './credit-entitlements';
|
|
@@ -22,26 +22,43 @@ export class Customers extends APIResource {
|
|
|
22
22
|
customerPortal: CustomerPortalAPI.CustomerPortal = new CustomerPortalAPI.CustomerPortal(this._client);
|
|
23
23
|
wallets: WalletsAPI.Wallets = new WalletsAPI.Wallets(this._client);
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
list(
|
|
26
|
+
query: CustomerListParams | null | undefined = {},
|
|
27
|
+
options?: RequestOptions,
|
|
28
|
+
): PagePromise<CustomersDefaultPageNumberPagination, Customer> {
|
|
29
|
+
return this._client.getAPIList('/customers', DefaultPageNumberPagination<Customer>, {
|
|
30
|
+
query,
|
|
31
|
+
...options,
|
|
32
|
+
});
|
|
27
33
|
}
|
|
28
34
|
|
|
29
35
|
retrieve(customerID: string, options?: RequestOptions): APIPromise<Customer> {
|
|
30
36
|
return this._client.get(path`/customers/${customerID}`, options);
|
|
31
37
|
}
|
|
32
38
|
|
|
39
|
+
create(body: CustomerCreateParams, options?: RequestOptions): APIPromise<Customer> {
|
|
40
|
+
return this._client.post('/customers', { body, ...options });
|
|
41
|
+
}
|
|
42
|
+
|
|
33
43
|
update(customerID: string, body: CustomerUpdateParams, options?: RequestOptions): APIPromise<Customer> {
|
|
34
44
|
return this._client.patch(path`/customers/${customerID}`, { body, ...options });
|
|
35
45
|
}
|
|
36
46
|
|
|
37
|
-
|
|
38
|
-
|
|
47
|
+
retrievePaymentMethods(
|
|
48
|
+
customerID: string,
|
|
39
49
|
options?: RequestOptions,
|
|
40
|
-
):
|
|
41
|
-
return this._client.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
50
|
+
): APIPromise<CustomerRetrievePaymentMethodsResponse> {
|
|
51
|
+
return this._client.get(path`/customers/${customerID}/payment-methods`, options);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* List all credit entitlements for a customer with their current balances
|
|
56
|
+
*/
|
|
57
|
+
listCreditEntitlements(
|
|
58
|
+
customerID: string,
|
|
59
|
+
options?: RequestOptions,
|
|
60
|
+
): APIPromise<CustomerListCreditEntitlementsResponse> {
|
|
61
|
+
return this._client.get(path`/customers/${customerID}/credit-entitlements`, options);
|
|
45
62
|
}
|
|
46
63
|
|
|
47
64
|
deletePaymentMethod(
|
|
@@ -56,16 +73,6 @@ export class Customers extends APIResource {
|
|
|
56
73
|
});
|
|
57
74
|
}
|
|
58
75
|
|
|
59
|
-
/**
|
|
60
|
-
* List all credit entitlements for a customer with their current balances
|
|
61
|
-
*/
|
|
62
|
-
listCreditEntitlements(
|
|
63
|
-
customerID: string,
|
|
64
|
-
options?: RequestOptions,
|
|
65
|
-
): APIPromise<CustomerListCreditEntitlementsResponse> {
|
|
66
|
-
return this._client.get(path`/customers/${customerID}/credit-entitlements`, options);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
76
|
/**
|
|
70
77
|
* List all entitlement grants delivered (or in flight) to a customer.
|
|
71
78
|
*/
|
|
@@ -75,13 +82,6 @@ export class Customers extends APIResource {
|
|
|
75
82
|
): APIPromise<CustomerListEntitlementsResponse> {
|
|
76
83
|
return this._client.get(path`/customers/${customerID}/entitlements`, options);
|
|
77
84
|
}
|
|
78
|
-
|
|
79
|
-
retrievePaymentMethods(
|
|
80
|
-
customerID: string,
|
|
81
|
-
options?: RequestOptions,
|
|
82
|
-
): APIPromise<CustomerRetrievePaymentMethodsResponse> {
|
|
83
|
-
return this._client.get(path`/customers/${customerID}/payment-methods`, options);
|
|
84
|
-
}
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
export type CustomersDefaultPageNumberPagination = DefaultPageNumberPagination<Customer>;
|
|
@@ -245,6 +245,28 @@ export namespace CustomerRetrievePaymentMethodsResponse {
|
|
|
245
245
|
}
|
|
246
246
|
}
|
|
247
247
|
|
|
248
|
+
export interface CustomerListParams extends DefaultPageNumberPaginationParams {
|
|
249
|
+
/**
|
|
250
|
+
* Filter customers created on or after this timestamp
|
|
251
|
+
*/
|
|
252
|
+
created_at_gte?: string;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Filter customers created on or before this timestamp
|
|
256
|
+
*/
|
|
257
|
+
created_at_lte?: string;
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Filter by customer email
|
|
261
|
+
*/
|
|
262
|
+
email?: string;
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Filter by customer name (partial match, case-insensitive)
|
|
266
|
+
*/
|
|
267
|
+
name?: string;
|
|
268
|
+
}
|
|
269
|
+
|
|
248
270
|
export interface CustomerCreateParams {
|
|
249
271
|
email: string;
|
|
250
272
|
|
|
@@ -271,28 +293,6 @@ export interface CustomerUpdateParams {
|
|
|
271
293
|
phone_number?: string | null;
|
|
272
294
|
}
|
|
273
295
|
|
|
274
|
-
export interface CustomerListParams extends DefaultPageNumberPaginationParams {
|
|
275
|
-
/**
|
|
276
|
-
* Filter customers created on or after this timestamp
|
|
277
|
-
*/
|
|
278
|
-
created_at_gte?: string;
|
|
279
|
-
|
|
280
|
-
/**
|
|
281
|
-
* Filter customers created on or before this timestamp
|
|
282
|
-
*/
|
|
283
|
-
created_at_lte?: string;
|
|
284
|
-
|
|
285
|
-
/**
|
|
286
|
-
* Filter by customer email
|
|
287
|
-
*/
|
|
288
|
-
email?: string;
|
|
289
|
-
|
|
290
|
-
/**
|
|
291
|
-
* Filter by customer name (partial match, case-insensitive)
|
|
292
|
-
*/
|
|
293
|
-
name?: string;
|
|
294
|
-
}
|
|
295
|
-
|
|
296
296
|
export interface CustomerDeletePaymentMethodParams {
|
|
297
297
|
/**
|
|
298
298
|
* Customer Id
|
|
@@ -311,9 +311,9 @@ export declare namespace Customers {
|
|
|
311
311
|
type CustomerListEntitlementsResponse as CustomerListEntitlementsResponse,
|
|
312
312
|
type CustomerRetrievePaymentMethodsResponse as CustomerRetrievePaymentMethodsResponse,
|
|
313
313
|
type CustomersDefaultPageNumberPagination as CustomersDefaultPageNumberPagination,
|
|
314
|
+
type CustomerListParams as CustomerListParams,
|
|
314
315
|
type CustomerCreateParams as CustomerCreateParams,
|
|
315
316
|
type CustomerUpdateParams as CustomerUpdateParams,
|
|
316
|
-
type CustomerListParams as CustomerListParams,
|
|
317
317
|
type CustomerDeletePaymentMethodParams as CustomerDeletePaymentMethodParams,
|
|
318
318
|
};
|
|
319
319
|
|
|
@@ -8,9 +8,9 @@ export {
|
|
|
8
8
|
type CustomerListCreditEntitlementsResponse,
|
|
9
9
|
type CustomerListEntitlementsResponse,
|
|
10
10
|
type CustomerRetrievePaymentMethodsResponse,
|
|
11
|
+
type CustomerListParams,
|
|
11
12
|
type CustomerCreateParams,
|
|
12
13
|
type CustomerUpdateParams,
|
|
13
|
-
type CustomerListParams,
|
|
14
14
|
type CustomerDeletePaymentMethodParams,
|
|
15
15
|
type CustomersDefaultPageNumberPagination,
|
|
16
16
|
} from './customers';
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
export {
|
|
4
4
|
LedgerEntries,
|
|
5
5
|
type CustomerWalletTransaction,
|
|
6
|
-
type LedgerEntryCreateParams,
|
|
7
6
|
type LedgerEntryListParams,
|
|
7
|
+
type LedgerEntryCreateParams,
|
|
8
8
|
type CustomerWalletTransactionsDefaultPageNumberPagination,
|
|
9
9
|
} from './ledger-entries';
|
|
10
10
|
export { Wallets, type CustomerWallet, type WalletListResponse } from './wallets';
|