framepayments 2.0.1 → 2.1.4
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/README.md +55 -10
- package/dist/api/accounts-api.d.ts +8 -6
- package/dist/api/accounts-api.d.ts.map +1 -1
- package/dist/api/accounts-api.js +14 -9
- package/dist/api/accounts-api.js.map +1 -1
- package/dist/api/charge_intents-api.d.ts +3 -2
- package/dist/api/charge_intents-api.d.ts.map +1 -1
- package/dist/api/charge_intents-api.js +5 -4
- package/dist/api/charge_intents-api.js.map +1 -1
- package/dist/api/configuration-api.d.ts +10 -0
- package/dist/api/configuration-api.d.ts.map +1 -0
- package/dist/api/configuration-api.js +15 -0
- package/dist/api/configuration-api.js.map +1 -0
- package/dist/api/customer_identity-api.d.ts +8 -4
- package/dist/api/customer_identity-api.d.ts.map +1 -1
- package/dist/api/customer_identity-api.js +74 -6
- package/dist/api/customer_identity-api.js.map +1 -1
- package/dist/api/device_attestation-api.d.ts +10 -0
- package/dist/api/device_attestation-api.d.ts.map +1 -0
- package/dist/api/device_attestation-api.js +15 -0
- package/dist/api/device_attestation-api.js.map +1 -0
- package/dist/api/geo_compliance-api.d.ts +2 -1
- package/dist/api/geo_compliance-api.d.ts.map +1 -1
- package/dist/api/geo_compliance-api.js +3 -2
- package/dist/api/geo_compliance-api.js.map +1 -1
- package/dist/api/payment_methods-api.d.ts +9 -4
- package/dist/api/payment_methods-api.d.ts.map +1 -1
- package/dist/api/payment_methods-api.js +21 -14
- package/dist/api/payment_methods-api.js.map +1 -1
- package/dist/api/phone_verifications-api.d.ts +3 -2
- package/dist/api/phone_verifications-api.d.ts.map +1 -1
- package/dist/api/phone_verifications-api.js +5 -4
- package/dist/api/phone_verifications-api.js.map +1 -1
- package/dist/api/refunds-api.d.ts +0 -1
- package/dist/api/refunds-api.d.ts.map +1 -1
- package/dist/api/refunds-api.js +0 -4
- package/dist/api/refunds-api.js.map +1 -1
- package/dist/api/transfers-api.d.ts +2 -1
- package/dist/api/transfers-api.d.ts.map +1 -1
- package/dist/api/transfers-api.js +3 -2
- package/dist/api/transfers-api.js.map +1 -1
- package/dist/api/wallet-api.d.ts +9 -0
- package/dist/api/wallet-api.d.ts.map +1 -0
- package/dist/api/wallet-api.js +11 -0
- package/dist/api/wallet-api.js.map +1 -0
- package/dist/client.d.ts +10 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +97 -10
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/types/accounts.d.ts +16 -0
- package/dist/types/accounts.d.ts.map +1 -1
- package/dist/types/charge_intents.d.ts +19 -3
- package/dist/types/charge_intents.d.ts.map +1 -1
- package/dist/types/charges.d.ts +6 -0
- package/dist/types/charges.d.ts.map +1 -1
- package/dist/types/configuration.d.ts +9 -0
- package/dist/types/configuration.d.ts.map +1 -0
- package/dist/types/configuration.js +2 -0
- package/dist/types/configuration.js.map +1 -0
- package/dist/types/customer_identity.d.ts +14 -0
- package/dist/types/customer_identity.d.ts.map +1 -1
- package/dist/types/device_attestation.d.ts +13 -0
- package/dist/types/device_attestation.d.ts.map +1 -0
- package/dist/types/device_attestation.js +2 -0
- package/dist/types/device_attestation.js.map +1 -0
- package/dist/types/disputes.d.ts +11 -22
- package/dist/types/disputes.d.ts.map +1 -1
- package/dist/types/disputes.js +0 -17
- package/dist/types/disputes.js.map +1 -1
- package/dist/types/invoice_line_items.d.ts +0 -7
- package/dist/types/invoice_line_items.d.ts.map +1 -1
- package/dist/types/invoices.d.ts +5 -0
- package/dist/types/invoices.d.ts.map +1 -1
- package/dist/types/onboarding.d.ts +3 -0
- package/dist/types/onboarding.d.ts.map +1 -1
- package/dist/types/onboarding_sessions.d.ts +1 -0
- package/dist/types/onboarding_sessions.d.ts.map +1 -1
- package/dist/types/payment_methods.d.ts +84 -1
- package/dist/types/payment_methods.d.ts.map +1 -1
- package/dist/types/phone_verifications.d.ts +1 -0
- package/dist/types/phone_verifications.d.ts.map +1 -1
- package/dist/types/products.d.ts +5 -0
- package/dist/types/products.d.ts.map +1 -1
- package/dist/types/products.js.map +1 -1
- package/dist/types/subscription_phases.d.ts +3 -3
- package/dist/types/subscription_phases.d.ts.map +1 -1
- package/dist/types/subscriptions.d.ts +14 -1
- package/dist/types/subscriptions.d.ts.map +1 -1
- package/dist/types/transfers.d.ts +10 -6
- package/dist/types/transfers.d.ts.map +1 -1
- package/dist/types/wallet.d.ts +7 -0
- package/dist/types/wallet.d.ts.map +1 -0
- package/dist/types/wallet.js +2 -0
- package/dist/types/wallet.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Frame-Node.js Library
|
|
2
|
-
The Frame Node.js Library simplifies the process of creating a seamless payment experience within your web app. It provides direct access to the underlying APIs that drive these components, allowing you to design fully customized payment workflows tailored to your app's needs.
|
|
2
|
+
The Frame Node.js Library simplifies the process of creating a seamless payment experience within your web app or mobile client. It provides direct access to the underlying APIs that drive these components, allowing you to design fully customized payment workflows tailored to your app's needs.
|
|
3
3
|
|
|
4
4
|
## 📦 Installation
|
|
5
5
|
|
|
@@ -9,27 +9,27 @@ npm install framepayments
|
|
|
9
9
|
yarn add framepayments
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
## 🤖
|
|
12
|
+
## 🤖 Server-side usage
|
|
13
13
|
|
|
14
|
-
1. Initialize the client. You'll need your developer secret key from Frame
|
|
15
|
-
|
|
14
|
+
1. Initialize the client with your API key. You'll need your developer secret key from Frame; if you don't already have one you can sign up at https://www.framepayments.com.
|
|
15
|
+
|
|
16
|
+
```ts
|
|
16
17
|
import { FrameSDK } from 'framepayments';
|
|
17
18
|
|
|
18
19
|
const frame = new FrameSDK({
|
|
19
|
-
apiKey: '
|
|
20
|
+
apiKey: 'sk_...', // your Frame secret API key
|
|
20
21
|
});
|
|
21
22
|
```
|
|
22
23
|
|
|
23
|
-
2. Access API endpoints directly using available types and dot notation. For
|
|
24
|
-
|
|
24
|
+
2. Access API endpoints directly using available types and dot notation. For the full list see https://docs.framepayments.com.
|
|
25
|
+
|
|
26
|
+
```ts
|
|
25
27
|
const newCustomer = await frame.customers.create({
|
|
26
28
|
name: 'Alice Johnson',
|
|
27
29
|
email: 'alice@example.com',
|
|
28
30
|
});
|
|
29
31
|
console.log(newCustomer.id); // e.g. cust_abc123
|
|
30
|
-
```
|
|
31
32
|
|
|
32
|
-
```bash
|
|
33
33
|
const subscription = await frame.subscriptions.create({
|
|
34
34
|
customer: 'cust_abc123',
|
|
35
35
|
plan: 'plan_basic_monthly',
|
|
@@ -37,6 +37,51 @@ const subscription = await frame.subscriptions.create({
|
|
|
37
37
|
console.log(subscription.status); // e.g. active
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
##
|
|
40
|
+
## 📱 Client-side (mobile) usage
|
|
41
|
+
|
|
42
|
+
For mobile clients running on Frame's React Native SDK (`framepayments-react-native@4+`), initialize with the **publishable** key only and call publishable-keyed endpoints:
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
import { FrameSDK } from 'framepayments';
|
|
46
|
+
|
|
47
|
+
const frame = new FrameSDK({
|
|
48
|
+
publishableKey: 'pk_...', // safe to ship on-device
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
// Apple Pay / Google Pay / device attestation / wallet config / Apple Pay
|
|
52
|
+
// payment-method creation all accept the publishable key.
|
|
53
|
+
const challenge = await frame.deviceAttestation.getChallenge();
|
|
54
|
+
const wallet = await frame.wallet.getGooglePayConfiguration();
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Any call to a secret-keyed endpoint from a publishable-only client will throw a `FrameAPIError` with `code: 'missing_api_key'` before the request hits the network.
|
|
58
|
+
|
|
59
|
+
## 🔑 Per-call key routing
|
|
60
|
+
|
|
61
|
+
Some endpoints (configuration, document upload, geo-compliance, phone verification) default to the secret key but can be invoked over the publishable key when called from a mobile client. Pass `{ usePublishableKey: true }` as the final argument:
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
// Server-side: default secret-key path
|
|
65
|
+
await frame.configuration.getEvervaultConfiguration();
|
|
66
|
+
|
|
67
|
+
// Mobile: publishable-key path
|
|
68
|
+
await frame.configuration.getEvervaultConfiguration({ usePublishableKey: true });
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
The SDK defaults match the native Frame iOS / Android SDKs exactly — endpoints that those SDKs invoke with `usePublishableKey: true` are publishable-by-default here as well (`paymentMethods.createApplePayPaymentMethod`, `paymentMethods.createGooglePayPaymentMethod`, `deviceAttestation.*`, `wallet.getGooglePayConfiguration`). Everything else defaults to secret.
|
|
72
|
+
|
|
73
|
+
## 📚 Available APIs
|
|
74
|
+
|
|
75
|
+
| Namespace | Purpose |
|
|
76
|
+
| --- | --- |
|
|
77
|
+
| `accounts`, `capabilities`, `customers`, `customerIdentityVerifications` | Identity & onboarding |
|
|
78
|
+
| `paymentMethods`, `chargeIntents`, `charges`, `chargeSessions`, `transfers` | Payments |
|
|
79
|
+
| `applePay` (via `paymentMethods.createApplePayPaymentMethod`), `wallet`, `deviceAttestation` | Apple Pay / Google Pay / attestation flows |
|
|
80
|
+
| `refunds`, `disputes`, `threeDS` | Refunds, chargebacks, 3-D Secure |
|
|
81
|
+
| `subscriptions`, `subscriptionPhases`, `subscriptionChangeLogs`, `coupons`, `promotionCodes`, `discounts` | Recurring billing |
|
|
82
|
+
| `invoices`, `invoiceLineItems`, `products`, `productPhases`, `transferFeePlans`, `transferBillingAgreements`, `paymentLinkSessions`, `billing` | Invoicing & monetization |
|
|
83
|
+
| `geofences`, `geoCompliance`, `sonarSessions`, `phoneVerifications`, `webhookEndpoints`, `payouts`, `configuration`, `onboarding`, `onboardingSessions`, `termsOfService` | Compliance, fraud, configuration |
|
|
84
|
+
|
|
85
|
+
## 🔒 Privacy
|
|
41
86
|
|
|
42
87
|
Our privacy policy can be found at https://framepayments.com/privacy.
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import type { AxiosInstance } from 'axios';
|
|
2
|
-
import type { Account, AccountListResponse, ListAccountsParams, CreateAccountParams, UpdateAccountParams, SearchAccountsParams } from '../types/accounts';
|
|
2
|
+
import type { Account, AccountListResponse, ListAccountsParams, CreateAccountParams, UpdateAccountParams, SearchAccountsParams, PlaidLinkTokenResponse } from '../types/accounts';
|
|
3
3
|
import type { GeoComplianceStatus } from '../types/geo_compliance';
|
|
4
4
|
import type { PaymentMethod } from '../types/payment_methods';
|
|
5
|
+
import { type RequestOptions } from '../client';
|
|
5
6
|
export declare class AccountsAPI {
|
|
6
7
|
private client;
|
|
7
8
|
constructor(client: AxiosInstance);
|
|
8
9
|
list(params?: ListAccountsParams): Promise<AccountListResponse>;
|
|
9
|
-
create(params: CreateAccountParams): Promise<Account>;
|
|
10
|
-
get(id: string): Promise<Account>;
|
|
11
|
-
update(id: string, params: UpdateAccountParams): Promise<Account>;
|
|
10
|
+
create(params: CreateAccountParams, opts?: RequestOptions): Promise<Account>;
|
|
11
|
+
get(id: string, opts?: RequestOptions): Promise<Account>;
|
|
12
|
+
update(id: string, params: UpdateAccountParams, opts?: RequestOptions): Promise<Account>;
|
|
12
13
|
disable(id: string): Promise<Account>;
|
|
13
14
|
search(params: SearchAccountsParams): Promise<AccountListResponse>;
|
|
14
|
-
getPaymentMethods(id: string): Promise<PaymentMethod[]>;
|
|
15
|
+
getPaymentMethods(id: string, opts?: RequestOptions): Promise<PaymentMethod[]>;
|
|
15
16
|
restrict(id: string): Promise<Account>;
|
|
16
17
|
unrestrict(id: string): Promise<Account>;
|
|
18
|
+
getPlaidLinkToken(id: string, opts?: RequestOptions): Promise<PlaidLinkTokenResponse>;
|
|
17
19
|
getGeoCompliance(accountId: string): Promise<GeoComplianceStatus>;
|
|
18
|
-
iterateAllAccounts(per_page?: number):
|
|
20
|
+
iterateAllAccounts(per_page?: number): AsyncGenerator<Account>;
|
|
19
21
|
}
|
|
20
22
|
//# sourceMappingURL=accounts-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts-api.d.ts","sourceRoot":"","sources":["../../src/api/accounts-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACV,OAAO,EACP,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"accounts-api.d.ts","sourceRoot":"","sources":["../../src/api/accounts-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACV,OAAO,EACP,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAErE,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAK/D,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5E,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxF,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrC,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAKlE,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAK9E,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxC,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAKrF,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAKvE,kBAAkB,CAAC,QAAQ,SAAK,GAAG,cAAc,CAAC,OAAO,CAAC;CAQ3D"}
|
package/dist/api/accounts-api.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { paginate } from '../utils/paginator';
|
|
2
|
+
import { maybePublishableKey } from '../client';
|
|
2
3
|
export class AccountsAPI {
|
|
3
4
|
constructor(client) {
|
|
4
5
|
this.client = client;
|
|
@@ -7,16 +8,16 @@ export class AccountsAPI {
|
|
|
7
8
|
const resp = await this.client.get('/v1/accounts', { params: params ?? {} });
|
|
8
9
|
return resp.data;
|
|
9
10
|
}
|
|
10
|
-
async create(params) {
|
|
11
|
-
const resp = await this.client.post('/v1/accounts', params);
|
|
11
|
+
async create(params, opts) {
|
|
12
|
+
const resp = await this.client.post('/v1/accounts', params, maybePublishableKey(opts));
|
|
12
13
|
return resp.data;
|
|
13
14
|
}
|
|
14
|
-
async get(id) {
|
|
15
|
-
const resp = await this.client.get(`/v1/accounts/${id}
|
|
15
|
+
async get(id, opts) {
|
|
16
|
+
const resp = await this.client.get(`/v1/accounts/${id}`, maybePublishableKey(opts));
|
|
16
17
|
return resp.data;
|
|
17
18
|
}
|
|
18
|
-
async update(id, params) {
|
|
19
|
-
const resp = await this.client.patch(`/v1/accounts/${id}`, params);
|
|
19
|
+
async update(id, params, opts) {
|
|
20
|
+
const resp = await this.client.patch(`/v1/accounts/${id}`, params, maybePublishableKey(opts));
|
|
20
21
|
return resp.data;
|
|
21
22
|
}
|
|
22
23
|
async disable(id) {
|
|
@@ -27,8 +28,8 @@ export class AccountsAPI {
|
|
|
27
28
|
const resp = await this.client.get('/v1/accounts/search', { params });
|
|
28
29
|
return resp.data;
|
|
29
30
|
}
|
|
30
|
-
async getPaymentMethods(id) {
|
|
31
|
-
const resp = await this.client.get(`/v1/accounts/${id}/payment_methods
|
|
31
|
+
async getPaymentMethods(id, opts) {
|
|
32
|
+
const resp = await this.client.get(`/v1/accounts/${id}/payment_methods`, maybePublishableKey(opts));
|
|
32
33
|
return resp.data;
|
|
33
34
|
}
|
|
34
35
|
async restrict(id) {
|
|
@@ -39,11 +40,15 @@ export class AccountsAPI {
|
|
|
39
40
|
const resp = await this.client.post(`/v1/accounts/${id}/unrestrict`);
|
|
40
41
|
return resp.data;
|
|
41
42
|
}
|
|
43
|
+
async getPlaidLinkToken(id, opts) {
|
|
44
|
+
const resp = await this.client.get(`/v1/accounts/${id}/plaid_link_token`, maybePublishableKey(opts));
|
|
45
|
+
return resp.data;
|
|
46
|
+
}
|
|
42
47
|
async getGeoCompliance(accountId) {
|
|
43
48
|
const resp = await this.client.get(`/v1/accounts/${accountId}/geo_compliance`);
|
|
44
49
|
return resp.data;
|
|
45
50
|
}
|
|
46
|
-
|
|
51
|
+
iterateAllAccounts(per_page = 20) {
|
|
47
52
|
return paginate(async (page) => {
|
|
48
53
|
const res = await this.client.get('/v1/accounts', {
|
|
49
54
|
params: { per_page, page }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts-api.js","sourceRoot":"","sources":["../../src/api/accounts-api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accounts-api.js","sourceRoot":"","sources":["../../src/api/accounts-api.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAuB,MAAM,WAAW,CAAC;AAErE,MAAM,OAAO,WAAW;IACtB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C,KAAK,CAAC,IAAI,CAAC,MAA2B;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA2B,EAAE,IAAqB;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,IAAqB;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAA2B,EAAE,IAAqB;QACzE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA4B;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU,EAAE,IAAqB;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QACpG,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU,EAAE,IAAqB;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QACrG,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,SAAS,iBAAiB,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,kBAAkB,CAAC,QAAQ,GAAG,EAAE;QAC9B,OAAO,QAAQ,CAAU,KAAK,EAAE,IAAY,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;gBAChD,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3B,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;CACF"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import type { AxiosInstance } from 'axios';
|
|
2
2
|
import type { ChargeIntent, ChargeIntentListResponse, CreateChargeIntentParams, UpdateChargeIntentParams } from '../types/charge_intents';
|
|
3
|
+
import { type RequestOptions } from '../client';
|
|
3
4
|
export declare class ChargeIntentsAPI {
|
|
4
5
|
private client;
|
|
5
6
|
constructor(client: AxiosInstance);
|
|
6
|
-
create(params: CreateChargeIntentParams): Promise<ChargeIntent>;
|
|
7
|
+
create(params: CreateChargeIntentParams, opts?: RequestOptions): Promise<ChargeIntent>;
|
|
7
8
|
update(id: string, params: UpdateChargeIntentParams): Promise<ChargeIntent>;
|
|
8
9
|
get(id: string): Promise<ChargeIntent>;
|
|
9
10
|
list(per_page?: number, page?: number): Promise<ChargeIntentListResponse>;
|
|
10
11
|
iterateAllChargeIntents(per_page?: number): Promise<AsyncGenerator<ChargeIntent, any, any>>;
|
|
11
12
|
cancel(id: string): Promise<ChargeIntent>;
|
|
12
|
-
confirm(id: string): Promise<ChargeIntent>;
|
|
13
|
+
confirm(id: string, opts?: RequestOptions): Promise<ChargeIntent>;
|
|
13
14
|
capture(id: string): Promise<ChargeIntent>;
|
|
14
15
|
voidRemaining(id: string): Promise<ChargeIntent>;
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charge_intents-api.d.ts","sourceRoot":"","sources":["../../src/api/charge_intents-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACR,YAAY,EACZ,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EAC3B,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"charge_intents-api.d.ts","sourceRoot":"","sources":["../../src/api/charge_intents-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACR,YAAY,EACZ,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EAC3B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAErE,qBAAa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAKtF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC;IAK3E,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAKtC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAKzE,uBAAuB,CAAC,QAAQ,SAAK;IASrC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAKzC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAKjE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAK1C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAIvD"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { paginate } from '../utils/paginator';
|
|
2
|
+
import { maybePublishableKey } from '../client';
|
|
2
3
|
export class ChargeIntentsAPI {
|
|
3
4
|
constructor(client) {
|
|
4
5
|
this.client = client;
|
|
5
6
|
}
|
|
6
|
-
async create(params) {
|
|
7
|
-
const resp = await this.client.post('/v1/charge_intents', params);
|
|
7
|
+
async create(params, opts) {
|
|
8
|
+
const resp = await this.client.post('/v1/charge_intents', params, maybePublishableKey(opts));
|
|
8
9
|
return resp.data;
|
|
9
10
|
}
|
|
10
11
|
async update(id, params) {
|
|
@@ -31,8 +32,8 @@ export class ChargeIntentsAPI {
|
|
|
31
32
|
const resp = await this.client.post(`/v1/charge_intents/${id}/cancel`);
|
|
32
33
|
return resp.data;
|
|
33
34
|
}
|
|
34
|
-
async confirm(id) {
|
|
35
|
-
const resp = await this.client.post(`/v1/charge_intents/${id}/confirm
|
|
35
|
+
async confirm(id, opts) {
|
|
36
|
+
const resp = await this.client.post(`/v1/charge_intents/${id}/confirm`, undefined, maybePublishableKey(opts));
|
|
36
37
|
return resp.data;
|
|
37
38
|
}
|
|
38
39
|
async capture(id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charge_intents-api.js","sourceRoot":"","sources":["../../src/api/charge_intents-api.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"charge_intents-api.js","sourceRoot":"","sources":["../../src/api/charge_intents-api.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAuB,MAAM,WAAW,CAAC;AAErE,MAAM,OAAO,gBAAgB;IAC3B,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C,KAAK,CAAC,MAAM,CAAC,MAAgC,EAAE,IAAqB;QAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAAgC;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAiB,EAAE,IAAa;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAQ,GAAG,EAAE;QACnC,OAAO,QAAQ,CAAe,KAAK,EAAE,IAAY,EAAE,EAAE;YACnD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE;gBACtD,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3B,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;IAEP,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,IAAqB;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9G,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AxiosInstance } from 'axios';
|
|
2
|
+
import type { EvervaultConfiguration, SiftConfiguration } from '../types/configuration';
|
|
3
|
+
import { type RequestOptions } from '../client';
|
|
4
|
+
export declare class ConfigurationAPI {
|
|
5
|
+
private client;
|
|
6
|
+
constructor(client: AxiosInstance);
|
|
7
|
+
getEvervaultConfiguration(opts?: RequestOptions): Promise<EvervaultConfiguration>;
|
|
8
|
+
getSiftConfiguration(opts?: RequestOptions): Promise<SiftConfiguration>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=configuration-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration-api.d.ts","sourceRoot":"","sources":["../../src/api/configuration-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAErE,qBAAa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,yBAAyB,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAKjF,oBAAoB,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAI9E"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { maybePublishableKey } from '../client';
|
|
2
|
+
export class ConfigurationAPI {
|
|
3
|
+
constructor(client) {
|
|
4
|
+
this.client = client;
|
|
5
|
+
}
|
|
6
|
+
async getEvervaultConfiguration(opts) {
|
|
7
|
+
const resp = await this.client.get('/v1/config/evervault', maybePublishableKey(opts));
|
|
8
|
+
return resp.data;
|
|
9
|
+
}
|
|
10
|
+
async getSiftConfiguration(opts) {
|
|
11
|
+
const resp = await this.client.get('/v1/config/sift', maybePublishableKey(opts));
|
|
12
|
+
return resp.data;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=configuration-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration-api.js","sourceRoot":"","sources":["../../src/api/configuration-api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,WAAW,CAAC;AAErE,MAAM,OAAO,gBAAgB;IAC3B,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C,KAAK,CAAC,yBAAyB,CAAC,IAAqB;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAqB;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import type { AxiosInstance } from 'axios';
|
|
2
|
-
import type { CustomerIdentityVerification, CreateCustomerIdentityVerificationParams, UploadDocumentsParams } from '../types/customer_identity';
|
|
2
|
+
import type { CustomerIdentityVerification, CreateCustomerIdentityVerificationParams, UploadDocumentsParams, IdentityDocumentUpload } from '../types/customer_identity';
|
|
3
|
+
import { type RequestOptions } from '../client';
|
|
3
4
|
export declare class CustomerIdentityVerificationsAPI {
|
|
4
5
|
private client;
|
|
5
6
|
constructor(client: AxiosInstance);
|
|
6
|
-
create(params: CreateCustomerIdentityVerificationParams): Promise<CustomerIdentityVerification>;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
create(params: CreateCustomerIdentityVerificationParams, opts?: RequestOptions): Promise<CustomerIdentityVerification>;
|
|
8
|
+
createForCustomer(customerId: string, opts?: RequestOptions): Promise<CustomerIdentityVerification>;
|
|
9
|
+
get(id: string, opts?: RequestOptions): Promise<CustomerIdentityVerification>;
|
|
10
|
+
submitForVerification(id: string, opts?: RequestOptions): Promise<CustomerIdentityVerification>;
|
|
11
|
+
uploadDocuments(id: string, params: UploadDocumentsParams, opts?: RequestOptions): Promise<CustomerIdentityVerification>;
|
|
12
|
+
uploadIdentityDocuments(id: string, documents: IdentityDocumentUpload[], opts?: RequestOptions): Promise<CustomerIdentityVerification>;
|
|
9
13
|
}
|
|
10
14
|
//# sourceMappingURL=customer_identity-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customer_identity-api.d.ts","sourceRoot":"","sources":["../../src/api/customer_identity-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACR,4BAA4B,EAC5B,wCAAwC,EACxC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"customer_identity-api.d.ts","sourceRoot":"","sources":["../../src/api/customer_identity-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACR,4BAA4B,EAC5B,wCAAwC,EACxC,qBAAqB,EACrB,sBAAsB,EAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAErE,qBAAa,gCAAgC;IAC/B,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,MAAM,CACV,MAAM,EAAE,wCAAwC,EAChD,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,4BAA4B,CAAC;IAKlC,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,4BAA4B,CAAC;IASlC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAK7E,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAS/F,eAAe,CACnB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,qBAAqB,EAC7B,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,4BAA4B,CAAC;IASlC,uBAAuB,CAC3B,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,sBAAsB,EAAE,EACnC,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,4BAA4B,CAAC;CAuBzC"}
|
|
@@ -1,18 +1,86 @@
|
|
|
1
|
+
import { maybePublishableKey } from '../client';
|
|
1
2
|
export class CustomerIdentityVerificationsAPI {
|
|
2
3
|
constructor(client) {
|
|
3
4
|
this.client = client;
|
|
4
5
|
}
|
|
5
|
-
async create(params) {
|
|
6
|
-
const resp = await this.client.post('/v1/customer_identity_verifications', params);
|
|
6
|
+
async create(params, opts) {
|
|
7
|
+
const resp = await this.client.post('/v1/customer_identity_verifications', params, maybePublishableKey(opts));
|
|
7
8
|
return resp.data;
|
|
8
9
|
}
|
|
9
|
-
async
|
|
10
|
-
const resp = await this.client.
|
|
10
|
+
async createForCustomer(customerId, opts) {
|
|
11
|
+
const resp = await this.client.post(`/v1/customers/${customerId}/identity_verifications`, undefined, maybePublishableKey(opts));
|
|
11
12
|
return resp.data;
|
|
12
13
|
}
|
|
13
|
-
async
|
|
14
|
-
const resp = await this.client.
|
|
14
|
+
async get(id, opts) {
|
|
15
|
+
const resp = await this.client.get(`/v1/customer_identity_verifications/${id}`, maybePublishableKey(opts));
|
|
15
16
|
return resp.data;
|
|
16
17
|
}
|
|
18
|
+
async submitForVerification(id, opts) {
|
|
19
|
+
const resp = await this.client.post(`/v1/customer_identity_verifications/${id}/submit`, undefined, maybePublishableKey(opts));
|
|
20
|
+
return resp.data;
|
|
21
|
+
}
|
|
22
|
+
async uploadDocuments(id, params, opts) {
|
|
23
|
+
const resp = await this.client.post(`/v1/customer_identity_verifications/${id}/upload_documents`, params, maybePublishableKey(opts));
|
|
24
|
+
return resp.data;
|
|
25
|
+
}
|
|
26
|
+
async uploadIdentityDocuments(id, documents, opts) {
|
|
27
|
+
if (documents.length === 0) {
|
|
28
|
+
throw new Error('uploadIdentityDocuments: documents array must not be empty');
|
|
29
|
+
}
|
|
30
|
+
const form = makeFormData();
|
|
31
|
+
for (const doc of documents) {
|
|
32
|
+
appendFile(form, doc);
|
|
33
|
+
}
|
|
34
|
+
const baseOpts = opts ?? {};
|
|
35
|
+
const callerHeaders = baseOpts.headers ?? {};
|
|
36
|
+
return this.client
|
|
37
|
+
.post(`/v1/customer_identity_verifications/${id}/upload_documents`, form, maybePublishableKey({
|
|
38
|
+
...baseOpts,
|
|
39
|
+
headers: { ...callerHeaders, 'Content-Type': 'multipart/form-data' },
|
|
40
|
+
}))
|
|
41
|
+
.then((resp) => resp.data);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function isReactNative() {
|
|
45
|
+
const G = globalThis;
|
|
46
|
+
if (typeof G !== 'object' || G === null)
|
|
47
|
+
return false;
|
|
48
|
+
const nav = G.navigator;
|
|
49
|
+
return typeof nav?.product === 'string' && nav.product === 'ReactNative';
|
|
50
|
+
}
|
|
51
|
+
// Pick FormData by runtime, not by whether `require('form-data')` succeeds:
|
|
52
|
+
// form-data is a transitive dep of axios so the require succeeds on RN too,
|
|
53
|
+
// but it doesn't accept RN's { uri, type, name } file shape.
|
|
54
|
+
function makeFormData() {
|
|
55
|
+
if (isReactNative()) {
|
|
56
|
+
const G = globalThis;
|
|
57
|
+
const Ctor = G.FormData;
|
|
58
|
+
if (typeof Ctor !== 'function') {
|
|
59
|
+
throw new Error('React Native runtime detected but globalThis.FormData is missing. Polyfill required.');
|
|
60
|
+
}
|
|
61
|
+
return new Ctor();
|
|
62
|
+
}
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
64
|
+
const FormDataCtor = require('form-data');
|
|
65
|
+
return new FormDataCtor();
|
|
66
|
+
}
|
|
67
|
+
function isReactNativeFileDescriptor(file) {
|
|
68
|
+
return (typeof file === 'object' &&
|
|
69
|
+
file !== null &&
|
|
70
|
+
typeof file.uri === 'string');
|
|
71
|
+
}
|
|
72
|
+
function appendFile(form, doc) {
|
|
73
|
+
const fieldName = doc.field_name ?? doc.document_type;
|
|
74
|
+
const file = doc.file;
|
|
75
|
+
if (isReactNativeFileDescriptor(file)) {
|
|
76
|
+
form.append(fieldName, file);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const fileOptions = {};
|
|
80
|
+
if (doc.file_name !== undefined)
|
|
81
|
+
fileOptions.filename = doc.file_name;
|
|
82
|
+
if (doc.content_type !== undefined)
|
|
83
|
+
fileOptions.contentType = doc.content_type;
|
|
84
|
+
form.append(fieldName, file, fileOptions);
|
|
17
85
|
}
|
|
18
86
|
//# sourceMappingURL=customer_identity-api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customer_identity-api.js","sourceRoot":"","sources":["../../src/api/customer_identity-api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"customer_identity-api.js","sourceRoot":"","sources":["../../src/api/customer_identity-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AxiosInstance } from 'axios';
|
|
2
|
+
import type { AttestRequest, AttestResponse, ChallengeResponse } from '../types/device_attestation';
|
|
3
|
+
import { type RequestOptions } from '../client';
|
|
4
|
+
export declare class DeviceAttestationAPI {
|
|
5
|
+
private client;
|
|
6
|
+
constructor(client: AxiosInstance);
|
|
7
|
+
getChallenge(opts?: RequestOptions): Promise<ChallengeResponse>;
|
|
8
|
+
attest(params: AttestRequest, opts?: RequestOptions): Promise<AttestResponse>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=device_attestation-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device_attestation-api.d.ts","sourceRoot":"","sources":["../../src/api/device_attestation-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAEpE,qBAAa,oBAAoB;IACnB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,YAAY,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAK/D,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;CAIpF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { withPublishableKey } from '../client';
|
|
2
|
+
export class DeviceAttestationAPI {
|
|
3
|
+
constructor(client) {
|
|
4
|
+
this.client = client;
|
|
5
|
+
}
|
|
6
|
+
async getChallenge(opts) {
|
|
7
|
+
const resp = await this.client.post('/v1/client/device_attestation/challenge', undefined, withPublishableKey(opts));
|
|
8
|
+
return resp.data;
|
|
9
|
+
}
|
|
10
|
+
async attest(params, opts) {
|
|
11
|
+
const resp = await this.client.post('/v1/client/device_attestation/attest', params, withPublishableKey(opts));
|
|
12
|
+
return resp.data;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=device_attestation-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device_attestation-api.js","sourceRoot":"","sources":["../../src/api/device_attestation-api.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAuB,MAAM,WAAW,CAAC;AAEpE,MAAM,OAAO,oBAAoB;IAC/B,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C,KAAK,CAAC,YAAY,CAAC,IAAqB;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QACpH,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAqB,EAAE,IAAqB;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9G,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { AxiosInstance } from 'axios';
|
|
2
2
|
import type { GeoComplianceStatus } from '../types/geo_compliance';
|
|
3
|
+
import { type RequestOptions } from '../client';
|
|
3
4
|
export declare class GeoComplianceAPI {
|
|
4
5
|
private client;
|
|
5
6
|
constructor(client: AxiosInstance);
|
|
6
|
-
|
|
7
|
+
getAccountStatus(accountId: string, opts?: RequestOptions): Promise<GeoComplianceStatus>;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=geo_compliance-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geo_compliance-api.d.ts","sourceRoot":"","sources":["../../src/api/geo_compliance-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"geo_compliance-api.d.ts","sourceRoot":"","sources":["../../src/api/geo_compliance-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAErE,qBAAa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAO/F"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { maybePublishableKey } from '../client';
|
|
1
2
|
export class GeoComplianceAPI {
|
|
2
3
|
constructor(client) {
|
|
3
4
|
this.client = client;
|
|
4
5
|
}
|
|
5
|
-
async
|
|
6
|
-
const resp = await this.client.get(`/v1/accounts/${accountId}/geo_compliance
|
|
6
|
+
async getAccountStatus(accountId, opts) {
|
|
7
|
+
const resp = await this.client.get(`/v1/accounts/${accountId}/geo_compliance`, maybePublishableKey(opts));
|
|
7
8
|
return resp.data;
|
|
8
9
|
}
|
|
9
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geo_compliance-api.js","sourceRoot":"","sources":["../../src/api/geo_compliance-api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"geo_compliance-api.js","sourceRoot":"","sources":["../../src/api/geo_compliance-api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,WAAW,CAAC;AAErE,MAAM,OAAO,gBAAgB;IAC3B,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,IAAqB;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAChC,gBAAgB,SAAS,iBAAiB,EAC1C,mBAAmB,CAAC,IAAI,CAAC,CAC1B,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import type { AxiosInstance } from 'axios';
|
|
2
|
-
import type { PaymentMethod, PaymentMethodListResponse, CreateCardPaymentMethodParams, CreateACHPaymentMethodParams, UpdatePaymentMethodParams } from '../types/payment_methods';
|
|
2
|
+
import type { PaymentMethod, PaymentMethodListResponse, CreateCardPaymentMethodParams, CreateACHPaymentMethodParams, UpdatePaymentMethodParams, ConnectPlaidParams, CreateApplePayPaymentMethodParams, CreateGooglePayPaymentMethodParams } from '../types/payment_methods';
|
|
3
|
+
import { type RequestOptions } from '../client';
|
|
3
4
|
export declare class PaymentMethodsAPI {
|
|
4
5
|
private client;
|
|
5
6
|
constructor(client: AxiosInstance);
|
|
6
|
-
createCard(params: CreateCardPaymentMethodParams): Promise<PaymentMethod>;
|
|
7
|
-
createACH(params: CreateACHPaymentMethodParams): Promise<PaymentMethod>;
|
|
7
|
+
createCard(params: CreateCardPaymentMethodParams, opts?: RequestOptions): Promise<PaymentMethod>;
|
|
8
|
+
createACH(params: CreateACHPaymentMethodParams, opts?: RequestOptions): Promise<PaymentMethod>;
|
|
9
|
+
createApplePayPaymentMethod(params: CreateApplePayPaymentMethodParams, opts?: RequestOptions): Promise<PaymentMethod>;
|
|
10
|
+
createGooglePayPaymentMethod(params: CreateGooglePayPaymentMethodParams, opts?: RequestOptions): Promise<PaymentMethod>;
|
|
8
11
|
get(id: string): Promise<PaymentMethod>;
|
|
9
12
|
list(per_page?: number, page?: number): Promise<PaymentMethodListResponse>;
|
|
10
|
-
iterateAllPaymentMethods(per_page?: number):
|
|
13
|
+
iterateAllPaymentMethods(per_page?: number): AsyncGenerator<PaymentMethod>;
|
|
11
14
|
listForCustomer(customerId: string, per_page?: number, page?: number): Promise<PaymentMethodListResponse>;
|
|
12
15
|
update(id: string, params: UpdatePaymentMethodParams): Promise<PaymentMethod>;
|
|
13
16
|
attach(id: string, customerId: string): Promise<PaymentMethod>;
|
|
14
17
|
detach(id: string): Promise<PaymentMethod>;
|
|
15
18
|
block(id: string): Promise<PaymentMethod>;
|
|
16
19
|
unblock(id: string): Promise<PaymentMethod>;
|
|
20
|
+
connectPlaid(params: ConnectPlaidParams, opts?: RequestOptions): Promise<PaymentMethod>;
|
|
21
|
+
connectPlaidBankAccount(params: ConnectPlaidParams, opts?: RequestOptions): Promise<PaymentMethod>;
|
|
17
22
|
}
|
|
18
23
|
//# sourceMappingURL=payment_methods-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment_methods-api.d.ts","sourceRoot":"","sources":["../../src/api/payment_methods-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACR,aAAa,EACb,yBAAyB,EACzB,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,
|
|
1
|
+
{"version":3,"file":"payment_methods-api.d.ts","sourceRoot":"","sources":["../../src/api/payment_methods-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EACR,aAAa,EACb,yBAAyB,EACzB,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,kBAAkB,EAClB,iCAAiC,EACjC,kCAAkC,EACrC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAErE,qBAAa,iBAAiB;IAChB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,UAAU,CAAC,MAAM,EAAE,6BAA6B,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAKhG,SAAS,CAAC,MAAM,EAAE,4BAA4B,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAK9F,2BAA2B,CAC/B,MAAM,EAAE,iCAAiC,EACzC,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,aAAa,CAAC;IASnB,4BAA4B,CAChC,MAAM,EAAE,kCAAkC,EAC1C,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,aAAa,CAAC;IASnB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAKvC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAKhF,wBAAwB,CAAC,QAAQ,SAAK,GAAG,cAAc,CAAC,aAAa,CAAC;IAShE,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAOzG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAK7E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAK9D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAK1C,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAKzC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAK3C,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAKvF,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAGzG"}
|