velirapay 0.1.1 → 0.2.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.
- package/CHANGELOG.md +30 -0
- package/README.md +700 -51
- package/dist/cjs/client.d.ts +1 -1
- package/dist/cjs/enums.d.ts +159 -27
- package/dist/cjs/enums.js +150 -25
- package/dist/cjs/errors.d.ts +10 -1
- package/dist/cjs/errors.js +12 -1
- package/dist/cjs/http/transport.js +18 -3
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +12 -2
- package/dist/cjs/page.d.ts +14 -2
- package/dist/cjs/page.js +19 -2
- package/dist/cjs/params.d.ts +21 -10
- package/dist/cjs/resources/account.d.ts +13 -13
- package/dist/cjs/resources/account.js +7 -7
- package/dist/cjs/resources/activity.d.ts +4 -3
- package/dist/cjs/resources/activity.js +1 -1
- package/dist/cjs/resources/api-key.d.ts +3 -2
- package/dist/cjs/resources/api-resource.d.ts +2 -0
- package/dist/cjs/resources/api-resource.js +5 -0
- package/dist/cjs/resources/charge.d.ts +7 -3
- package/dist/cjs/resources/charge.js +6 -0
- package/dist/cjs/resources/coupon.d.ts +2 -1
- package/dist/cjs/resources/event.d.ts +3 -3
- package/dist/cjs/resources/event.js +1 -1
- package/dist/cjs/resources/invoice.d.ts +8 -4
- package/dist/cjs/resources/invoice.js +6 -0
- package/dist/cjs/resources/member.d.ts +5 -4
- package/dist/cjs/resources/member.js +2 -2
- package/dist/cjs/resources/overview.d.ts +116 -4
- package/dist/cjs/resources/overview.js +76 -3
- package/dist/cjs/resources/payment-link.d.ts +3 -3
- package/dist/cjs/resources/payout.d.ts +5 -5
- package/dist/cjs/resources/payout.js +1 -1
- package/dist/cjs/resources/pro-payment.d.ts +3 -2
- package/dist/cjs/resources/supported-asset.d.ts +2 -2
- package/dist/cjs/resources/webhook-endpoint.d.ts +5 -4
- package/dist/cjs/resources/webhook-endpoint.js +3 -2
- package/dist/cjs/services/account.js +1 -1
- package/dist/cjs/services/api-keys.d.ts +7 -1
- package/dist/cjs/services/api-keys.js +7 -1
- package/dist/cjs/services/assets.d.ts +3 -4
- package/dist/cjs/services/assets.js +3 -2
- package/dist/cjs/services/charges.js +3 -3
- package/dist/cjs/services/coupons.js +1 -1
- package/dist/cjs/services/invoices.js +5 -1
- package/dist/cjs/services/members.d.ts +2 -2
- package/dist/cjs/services/members.js +2 -2
- package/dist/cjs/services/overview.d.ts +1 -1
- package/dist/cjs/services/overview.js +3 -2
- package/dist/cjs/services/payment-links.js +4 -2
- package/dist/cjs/services/payout-addresses.d.ts +9 -4
- package/dist/cjs/services/payout-addresses.js +6 -2
- package/dist/cjs/services/service.d.ts +8 -3
- package/dist/cjs/services/service.js +45 -10
- package/dist/cjs/services/webhook-endpoints.d.ts +15 -2
- package/dist/cjs/services/webhook-endpoints.js +15 -2
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/client.d.ts +1 -1
- package/dist/esm/enums.d.ts +159 -27
- package/dist/esm/enums.js +149 -24
- package/dist/esm/errors.d.ts +10 -1
- package/dist/esm/errors.js +12 -1
- package/dist/esm/http/transport.js +18 -3
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.js +3 -3
- package/dist/esm/page.d.ts +14 -2
- package/dist/esm/page.js +17 -1
- package/dist/esm/params.d.ts +21 -10
- package/dist/esm/resources/account.d.ts +13 -13
- package/dist/esm/resources/account.js +8 -8
- package/dist/esm/resources/activity.d.ts +4 -3
- package/dist/esm/resources/activity.js +1 -1
- package/dist/esm/resources/api-key.d.ts +3 -2
- package/dist/esm/resources/api-resource.d.ts +2 -0
- package/dist/esm/resources/api-resource.js +4 -0
- package/dist/esm/resources/charge.d.ts +7 -3
- package/dist/esm/resources/charge.js +6 -0
- package/dist/esm/resources/coupon.d.ts +2 -1
- package/dist/esm/resources/event.d.ts +3 -3
- package/dist/esm/resources/event.js +1 -1
- package/dist/esm/resources/invoice.d.ts +8 -4
- package/dist/esm/resources/invoice.js +6 -0
- package/dist/esm/resources/member.d.ts +5 -4
- package/dist/esm/resources/member.js +2 -2
- package/dist/esm/resources/overview.d.ts +116 -4
- package/dist/esm/resources/overview.js +77 -4
- package/dist/esm/resources/payment-link.d.ts +3 -3
- package/dist/esm/resources/payout.d.ts +5 -5
- package/dist/esm/resources/payout.js +1 -1
- package/dist/esm/resources/pro-payment.d.ts +3 -2
- package/dist/esm/resources/supported-asset.d.ts +2 -2
- package/dist/esm/resources/webhook-endpoint.d.ts +5 -4
- package/dist/esm/resources/webhook-endpoint.js +3 -2
- package/dist/esm/services/account.js +2 -2
- package/dist/esm/services/api-keys.d.ts +7 -1
- package/dist/esm/services/api-keys.js +7 -1
- package/dist/esm/services/assets.d.ts +3 -4
- package/dist/esm/services/assets.js +3 -2
- package/dist/esm/services/charges.js +4 -4
- package/dist/esm/services/coupons.js +2 -2
- package/dist/esm/services/invoices.js +6 -2
- package/dist/esm/services/members.d.ts +2 -2
- package/dist/esm/services/members.js +2 -2
- package/dist/esm/services/overview.d.ts +1 -1
- package/dist/esm/services/overview.js +4 -3
- package/dist/esm/services/payment-links.js +5 -3
- package/dist/esm/services/payout-addresses.d.ts +9 -4
- package/dist/esm/services/payout-addresses.js +6 -2
- package/dist/esm/services/service.d.ts +8 -3
- package/dist/esm/services/service.js +44 -10
- package/dist/esm/services/webhook-endpoints.d.ts +15 -2
- package/dist/esm/services/webhook-endpoints.js +15 -2
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +12 -2
package/dist/cjs/client.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ export interface ClientOptions {
|
|
|
36
36
|
export declare class VeliraPayClient {
|
|
37
37
|
#private;
|
|
38
38
|
/** The version of this library. */
|
|
39
|
-
static readonly VERSION = "0.
|
|
39
|
+
static readonly VERSION = "0.2.1";
|
|
40
40
|
/** The address of the VeliraPay API. */
|
|
41
41
|
static readonly DEFAULT_BASE_URL = "https://api.velirapay.com";
|
|
42
42
|
/** The account the API key belongs to. */
|
package/dist/cjs/enums.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** A value the API defines, or one it adds after this version of the library. */
|
|
2
2
|
export type OrString<T extends string> = T | (string & {});
|
|
3
3
|
/** A coin on one particular network, such as USDT on Ethereum or USDT_TRON on Tron. The account lists the ones it accepts right now. */
|
|
4
|
-
export declare const Asset: {
|
|
4
|
+
export declare const Asset: Readonly<{
|
|
5
5
|
readonly BTC: 'BTC';
|
|
6
6
|
readonly BTC_LIGHTNING: 'BTC_LIGHTNING';
|
|
7
7
|
readonly LTC: 'LTC';
|
|
@@ -25,47 +25,47 @@ export declare const Asset: {
|
|
|
25
25
|
readonly ETH_BASE: 'ETH_BASE';
|
|
26
26
|
readonly ETH_ARBITRUM: 'ETH_ARBITRUM';
|
|
27
27
|
readonly POL: 'POL';
|
|
28
|
-
}
|
|
28
|
+
}>;
|
|
29
29
|
export type Asset = (typeof Asset)[keyof typeof Asset];
|
|
30
30
|
/** The states a charge moves through. */
|
|
31
|
-
export declare const ChargeStatus: {
|
|
31
|
+
export declare const ChargeStatus: Readonly<{
|
|
32
32
|
readonly Pending: 'pending';
|
|
33
33
|
readonly Underpaid: 'underpaid';
|
|
34
34
|
readonly Paid: 'paid';
|
|
35
35
|
readonly Expired: 'expired';
|
|
36
36
|
readonly Canceled: 'canceled';
|
|
37
|
-
}
|
|
37
|
+
}>;
|
|
38
38
|
export type ChargeStatus = (typeof ChargeStatus)[keyof typeof ChargeStatus];
|
|
39
39
|
/** The states an invoice moves through. */
|
|
40
|
-
export declare const InvoiceStatus: {
|
|
40
|
+
export declare const InvoiceStatus: Readonly<{
|
|
41
41
|
readonly Open: 'open';
|
|
42
42
|
readonly Paid: 'paid';
|
|
43
43
|
readonly Void: 'void';
|
|
44
|
-
}
|
|
44
|
+
}>;
|
|
45
45
|
export type InvoiceStatus = (typeof InvoiceStatus)[keyof typeof InvoiceStatus];
|
|
46
46
|
/** Where a payout has got to. */
|
|
47
|
-
export declare const PayoutStatus: {
|
|
47
|
+
export declare const PayoutStatus: Readonly<{
|
|
48
48
|
readonly Pending: 'pending';
|
|
49
49
|
readonly Sending: 'sending';
|
|
50
50
|
readonly Sent: 'sent';
|
|
51
51
|
readonly Failed: 'failed';
|
|
52
52
|
readonly Manual: 'manual';
|
|
53
|
-
}
|
|
53
|
+
}>;
|
|
54
54
|
export type PayoutStatus = (typeof PayoutStatus)[keyof typeof PayoutStatus];
|
|
55
55
|
/** Whether a payment link takes payments. */
|
|
56
|
-
export declare const PaymentLinkStatus: {
|
|
56
|
+
export declare const PaymentLinkStatus: Readonly<{
|
|
57
57
|
readonly Active: 'active';
|
|
58
58
|
readonly Archived: 'archived';
|
|
59
|
-
}
|
|
59
|
+
}>;
|
|
60
60
|
export type PaymentLinkStatus = (typeof PaymentLinkStatus)[keyof typeof PaymentLinkStatus];
|
|
61
61
|
/** How a payment link is priced: at a set amount, or at one the customer names. */
|
|
62
|
-
export declare const PricingType: {
|
|
62
|
+
export declare const PricingType: Readonly<{
|
|
63
63
|
readonly Fixed: 'fixed';
|
|
64
64
|
readonly Open: 'open';
|
|
65
|
-
}
|
|
65
|
+
}>;
|
|
66
66
|
export type PricingType = (typeof PricingType)[keyof typeof PricingType];
|
|
67
67
|
/** The events a charge, an invoice or a payout reports, through webhooks and the events API. */
|
|
68
|
-
export declare const EventType: {
|
|
68
|
+
export declare const EventType: Readonly<{
|
|
69
69
|
readonly ChargeCreated: 'charge.created';
|
|
70
70
|
readonly ChargePaymentDetected: 'charge.payment_detected';
|
|
71
71
|
readonly ChargePaid: 'charge.paid';
|
|
@@ -81,23 +81,23 @@ export declare const EventType: {
|
|
|
81
81
|
readonly InvoiceVoided: 'invoice.voided';
|
|
82
82
|
readonly PayoutSent: 'payout.sent';
|
|
83
83
|
readonly PayoutConfirmed: 'payout.confirmed';
|
|
84
|
-
}
|
|
84
|
+
}>;
|
|
85
85
|
export type EventType = (typeof EventType)[keyof typeof EventType];
|
|
86
86
|
/** The mode an API key, object or webhook belongs to. */
|
|
87
|
-
export declare const Mode: {
|
|
87
|
+
export declare const Mode: Readonly<{
|
|
88
88
|
readonly Live: 'live';
|
|
89
89
|
readonly Test: 'test';
|
|
90
|
-
}
|
|
90
|
+
}>;
|
|
91
91
|
export type Mode = (typeof Mode)[keyof typeof Mode];
|
|
92
92
|
/** What kind of legal entity runs an account. */
|
|
93
|
-
export declare const BusinessType: {
|
|
93
|
+
export declare const BusinessType: Readonly<{
|
|
94
94
|
readonly Individual: 'individual';
|
|
95
95
|
readonly Company: 'company';
|
|
96
96
|
readonly NonProfit: 'non_profit';
|
|
97
|
-
}
|
|
97
|
+
}>;
|
|
98
98
|
export type BusinessType = (typeof BusinessType)[keyof typeof BusinessType];
|
|
99
99
|
/** What an account sells, broadly. */
|
|
100
|
-
export declare const Industry: {
|
|
100
|
+
export declare const Industry: Readonly<{
|
|
101
101
|
readonly DigitalProducts: 'digital_products';
|
|
102
102
|
readonly Software: 'software';
|
|
103
103
|
readonly Hosting: 'hosting';
|
|
@@ -110,19 +110,19 @@ export declare const Industry: {
|
|
|
110
110
|
readonly Travel: 'travel';
|
|
111
111
|
readonly Donations: 'donations';
|
|
112
112
|
readonly Other: 'other';
|
|
113
|
-
}
|
|
113
|
+
}>;
|
|
114
114
|
export type Industry = (typeof Industry)[keyof typeof Industry];
|
|
115
115
|
/** How much an account expects to take in a month, in US dollars. */
|
|
116
|
-
export declare const MonthlyVolume: {
|
|
116
|
+
export declare const MonthlyVolume: Readonly<{
|
|
117
117
|
readonly Under1k: 'under_1k';
|
|
118
118
|
readonly Under10k: '1k_10k';
|
|
119
119
|
readonly Under50k: '10k_50k';
|
|
120
120
|
readonly Under250k: '50k_250k';
|
|
121
121
|
readonly Over250k: 'over_250k';
|
|
122
|
-
}
|
|
122
|
+
}>;
|
|
123
123
|
export type MonthlyVolume = (typeof MonthlyVolume)[keyof typeof MonthlyVolume];
|
|
124
124
|
/** What a restricted API key may do. Full access gives every permission but the sensitive ones, which have to be ticked. */
|
|
125
|
-
export declare const ApiKeyPermission: {
|
|
125
|
+
export declare const ApiKeyPermission: Readonly<{
|
|
126
126
|
readonly ChargesRead: 'charges:read';
|
|
127
127
|
readonly ChargesWrite: 'charges:write';
|
|
128
128
|
readonly ChargesAccept: 'charges:accept';
|
|
@@ -148,9 +148,141 @@ export declare const ApiKeyPermission: {
|
|
|
148
148
|
readonly MembersRead: 'members:read';
|
|
149
149
|
readonly MembersWrite: 'members:write';
|
|
150
150
|
readonly BillingWrite: 'billing:write';
|
|
151
|
-
}
|
|
151
|
+
}>;
|
|
152
152
|
export type ApiKeyPermission = (typeof ApiKeyPermission)[keyof typeof ApiKeyPermission];
|
|
153
153
|
/** The fiat currencies prices can be set in. */
|
|
154
|
-
export
|
|
155
|
-
|
|
156
|
-
|
|
154
|
+
export declare const Currency: Readonly<{
|
|
155
|
+
readonly USD: 'USD';
|
|
156
|
+
readonly EUR: 'EUR';
|
|
157
|
+
readonly GBP: 'GBP';
|
|
158
|
+
readonly CAD: 'CAD';
|
|
159
|
+
readonly AUD: 'AUD';
|
|
160
|
+
readonly CHF: 'CHF';
|
|
161
|
+
readonly TRY: 'TRY';
|
|
162
|
+
}>;
|
|
163
|
+
export type Currency = (typeof Currency)[keyof typeof Currency];
|
|
164
|
+
/** The roles people have in an account. Owner only appears in answers: invitations and role changes take the others. */
|
|
165
|
+
export declare const MemberRole: Readonly<{
|
|
166
|
+
readonly Owner: 'owner';
|
|
167
|
+
readonly Admin: 'admin';
|
|
168
|
+
readonly Finance: 'finance';
|
|
169
|
+
readonly Support: 'support';
|
|
170
|
+
readonly Viewer: 'viewer';
|
|
171
|
+
}>;
|
|
172
|
+
export type MemberRole = (typeof MemberRole)[keyof typeof MemberRole];
|
|
173
|
+
/** The roles an invitation or a role change can give: every one but owner, which is never given through the API. */
|
|
174
|
+
export type AssignableMemberRole = Exclude<MemberRole, typeof MemberRole.Owner>;
|
|
175
|
+
/** The network families that each have one payout address, as payoutAddresses.update() and delete() name them. */
|
|
176
|
+
export declare const AddressNetwork: Readonly<{
|
|
177
|
+
readonly Bitcoin: 'bitcoin';
|
|
178
|
+
readonly Litecoin: 'litecoin';
|
|
179
|
+
readonly Dogecoin: 'dogecoin';
|
|
180
|
+
readonly BitcoinCash: 'bitcoincash';
|
|
181
|
+
readonly Evm: 'evm';
|
|
182
|
+
readonly Bsc: 'bsc';
|
|
183
|
+
readonly Base: 'base';
|
|
184
|
+
readonly Arbitrum: 'arbitrum';
|
|
185
|
+
readonly Polygon: 'polygon';
|
|
186
|
+
readonly Tron: 'tron';
|
|
187
|
+
readonly Monero: 'monero';
|
|
188
|
+
readonly Solana: 'solana';
|
|
189
|
+
readonly Lightning: 'lightning';
|
|
190
|
+
}>;
|
|
191
|
+
export type AddressNetwork = (typeof AddressNetwork)[keyof typeof AddressNetwork];
|
|
192
|
+
/** How the checkout looks: following the customer's device, or always light or dark. */
|
|
193
|
+
export declare const CheckoutAppearance: Readonly<{
|
|
194
|
+
readonly Auto: 'auto';
|
|
195
|
+
readonly Light: 'light';
|
|
196
|
+
readonly Dark: 'dark';
|
|
197
|
+
}>;
|
|
198
|
+
export type CheckoutAppearance = (typeof CheckoutAppearance)[keyof typeof CheckoutAppearance];
|
|
199
|
+
/** Where a webhook delivery has got to. */
|
|
200
|
+
export declare const WebhookDeliveryStatus: Readonly<{
|
|
201
|
+
readonly Pending: 'pending';
|
|
202
|
+
readonly Succeeded: 'succeeded';
|
|
203
|
+
readonly Failed: 'failed';
|
|
204
|
+
}>;
|
|
205
|
+
export type WebhookDeliveryStatus = (typeof WebhookDeliveryStatus)[keyof typeof WebhookDeliveryStatus];
|
|
206
|
+
/** The plans an account can be on: Free keeps a fee of every payment, Pro keeps none. */
|
|
207
|
+
export declare const PlanName: Readonly<{
|
|
208
|
+
readonly Free: 'free';
|
|
209
|
+
readonly Pro: 'pro';
|
|
210
|
+
}>;
|
|
211
|
+
export type PlanName = (typeof PlanName)[keyof typeof PlanName];
|
|
212
|
+
/** Whether an account is one person's or an organization's. */
|
|
213
|
+
export declare const AccountType: Readonly<{
|
|
214
|
+
readonly Personal: 'personal';
|
|
215
|
+
readonly Organization: 'organization';
|
|
216
|
+
}>;
|
|
217
|
+
export type AccountType = (typeof AccountType)[keyof typeof AccountType];
|
|
218
|
+
/** The languages the checkout can fall back on when the customer's browser asks for none of them. */
|
|
219
|
+
export declare const CheckoutLocale: Readonly<{
|
|
220
|
+
readonly English: 'en';
|
|
221
|
+
readonly French: 'fr';
|
|
222
|
+
readonly German: 'de';
|
|
223
|
+
readonly Spanish: 'es';
|
|
224
|
+
readonly Turkish: 'tr';
|
|
225
|
+
readonly Portuguese: 'pt';
|
|
226
|
+
readonly Russian: 'ru';
|
|
227
|
+
readonly Arabic: 'ar';
|
|
228
|
+
}>;
|
|
229
|
+
export type CheckoutLocale = (typeof CheckoutLocale)[keyof typeof CheckoutLocale];
|
|
230
|
+
/** What the activity log records. The API adds actions from time to time, so expect others too. */
|
|
231
|
+
export declare const ActivityAction: Readonly<{
|
|
232
|
+
readonly WalletsChanged: 'wallets.changed';
|
|
233
|
+
readonly PayoutAddressAccessChanged: 'wallets.api_access_changed';
|
|
234
|
+
readonly SecondFactorRequirementChanged: 'team.second_factor_requirement_changed';
|
|
235
|
+
readonly PaymentSettingsUpdated: 'payment_settings.updated';
|
|
236
|
+
readonly ProfileUpdated: 'profile.updated';
|
|
237
|
+
readonly BusinessDetailsUpdated: 'business_details.updated';
|
|
238
|
+
readonly ApiKeyCreated: 'api_key.created';
|
|
239
|
+
readonly ApiKeyUpdated: 'api_key.updated';
|
|
240
|
+
readonly ApiKeyRevoked: 'api_key.revoked';
|
|
241
|
+
readonly WebhookCreated: 'webhook.created';
|
|
242
|
+
readonly WebhookUpdated: 'webhook.updated';
|
|
243
|
+
readonly WebhookDeleted: 'webhook.deleted';
|
|
244
|
+
readonly WebhookSecretRotated: 'webhook.secret_rotated';
|
|
245
|
+
readonly MemberInvited: 'member.invited';
|
|
246
|
+
readonly MemberJoined: 'member.joined';
|
|
247
|
+
readonly MemberRoleChanged: 'member.role_changed';
|
|
248
|
+
readonly MemberRemoved: 'member.removed';
|
|
249
|
+
readonly PaymentLinkCreated: 'payment_link.created';
|
|
250
|
+
readonly PaymentLinkUpdated: 'payment_link.updated';
|
|
251
|
+
readonly PaymentLinkArchived: 'payment_link.archived';
|
|
252
|
+
readonly PaymentLinkRestored: 'payment_link.restored';
|
|
253
|
+
readonly InvitationCanceled: 'member.invitation_canceled';
|
|
254
|
+
readonly ChargePaymentRequested: 'charge.payment_requested';
|
|
255
|
+
readonly WebhookDisabled: 'webhook.disabled';
|
|
256
|
+
readonly ChargeCanceled: 'charge.canceled';
|
|
257
|
+
readonly ChargeAccepted: 'charge.accepted';
|
|
258
|
+
readonly RefundRecorded: 'refund.recorded';
|
|
259
|
+
readonly InvoiceVoided: 'invoice.voided';
|
|
260
|
+
readonly PlanPaymentStarted: 'plan.payment_started';
|
|
261
|
+
readonly SubscriptionCanceled: 'plan.subscription_canceled';
|
|
262
|
+
readonly SubscriptionResumed: 'plan.subscription_resumed';
|
|
263
|
+
readonly SignedIn: 'auth.signed_in';
|
|
264
|
+
readonly SignInFailed: 'auth.sign_in_failed';
|
|
265
|
+
readonly PasswordChanged: 'auth.password_changed';
|
|
266
|
+
readonly TwoFactorEnabled: 'auth.two_factor_enabled';
|
|
267
|
+
readonly TwoFactorDisabled: 'auth.two_factor_disabled';
|
|
268
|
+
readonly SignedOutElsewhere: 'auth.signed_out_elsewhere';
|
|
269
|
+
readonly TwoFactorFailed: 'auth.two_factor_failed';
|
|
270
|
+
readonly EmailChanged: 'auth.email_changed';
|
|
271
|
+
readonly PasskeyAdded: 'auth.passkey_added';
|
|
272
|
+
readonly PasskeyRemoved: 'auth.passkey_removed';
|
|
273
|
+
readonly CouponCreated: 'coupon.created';
|
|
274
|
+
readonly CouponUpdated: 'coupon.updated';
|
|
275
|
+
readonly CouponDeleted: 'coupon.deleted';
|
|
276
|
+
readonly AppConnected: 'auth.app_connected';
|
|
277
|
+
readonly AppDisconnected: 'auth.app_disconnected';
|
|
278
|
+
readonly ChatConnected: 'chat.connected';
|
|
279
|
+
readonly ChatUpdated: 'chat.updated';
|
|
280
|
+
readonly ChatRemoved: 'chat.removed';
|
|
281
|
+
readonly ChatDisabled: 'chat.disabled';
|
|
282
|
+
readonly SanctionsMatched: 'sanctions.matched';
|
|
283
|
+
readonly SanctionsAccepted: 'sanctions.accepted';
|
|
284
|
+
readonly SanctionsReturnRequested: 'sanctions.return_requested';
|
|
285
|
+
readonly SocialAccountConnected: 'auth.social_connected';
|
|
286
|
+
readonly SocialAccountDisconnected: 'auth.social_disconnected';
|
|
287
|
+
}>;
|
|
288
|
+
export type ActivityAction = (typeof ActivityAction)[keyof typeof ActivityAction];
|
package/dist/cjs/enums.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ApiKeyPermission = exports.MonthlyVolume = exports.Industry = exports.BusinessType = exports.Mode = exports.EventType = exports.PricingType = exports.PaymentLinkStatus = exports.PayoutStatus = exports.InvoiceStatus = exports.ChargeStatus = exports.Asset = void 0;
|
|
3
|
+
exports.ActivityAction = exports.CheckoutLocale = exports.AccountType = exports.PlanName = exports.WebhookDeliveryStatus = exports.CheckoutAppearance = exports.AddressNetwork = exports.MemberRole = exports.Currency = exports.ApiKeyPermission = exports.MonthlyVolume = exports.Industry = exports.BusinessType = exports.Mode = exports.EventType = exports.PricingType = exports.PaymentLinkStatus = exports.PayoutStatus = exports.InvoiceStatus = exports.ChargeStatus = exports.Asset = void 0;
|
|
4
4
|
/** A coin on one particular network, such as USDT on Ethereum or USDT_TRON on Tron. The account lists the ones it accepts right now. */
|
|
5
|
-
exports.Asset = {
|
|
5
|
+
exports.Asset = Object.freeze({
|
|
6
6
|
BTC: 'BTC',
|
|
7
7
|
BTC_LIGHTNING: 'BTC_LIGHTNING',
|
|
8
8
|
LTC: 'LTC',
|
|
@@ -26,41 +26,41 @@ exports.Asset = {
|
|
|
26
26
|
ETH_BASE: 'ETH_BASE',
|
|
27
27
|
ETH_ARBITRUM: 'ETH_ARBITRUM',
|
|
28
28
|
POL: 'POL',
|
|
29
|
-
};
|
|
29
|
+
});
|
|
30
30
|
/** The states a charge moves through. */
|
|
31
|
-
exports.ChargeStatus = {
|
|
31
|
+
exports.ChargeStatus = Object.freeze({
|
|
32
32
|
Pending: 'pending',
|
|
33
33
|
Underpaid: 'underpaid',
|
|
34
34
|
Paid: 'paid',
|
|
35
35
|
Expired: 'expired',
|
|
36
36
|
Canceled: 'canceled',
|
|
37
|
-
};
|
|
37
|
+
});
|
|
38
38
|
/** The states an invoice moves through. */
|
|
39
|
-
exports.InvoiceStatus = {
|
|
39
|
+
exports.InvoiceStatus = Object.freeze({
|
|
40
40
|
Open: 'open',
|
|
41
41
|
Paid: 'paid',
|
|
42
42
|
Void: 'void',
|
|
43
|
-
};
|
|
43
|
+
});
|
|
44
44
|
/** Where a payout has got to. */
|
|
45
|
-
exports.PayoutStatus = {
|
|
45
|
+
exports.PayoutStatus = Object.freeze({
|
|
46
46
|
Pending: 'pending',
|
|
47
47
|
Sending: 'sending',
|
|
48
48
|
Sent: 'sent',
|
|
49
49
|
Failed: 'failed',
|
|
50
50
|
Manual: 'manual',
|
|
51
|
-
};
|
|
51
|
+
});
|
|
52
52
|
/** Whether a payment link takes payments. */
|
|
53
|
-
exports.PaymentLinkStatus = {
|
|
53
|
+
exports.PaymentLinkStatus = Object.freeze({
|
|
54
54
|
Active: 'active',
|
|
55
55
|
Archived: 'archived',
|
|
56
|
-
};
|
|
56
|
+
});
|
|
57
57
|
/** How a payment link is priced: at a set amount, or at one the customer names. */
|
|
58
|
-
exports.PricingType = {
|
|
58
|
+
exports.PricingType = Object.freeze({
|
|
59
59
|
Fixed: 'fixed',
|
|
60
60
|
Open: 'open',
|
|
61
|
-
};
|
|
61
|
+
});
|
|
62
62
|
/** The events a charge, an invoice or a payout reports, through webhooks and the events API. */
|
|
63
|
-
exports.EventType = {
|
|
63
|
+
exports.EventType = Object.freeze({
|
|
64
64
|
ChargeCreated: 'charge.created',
|
|
65
65
|
ChargePaymentDetected: 'charge.payment_detected',
|
|
66
66
|
ChargePaid: 'charge.paid',
|
|
@@ -76,20 +76,20 @@ exports.EventType = {
|
|
|
76
76
|
InvoiceVoided: 'invoice.voided',
|
|
77
77
|
PayoutSent: 'payout.sent',
|
|
78
78
|
PayoutConfirmed: 'payout.confirmed',
|
|
79
|
-
};
|
|
79
|
+
});
|
|
80
80
|
/** The mode an API key, object or webhook belongs to. */
|
|
81
|
-
exports.Mode = {
|
|
81
|
+
exports.Mode = Object.freeze({
|
|
82
82
|
Live: 'live',
|
|
83
83
|
Test: 'test',
|
|
84
|
-
};
|
|
84
|
+
});
|
|
85
85
|
/** What kind of legal entity runs an account. */
|
|
86
|
-
exports.BusinessType = {
|
|
86
|
+
exports.BusinessType = Object.freeze({
|
|
87
87
|
Individual: 'individual',
|
|
88
88
|
Company: 'company',
|
|
89
89
|
NonProfit: 'non_profit',
|
|
90
|
-
};
|
|
90
|
+
});
|
|
91
91
|
/** What an account sells, broadly. */
|
|
92
|
-
exports.Industry = {
|
|
92
|
+
exports.Industry = Object.freeze({
|
|
93
93
|
DigitalProducts: 'digital_products',
|
|
94
94
|
Software: 'software',
|
|
95
95
|
Hosting: 'hosting',
|
|
@@ -102,17 +102,17 @@ exports.Industry = {
|
|
|
102
102
|
Travel: 'travel',
|
|
103
103
|
Donations: 'donations',
|
|
104
104
|
Other: 'other',
|
|
105
|
-
};
|
|
105
|
+
});
|
|
106
106
|
/** How much an account expects to take in a month, in US dollars. */
|
|
107
|
-
exports.MonthlyVolume = {
|
|
107
|
+
exports.MonthlyVolume = Object.freeze({
|
|
108
108
|
Under1k: 'under_1k',
|
|
109
109
|
Under10k: '1k_10k',
|
|
110
110
|
Under50k: '10k_50k',
|
|
111
111
|
Under250k: '50k_250k',
|
|
112
112
|
Over250k: 'over_250k',
|
|
113
|
-
};
|
|
113
|
+
});
|
|
114
114
|
/** What a restricted API key may do. Full access gives every permission but the sensitive ones, which have to be ticked. */
|
|
115
|
-
exports.ApiKeyPermission = {
|
|
115
|
+
exports.ApiKeyPermission = Object.freeze({
|
|
116
116
|
ChargesRead: 'charges:read',
|
|
117
117
|
ChargesWrite: 'charges:write',
|
|
118
118
|
ChargesAccept: 'charges:accept',
|
|
@@ -138,4 +138,129 @@ exports.ApiKeyPermission = {
|
|
|
138
138
|
MembersRead: 'members:read',
|
|
139
139
|
MembersWrite: 'members:write',
|
|
140
140
|
BillingWrite: 'billing:write',
|
|
141
|
-
};
|
|
141
|
+
});
|
|
142
|
+
/** The fiat currencies prices can be set in. */
|
|
143
|
+
exports.Currency = Object.freeze({
|
|
144
|
+
USD: 'USD',
|
|
145
|
+
EUR: 'EUR',
|
|
146
|
+
GBP: 'GBP',
|
|
147
|
+
CAD: 'CAD',
|
|
148
|
+
AUD: 'AUD',
|
|
149
|
+
CHF: 'CHF',
|
|
150
|
+
TRY: 'TRY',
|
|
151
|
+
});
|
|
152
|
+
/** The roles people have in an account. Owner only appears in answers: invitations and role changes take the others. */
|
|
153
|
+
exports.MemberRole = Object.freeze({
|
|
154
|
+
Owner: 'owner',
|
|
155
|
+
Admin: 'admin',
|
|
156
|
+
Finance: 'finance',
|
|
157
|
+
Support: 'support',
|
|
158
|
+
Viewer: 'viewer',
|
|
159
|
+
});
|
|
160
|
+
/** The network families that each have one payout address, as payoutAddresses.update() and delete() name them. */
|
|
161
|
+
exports.AddressNetwork = Object.freeze({
|
|
162
|
+
Bitcoin: 'bitcoin',
|
|
163
|
+
Litecoin: 'litecoin',
|
|
164
|
+
Dogecoin: 'dogecoin',
|
|
165
|
+
BitcoinCash: 'bitcoincash',
|
|
166
|
+
Evm: 'evm',
|
|
167
|
+
Bsc: 'bsc',
|
|
168
|
+
Base: 'base',
|
|
169
|
+
Arbitrum: 'arbitrum',
|
|
170
|
+
Polygon: 'polygon',
|
|
171
|
+
Tron: 'tron',
|
|
172
|
+
Monero: 'monero',
|
|
173
|
+
Solana: 'solana',
|
|
174
|
+
Lightning: 'lightning',
|
|
175
|
+
});
|
|
176
|
+
/** How the checkout looks: following the customer's device, or always light or dark. */
|
|
177
|
+
exports.CheckoutAppearance = Object.freeze({
|
|
178
|
+
Auto: 'auto',
|
|
179
|
+
Light: 'light',
|
|
180
|
+
Dark: 'dark',
|
|
181
|
+
});
|
|
182
|
+
/** Where a webhook delivery has got to. */
|
|
183
|
+
exports.WebhookDeliveryStatus = Object.freeze({
|
|
184
|
+
Pending: 'pending',
|
|
185
|
+
Succeeded: 'succeeded',
|
|
186
|
+
Failed: 'failed',
|
|
187
|
+
});
|
|
188
|
+
/** The plans an account can be on: Free keeps a fee of every payment, Pro keeps none. */
|
|
189
|
+
exports.PlanName = Object.freeze({
|
|
190
|
+
Free: 'free',
|
|
191
|
+
Pro: 'pro',
|
|
192
|
+
});
|
|
193
|
+
/** Whether an account is one person's or an organization's. */
|
|
194
|
+
exports.AccountType = Object.freeze({
|
|
195
|
+
Personal: 'personal',
|
|
196
|
+
Organization: 'organization',
|
|
197
|
+
});
|
|
198
|
+
/** The languages the checkout can fall back on when the customer's browser asks for none of them. */
|
|
199
|
+
exports.CheckoutLocale = Object.freeze({
|
|
200
|
+
English: 'en',
|
|
201
|
+
French: 'fr',
|
|
202
|
+
German: 'de',
|
|
203
|
+
Spanish: 'es',
|
|
204
|
+
Turkish: 'tr',
|
|
205
|
+
Portuguese: 'pt',
|
|
206
|
+
Russian: 'ru',
|
|
207
|
+
Arabic: 'ar',
|
|
208
|
+
});
|
|
209
|
+
/** What the activity log records. The API adds actions from time to time, so expect others too. */
|
|
210
|
+
exports.ActivityAction = Object.freeze({
|
|
211
|
+
WalletsChanged: 'wallets.changed',
|
|
212
|
+
PayoutAddressAccessChanged: 'wallets.api_access_changed',
|
|
213
|
+
SecondFactorRequirementChanged: 'team.second_factor_requirement_changed',
|
|
214
|
+
PaymentSettingsUpdated: 'payment_settings.updated',
|
|
215
|
+
ProfileUpdated: 'profile.updated',
|
|
216
|
+
BusinessDetailsUpdated: 'business_details.updated',
|
|
217
|
+
ApiKeyCreated: 'api_key.created',
|
|
218
|
+
ApiKeyUpdated: 'api_key.updated',
|
|
219
|
+
ApiKeyRevoked: 'api_key.revoked',
|
|
220
|
+
WebhookCreated: 'webhook.created',
|
|
221
|
+
WebhookUpdated: 'webhook.updated',
|
|
222
|
+
WebhookDeleted: 'webhook.deleted',
|
|
223
|
+
WebhookSecretRotated: 'webhook.secret_rotated',
|
|
224
|
+
MemberInvited: 'member.invited',
|
|
225
|
+
MemberJoined: 'member.joined',
|
|
226
|
+
MemberRoleChanged: 'member.role_changed',
|
|
227
|
+
MemberRemoved: 'member.removed',
|
|
228
|
+
PaymentLinkCreated: 'payment_link.created',
|
|
229
|
+
PaymentLinkUpdated: 'payment_link.updated',
|
|
230
|
+
PaymentLinkArchived: 'payment_link.archived',
|
|
231
|
+
PaymentLinkRestored: 'payment_link.restored',
|
|
232
|
+
InvitationCanceled: 'member.invitation_canceled',
|
|
233
|
+
ChargePaymentRequested: 'charge.payment_requested',
|
|
234
|
+
WebhookDisabled: 'webhook.disabled',
|
|
235
|
+
ChargeCanceled: 'charge.canceled',
|
|
236
|
+
ChargeAccepted: 'charge.accepted',
|
|
237
|
+
RefundRecorded: 'refund.recorded',
|
|
238
|
+
InvoiceVoided: 'invoice.voided',
|
|
239
|
+
PlanPaymentStarted: 'plan.payment_started',
|
|
240
|
+
SubscriptionCanceled: 'plan.subscription_canceled',
|
|
241
|
+
SubscriptionResumed: 'plan.subscription_resumed',
|
|
242
|
+
SignedIn: 'auth.signed_in',
|
|
243
|
+
SignInFailed: 'auth.sign_in_failed',
|
|
244
|
+
PasswordChanged: 'auth.password_changed',
|
|
245
|
+
TwoFactorEnabled: 'auth.two_factor_enabled',
|
|
246
|
+
TwoFactorDisabled: 'auth.two_factor_disabled',
|
|
247
|
+
SignedOutElsewhere: 'auth.signed_out_elsewhere',
|
|
248
|
+
TwoFactorFailed: 'auth.two_factor_failed',
|
|
249
|
+
EmailChanged: 'auth.email_changed',
|
|
250
|
+
PasskeyAdded: 'auth.passkey_added',
|
|
251
|
+
PasskeyRemoved: 'auth.passkey_removed',
|
|
252
|
+
CouponCreated: 'coupon.created',
|
|
253
|
+
CouponUpdated: 'coupon.updated',
|
|
254
|
+
CouponDeleted: 'coupon.deleted',
|
|
255
|
+
AppConnected: 'auth.app_connected',
|
|
256
|
+
AppDisconnected: 'auth.app_disconnected',
|
|
257
|
+
ChatConnected: 'chat.connected',
|
|
258
|
+
ChatUpdated: 'chat.updated',
|
|
259
|
+
ChatRemoved: 'chat.removed',
|
|
260
|
+
ChatDisabled: 'chat.disabled',
|
|
261
|
+
SanctionsMatched: 'sanctions.matched',
|
|
262
|
+
SanctionsAccepted: 'sanctions.accepted',
|
|
263
|
+
SanctionsReturnRequested: 'sanctions.return_requested',
|
|
264
|
+
SocialAccountConnected: 'auth.social_connected',
|
|
265
|
+
SocialAccountDisconnected: 'auth.social_disconnected',
|
|
266
|
+
});
|
package/dist/cjs/errors.d.ts
CHANGED
|
@@ -28,8 +28,17 @@ export declare class PermissionError extends ApiError {
|
|
|
28
28
|
/** The object does not exist for this account and mode (404). */
|
|
29
29
|
export declare class NotFoundError extends ApiError {
|
|
30
30
|
}
|
|
31
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* The object's state does not allow the action, or an idempotency key was reused for a different request, is held by one
|
|
33
|
+
* still being processed, or belongs to a request that succeeded but whose answer carried a secret, which wasReplayed() tells (409).
|
|
34
|
+
*/
|
|
32
35
|
export declare class ConflictError extends ApiError {
|
|
36
|
+
/**
|
|
37
|
+
* Whether the API answered from an earlier request with the same idempotency key that succeeded: one that made an API key or
|
|
38
|
+
* a webhook endpoint, or rotated an endpoint's signing secret, whose answer is never kept because it carried the key or
|
|
39
|
+
* secret. The library's own retry after a lost answer gets this too. The write was carried out, but its key or secret cannot be shown again.
|
|
40
|
+
*/
|
|
41
|
+
wasReplayed(): boolean;
|
|
33
42
|
}
|
|
34
43
|
/** The request failed validation (422). */
|
|
35
44
|
export declare class ValidationError extends ApiError {
|
package/dist/cjs/errors.js
CHANGED
|
@@ -66,8 +66,19 @@ exports.PermissionError = PermissionError;
|
|
|
66
66
|
class NotFoundError extends ApiError {
|
|
67
67
|
}
|
|
68
68
|
exports.NotFoundError = NotFoundError;
|
|
69
|
-
/**
|
|
69
|
+
/**
|
|
70
|
+
* The object's state does not allow the action, or an idempotency key was reused for a different request, is held by one
|
|
71
|
+
* still being processed, or belongs to a request that succeeded but whose answer carried a secret, which wasReplayed() tells (409).
|
|
72
|
+
*/
|
|
70
73
|
class ConflictError extends ApiError {
|
|
74
|
+
/**
|
|
75
|
+
* Whether the API answered from an earlier request with the same idempotency key that succeeded: one that made an API key or
|
|
76
|
+
* a webhook endpoint, or rotated an endpoint's signing secret, whose answer is never kept because it carried the key or
|
|
77
|
+
* secret. The library's own retry after a lost answer gets this too. The write was carried out, but its key or secret cannot be shown again.
|
|
78
|
+
*/
|
|
79
|
+
wasReplayed() {
|
|
80
|
+
return this.response.wasReplayed();
|
|
81
|
+
}
|
|
71
82
|
}
|
|
72
83
|
exports.ConflictError = ConflictError;
|
|
73
84
|
/** The request failed validation (422). */
|
|
@@ -4,8 +4,10 @@ exports.HttpTransport = void 0;
|
|
|
4
4
|
const node_crypto_1 = require("node:crypto");
|
|
5
5
|
const errors_ts_1 = require("../errors.js");
|
|
6
6
|
const api_response_ts_1 = require("./api-response.js");
|
|
7
|
-
/** The statuses worth another attempt for any request. */
|
|
8
|
-
const RETRYABLE_STATUSES = [429, 502, 503, 504];
|
|
7
|
+
/** The statuses worth another attempt for any request, Cloudflare's 520 to 524 for an origin it got no answer from included. */
|
|
8
|
+
const RETRYABLE_STATUSES = [429, 502, 503, 504, 520, 521, 522, 523, 524];
|
|
9
|
+
/** The codes Node gives a connection that could not be made or was cut off, which a fetch implementation may throw as they are. */
|
|
10
|
+
const NETWORK_ERROR_CODES = ['ECONNRESET', 'ECONNREFUSED', 'ETIMEDOUT', 'EPIPE', 'EAI_AGAIN', 'ENOTFOUND', 'EHOSTUNREACH', 'ENETUNREACH'];
|
|
9
11
|
/** Sends requests to the VeliraPay API and turns its answers into responses or errors. */
|
|
10
12
|
class HttpTransport {
|
|
11
13
|
#options;
|
|
@@ -18,6 +20,9 @@ class HttpTransport {
|
|
|
18
20
|
/** Send a request and return the successful response. */
|
|
19
21
|
async request(method, path, query = {}, body, idempotencyKey) {
|
|
20
22
|
method = method.toUpperCase();
|
|
23
|
+
if (typeof idempotencyKey === 'string' && idempotencyKey.trim() === '') {
|
|
24
|
+
throw new errors_ts_1.InvalidArgumentError('An idempotency key cannot be blank: give one such as order-1042-attempt-1, or leave it out.');
|
|
25
|
+
}
|
|
21
26
|
// A retried write must not be carried out twice, so every attempt carries the same key.
|
|
22
27
|
if (method !== 'GET' && idempotencyKey === undefined && this.#options.maxRetries > 0) {
|
|
23
28
|
idempotencyKey = (0, node_crypto_1.randomUUID)();
|
|
@@ -132,7 +137,17 @@ class HttpTransport {
|
|
|
132
137
|
exports.HttpTransport = HttpTransport;
|
|
133
138
|
/** Whether fetch failed to reach the API, or to read its answer, rather than the code calling it failing. */
|
|
134
139
|
function isNetworkError(error) {
|
|
135
|
-
|
|
140
|
+
if (error instanceof TypeError) {
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
if (!(error instanceof Error)) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
// node-fetch reports a connection or a body read that failed as a FetchError of the "system" type.
|
|
147
|
+
if (error.name === 'TimeoutError' || error.name === 'AbortError' || (error.name === 'FetchError' && 'type' in error && error.type === 'system')) {
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
return 'code' in error && typeof error.code === 'string' && NETWORK_ERROR_CODES.includes(error.code);
|
|
136
151
|
}
|
|
137
152
|
/** The wait before an attempt, in seconds: half a second, doubling each time, with some jitter. */
|
|
138
153
|
function backoff(attempt) {
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export { VeliraPayClient, type ClientOptions } from './client.ts';
|
|
2
2
|
export { VERSION } from './version.ts';
|
|
3
|
-
export { ApiKeyPermission, Asset, BusinessType, ChargeStatus, EventType, Industry, InvoiceStatus, Mode, MonthlyVolume, PaymentLinkStatus, PayoutStatus, PricingType,
|
|
3
|
+
export { AccountType, ActivityAction, AddressNetwork, ApiKeyPermission, Asset, BusinessType, ChargeStatus, CheckoutAppearance, CheckoutLocale, Currency, EventType, Industry, InvoiceStatus, MemberRole, Mode, MonthlyVolume, PaymentLinkStatus, PayoutStatus, PlanName, PricingType, WebhookDeliveryStatus, type AssignableMemberRole, type OrString, } from './enums.ts';
|
|
4
4
|
export { ApiError, AuthenticationError, ConflictError, ConnectionError, InvalidArgumentError, InvalidRequestError, NotFoundError, PermissionError, RateLimitError, ServerError, SignatureVerificationError, UnexpectedResponseError, ValidationError, VeliraPayError, } from './errors.ts';
|
|
5
5
|
export { ApiResponse } from './http/api-response.ts';
|
|
6
6
|
export type { Fetch } from './http/transport.ts';
|
|
7
|
-
export { Page, type PagePosition } from './page.ts';
|
|
7
|
+
export { AssetPage, Page, type PagePosition } from './page.ts';
|
|
8
8
|
export type * from './params.ts';
|
|
9
9
|
export { Account, AccountBusiness, Address, type AccountCheckout, type AccountInvoices } from './resources/account.ts';
|
|
10
10
|
export { Activity } from './resources/activity.ts';
|
|
@@ -15,7 +15,7 @@ export { Coupon } from './resources/coupon.ts';
|
|
|
15
15
|
export { Event } from './resources/event.ts';
|
|
16
16
|
export { Invoice, InvoiceItem, type InvoiceCharge } from './resources/invoice.ts';
|
|
17
17
|
export { Invitation, Member } from './resources/member.ts';
|
|
18
|
-
export { Overview } from './resources/overview.ts';
|
|
18
|
+
export { Overview, type OverviewAsset, type OverviewAttention, type OverviewChargeAmount, type OverviewDay, type OverviewFunnel, type OverviewFunnelAsset, type OverviewPaymentLink, type OverviewPeriod, type OverviewSetup, type OverviewWaitingPayouts, } from './resources/overview.ts';
|
|
19
19
|
export { PaymentLink, type CheckoutQuestion } from './resources/payment-link.ts';
|
|
20
20
|
export { Payout, PayoutAddress, PayoutSummary } from './resources/payout.ts';
|
|
21
21
|
export { ProPayment } from './resources/pro-payment.ts';
|