@tagadapay/node-sdk 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Tagada.d.ts +43 -0
- package/dist/Tagada.d.ts.map +1 -1
- package/dist/Tagada.js +37 -0
- package/dist/Tagada.js.map +1 -1
- package/dist/cli/init.d.ts +38 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +392 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/dashboard/types.d.ts +85 -0
- package/dist/dashboard/types.d.ts.map +1 -1
- package/dist/dashboard/types.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/onboarding/OnboardingClient.d.ts +117 -0
- package/dist/onboarding/OnboardingClient.d.ts.map +1 -0
- package/dist/onboarding/OnboardingClient.js +154 -0
- package/dist/onboarding/OnboardingClient.js.map +1 -0
- package/dist/resources/ShippingRates.d.ts +91 -0
- package/dist/resources/ShippingRates.d.ts.map +1 -0
- package/dist/resources/ShippingRates.js +36 -0
- package/dist/resources/ShippingRates.js.map +1 -0
- package/dist/resources/index.d.ts +1 -0
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +1 -0
- package/dist/resources/index.js.map +1 -1
- package/package.json +10 -1
|
@@ -18,6 +18,25 @@ export interface RequestOpts {
|
|
|
18
18
|
idempotencyKey?: string;
|
|
19
19
|
apiVersion?: string;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Postal address used in `MerchantIdentity` and its sub-fields.
|
|
23
|
+
*
|
|
24
|
+
* Field names mirror Adyen's convention because they are the strictest
|
|
25
|
+
* (Stripe / Tilled / Airwallex accept the same shape with looser casing).
|
|
26
|
+
* `country` is ISO-2.
|
|
27
|
+
*/
|
|
28
|
+
export interface PostalAddress {
|
|
29
|
+
/** Street + house number in a single line (e.g. "200 Main Street Suite 5A"). */
|
|
30
|
+
street?: string;
|
|
31
|
+
/** Optional separate house number / unit (Adyen accepts both). */
|
|
32
|
+
houseNumberOrName?: string;
|
|
33
|
+
city?: string;
|
|
34
|
+
postalCode?: string;
|
|
35
|
+
/** State / province / region (required by Adyen for US, AU, CA, …). */
|
|
36
|
+
stateOrProvince?: string;
|
|
37
|
+
/** ISO-2 country code. */
|
|
38
|
+
country: string;
|
|
39
|
+
}
|
|
21
40
|
export interface MerchantIdentity {
|
|
22
41
|
legalName: string;
|
|
23
42
|
tradingName?: string;
|
|
@@ -28,6 +47,44 @@ export interface MerchantIdentity {
|
|
|
28
47
|
phone?: string;
|
|
29
48
|
registrationNumber?: string;
|
|
30
49
|
vatNumber?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Optional registered address of the legal entity. When present, it is
|
|
52
|
+
* pushed verbatim as `organization.registeredAddress` to Adyen's
|
|
53
|
+
* Legal Entity Management API and as the store address (Management
|
|
54
|
+
* API). When missing, only `country` is sent (degraded mode — Adyen
|
|
55
|
+
* will request the rest via the hosted onboarding link).
|
|
56
|
+
*/
|
|
57
|
+
registeredAddress?: PostalAddress;
|
|
58
|
+
/**
|
|
59
|
+
* Trading address — defaults to `registeredAddress` when omitted.
|
|
60
|
+
* Used for Adyen `Store` creation (PoS / online storefront address).
|
|
61
|
+
*/
|
|
62
|
+
tradingAddress?: PostalAddress;
|
|
63
|
+
/**
|
|
64
|
+
* Customer support contacts for the merchant, displayed on receipts
|
|
65
|
+
* and required by Adyen for platform-managed sub-merchants.
|
|
66
|
+
*/
|
|
67
|
+
support?: {
|
|
68
|
+
email?: string;
|
|
69
|
+
phone?: string;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Adyen `industryCode` (4 alphanumeric, see Adyen industry list).
|
|
73
|
+
* If absent, the platform default (e.g. `4431A`) is used. Distinct
|
|
74
|
+
* from `mcc` which is the legacy 4-digit MCC.
|
|
75
|
+
*/
|
|
76
|
+
industryCode?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Adyen `organization.type`, e.g. `privateCompany`, `listedPublicCompany`,
|
|
79
|
+
* `partnership`, `nonProfit`, `governmentalOrganization`, `soleProprietorship`.
|
|
80
|
+
* Defaults to `privateCompany` when an org is detected.
|
|
81
|
+
*/
|
|
82
|
+
organizationType?: 'associationIncorporated' | 'governmentalOrganization' | 'listedPublicCompany' | 'nonProfit' | 'partnershipIncorporated' | 'privateCompany' | 'soleProprietorship';
|
|
83
|
+
/**
|
|
84
|
+
* ISO-2 country whose laws govern the legal entity. Defaults to
|
|
85
|
+
* `country` when omitted.
|
|
86
|
+
*/
|
|
87
|
+
countryOfGoverningLaw?: string;
|
|
31
88
|
representatives?: Array<{
|
|
32
89
|
firstName: string;
|
|
33
90
|
lastName: string;
|
|
@@ -35,6 +92,30 @@ export interface MerchantIdentity {
|
|
|
35
92
|
email: string;
|
|
36
93
|
dateOfBirth?: string;
|
|
37
94
|
ownershipPercent?: number;
|
|
95
|
+
/** ISO-2 country of nationality. */
|
|
96
|
+
nationality?: string;
|
|
97
|
+
phone?: string;
|
|
98
|
+
/** Residential address — required by Adyen for UBOs and signatories. */
|
|
99
|
+
residentialAddress?: PostalAddress;
|
|
100
|
+
/**
|
|
101
|
+
* Government-issued ID (national ID, passport, drivers license, …).
|
|
102
|
+
* Required by Adyen for owners with ≥25 % ownership in most countries.
|
|
103
|
+
*/
|
|
104
|
+
identification?: {
|
|
105
|
+
type: 'nationalIdNumber' | 'passport' | 'driversLicense' | 'identityCard';
|
|
106
|
+
number: string;
|
|
107
|
+
/** State / region issuer (mostly for US national IDs). */
|
|
108
|
+
issuerState?: string;
|
|
109
|
+
/** ISO-2 country issuer. */
|
|
110
|
+
issuerCountry?: string;
|
|
111
|
+
/** ISO-8601 expiration date. */
|
|
112
|
+
expiryDate?: string;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Optional explicit job title (defaults to the role string).
|
|
116
|
+
* Adyen displays this on the onboarding flow for the signatory.
|
|
117
|
+
*/
|
|
118
|
+
jobTitle?: string;
|
|
38
119
|
}>;
|
|
39
120
|
bankAccount?: {
|
|
40
121
|
currency: Currency;
|
|
@@ -43,6 +124,10 @@ export interface MerchantIdentity {
|
|
|
43
124
|
accountNumber?: string;
|
|
44
125
|
routingNumber?: string;
|
|
45
126
|
bankName?: string;
|
|
127
|
+
/** Account type — required by Adyen for some countries (US ACH = checking|savings). */
|
|
128
|
+
accountType?: 'checking' | 'savings';
|
|
129
|
+
/** Beneficiary / holder name on the account (defaults to legalName). */
|
|
130
|
+
holderName?: string;
|
|
46
131
|
};
|
|
47
132
|
}
|
|
48
133
|
export interface CreateAccountParams {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAqcH,MAAM,CAAC,MAAM,qBAAqB,GAAkC;IAClE,iBAAiB;IACjB,iBAAiB;IACjB,+BAA+B;IAC/B,8BAA8B;IAC9B,8BAA8B;IAC9B,8BAA8B;IAC9B,4BAA4B;IAC5B,8BAA8B;IAC9B,+BAA+B;IAC/B,6BAA6B;IAC7B,+BAA+B;IAC/B,qCAAqC;IACrC,uCAAuC;IACvC,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;IACnB,oBAAoB;IACpB,gBAAgB;IAChB,aAAa;IACb,kBAAkB;IAClB,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,yBAAyB;IACzB,0BAA0B;IAC1B,4BAA4B;IAC5B,gBAAgB;IAChB,0BAA0B;IAC1B,+BAA+B;IAC/B,mBAAmB;IACnB,6BAA6B;IAC7B,sBAAsB;IACtB,uBAAuB;IACvB,qBAAqB;IACrB,sBAAsB;IACtB,sBAAsB;IACtB,mBAAmB;CACX,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export { Tagada } from './Tagada.js';
|
|
|
2
2
|
export { Tagada as default } from './Tagada.js';
|
|
3
3
|
export * from './types/index.js';
|
|
4
4
|
export * from './errors/index.js';
|
|
5
|
+
export { OnboardingClient, OnboardingError, type OnboardingClientOptions, type OnboardingStartInput, type OnboardingStartResult, type OnboardingVerifyInput, type OnboardingVerifyResult, type OnboardingErrorCode, } from './onboarding/OnboardingClient.js';
|
|
5
6
|
export type { Payments, Customers, Orders, Stores, Subscriptions, Products, Checkout, PaymentFlows, PaymentInstruments, Webhooks, Funnels, Events, Processors, Domains, Promotions, PromotionCodes, BlockRules, Plugins, Offers, CheckoutOffers, } from './resources/index.js';
|
|
6
7
|
export { TagadaPayClient, type ClientTransport, type TagadaPayClientConfig, createInternalTransport, type InternalAdapters, createHttpTransport, TagadaPayApiError, type HttpTransportConfig, } from './dashboard/index.js';
|
|
7
8
|
export * from './dashboard/types.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAEhD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAEhD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAIlC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,MAAM,EACN,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EACR,OAAO,EACP,MAAM,EACN,UAAU,EACV,OAAO,EACP,UAAU,EACV,cAAc,EACd,UAAU,EACV,OAAO,EACP,MAAM,EACN,cAAc,GACf,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,9 @@ export { Tagada } from './Tagada.js';
|
|
|
2
2
|
export { Tagada as default } from './Tagada.js';
|
|
3
3
|
export * from './types/index.js';
|
|
4
4
|
export * from './errors/index.js';
|
|
5
|
+
// Public, no-auth onboarding flow — `Tagada.public()` consumers can also
|
|
6
|
+
// import these types directly for their own pre-flight UI.
|
|
7
|
+
export { OnboardingClient, OnboardingError, } from './onboarding/OnboardingClient.js';
|
|
5
8
|
// ─────────────────────────────────────────────────────────────────
|
|
6
9
|
// Pluggable-transport client — used by the Hub's in-process
|
|
7
10
|
// TagadaPay handoff (`InternalTransport`) and any external caller
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAEhD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAEhD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAElC,yEAAyE;AACzE,2DAA2D;AAC3D,OAAO,EACL,gBAAgB,EAChB,eAAe,GAOhB,MAAM,kCAAkC,CAAC;AAyB1C,oEAAoE;AACpE,4DAA4D;AAC5D,kEAAkE;AAClE,qEAAqE;AACrE,gEAAgE;AAChE,gDAAgD;AAChD,oEAAoE;AACpE,OAAO,EACL,eAAe,EAGf,uBAAuB,EAEvB,mBAAmB,EACnB,iBAAiB,GAElB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public, **unauthenticated** client for the Tagada onboarding endpoints.
|
|
3
|
+
*
|
|
4
|
+
* This is intentionally *not* a `Resource` on the main `Tagada` class because
|
|
5
|
+
* `Tagada` requires an API key in its constructor — but the whole point of
|
|
6
|
+
* onboarding is to *get* an API key. So we ship this as a standalone client
|
|
7
|
+
* that bypasses {@link HttpClient} entirely and uses `fetch` directly.
|
|
8
|
+
*
|
|
9
|
+
* Hits:
|
|
10
|
+
* - `POST {baseUrl}/api/public/onboarding/start`
|
|
11
|
+
* - `POST {baseUrl}/api/public/onboarding/verify`
|
|
12
|
+
*
|
|
13
|
+
* For a turn-key interactive flow, prefer the bundled `tagada-init` CLI:
|
|
14
|
+
* `npx -p @tagadapay/node-sdk tagada-init you@example.com`
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import Tagada from '@tagadapay/node-sdk';
|
|
19
|
+
*
|
|
20
|
+
* const client = Tagada.public();
|
|
21
|
+
*
|
|
22
|
+
* await client.start({ email: 'you@example.com', source: 'cli' });
|
|
23
|
+
* // ...prompt the user for the 6-digit code from their inbox...
|
|
24
|
+
* const { apiKey, storeId } = await client.verify({
|
|
25
|
+
* email: 'you@example.com',
|
|
26
|
+
* code: '384921',
|
|
27
|
+
* source: 'cli',
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* // Now build a regular Tagada client with the new key:
|
|
31
|
+
* const tagada = new Tagada(apiKey);
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export interface OnboardingClientOptions {
|
|
35
|
+
/**
|
|
36
|
+
* Base URL of the TagadaPay API (no path suffix). Default:
|
|
37
|
+
* `https://api.tagada.io`. Override for local development:
|
|
38
|
+
* `http://localhost:3000`.
|
|
39
|
+
*/
|
|
40
|
+
baseUrl?: string;
|
|
41
|
+
/** Per-request timeout, default 30s. */
|
|
42
|
+
timeout?: number;
|
|
43
|
+
}
|
|
44
|
+
export interface OnboardingStartInput {
|
|
45
|
+
/** Email that will receive the 6-digit code. */
|
|
46
|
+
email: string;
|
|
47
|
+
/** Free-form source tag (e.g. `'cli'`, `'docs'`, `'partner_xyz'`). */
|
|
48
|
+
source?: string;
|
|
49
|
+
/** Optional acquisition payload. Kept opaque so we can add fields later. */
|
|
50
|
+
utm?: Record<string, string>;
|
|
51
|
+
}
|
|
52
|
+
export interface OnboardingStartResult {
|
|
53
|
+
ok: true;
|
|
54
|
+
/** ISO-8601 timestamp at which the issued code stops working. */
|
|
55
|
+
expiresAt: string;
|
|
56
|
+
}
|
|
57
|
+
export interface OnboardingVerifyInput extends OnboardingStartInput {
|
|
58
|
+
/** Exactly 6 digits. */
|
|
59
|
+
code: string;
|
|
60
|
+
}
|
|
61
|
+
export interface OnboardingVerifyResult {
|
|
62
|
+
ok: true;
|
|
63
|
+
/** Use this immediately as `new Tagada(apiKey)`. */
|
|
64
|
+
apiKey: string;
|
|
65
|
+
accountId: string;
|
|
66
|
+
storeId: string;
|
|
67
|
+
clerkUserId: string;
|
|
68
|
+
clerkOrgId: string;
|
|
69
|
+
/** Slug of the auto-created Clerk org (used by the CRM URL scheme). */
|
|
70
|
+
orgSlug: string | null;
|
|
71
|
+
/**
|
|
72
|
+
* Products / payment flow / funnel are seeded asynchronously via Inngest.
|
|
73
|
+
* Poll `tagada.stores.retrieve(storeId).config.demoSeeding` if you need
|
|
74
|
+
* to wait for it before running an end-to-end test.
|
|
75
|
+
*/
|
|
76
|
+
demoSeeding: 'pending';
|
|
77
|
+
}
|
|
78
|
+
export type OnboardingErrorCode = 'invalid_request' | 'invalid_code' | 'expired' | 'no_pending_code' | 'too_many_attempts' | 'rate_limited' | 'email_send_failed' | 'provisioning_failed' | 'network_error' | 'unknown';
|
|
79
|
+
export declare class OnboardingError extends Error {
|
|
80
|
+
readonly code: OnboardingErrorCode;
|
|
81
|
+
readonly statusCode: number | null;
|
|
82
|
+
readonly resetAt: Date | null;
|
|
83
|
+
readonly raw: unknown;
|
|
84
|
+
constructor(opts: {
|
|
85
|
+
message: string;
|
|
86
|
+
code: OnboardingErrorCode;
|
|
87
|
+
statusCode?: number | null;
|
|
88
|
+
resetAt?: Date | null;
|
|
89
|
+
raw?: unknown;
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
export declare class OnboardingClient {
|
|
93
|
+
private readonly baseUrl;
|
|
94
|
+
private readonly timeout;
|
|
95
|
+
constructor(opts?: OnboardingClientOptions);
|
|
96
|
+
/**
|
|
97
|
+
* Issue a fresh 6-digit verification code to the supplied email. Returns
|
|
98
|
+
* once the code has been queued for delivery — typically lands in the
|
|
99
|
+
* inbox within a few seconds.
|
|
100
|
+
*
|
|
101
|
+
* @throws {OnboardingError} `rate_limited` (429), `email_send_failed`
|
|
102
|
+
* (502), `invalid_request` (400), `network_error`, or `unknown`.
|
|
103
|
+
*/
|
|
104
|
+
start(input: OnboardingStartInput): Promise<OnboardingStartResult>;
|
|
105
|
+
/**
|
|
106
|
+
* Verify the code; on success provisions a fresh sandbox account and
|
|
107
|
+
* returns its API key + IDs.
|
|
108
|
+
*
|
|
109
|
+
* @throws {OnboardingError} `invalid_code` (401), `expired` (410),
|
|
110
|
+
* `no_pending_code` (410), `too_many_attempts` (429),
|
|
111
|
+
* `rate_limited` (429), `provisioning_failed` (5xx),
|
|
112
|
+
* `invalid_request` (400), `network_error`, or `unknown`.
|
|
113
|
+
*/
|
|
114
|
+
verify(input: OnboardingVerifyInput): Promise<OnboardingVerifyResult>;
|
|
115
|
+
private post;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=OnboardingClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnboardingClient.d.ts","sourceRoot":"","sources":["../../src/onboarding/OnboardingClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAKH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,IAAI,CAAC;IACT,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,IAAI,CAAC;IACT,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;OAIG;IACH,WAAW,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,cAAc,GACd,SAAS,GACT,iBAAiB,GACjB,mBAAmB,GACnB,cAAc,GACd,mBAAmB,GACnB,qBAAqB,GACrB,eAAe,GACf,SAAS,CAAC;AAEd,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;gBAEV,IAAI,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,mBAAmB,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QACtB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf;CAQF;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,IAAI,GAAE,uBAA4B;IAK9C;;;;;;;OAOG;IACG,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIxE;;;;;;;;OAQG;IACG,MAAM,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;YAI7D,IAAI;CAiEnB"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public, **unauthenticated** client for the Tagada onboarding endpoints.
|
|
3
|
+
*
|
|
4
|
+
* This is intentionally *not* a `Resource` on the main `Tagada` class because
|
|
5
|
+
* `Tagada` requires an API key in its constructor — but the whole point of
|
|
6
|
+
* onboarding is to *get* an API key. So we ship this as a standalone client
|
|
7
|
+
* that bypasses {@link HttpClient} entirely and uses `fetch` directly.
|
|
8
|
+
*
|
|
9
|
+
* Hits:
|
|
10
|
+
* - `POST {baseUrl}/api/public/onboarding/start`
|
|
11
|
+
* - `POST {baseUrl}/api/public/onboarding/verify`
|
|
12
|
+
*
|
|
13
|
+
* For a turn-key interactive flow, prefer the bundled `tagada-init` CLI:
|
|
14
|
+
* `npx -p @tagadapay/node-sdk tagada-init you@example.com`
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import Tagada from '@tagadapay/node-sdk';
|
|
19
|
+
*
|
|
20
|
+
* const client = Tagada.public();
|
|
21
|
+
*
|
|
22
|
+
* await client.start({ email: 'you@example.com', source: 'cli' });
|
|
23
|
+
* // ...prompt the user for the 6-digit code from their inbox...
|
|
24
|
+
* const { apiKey, storeId } = await client.verify({
|
|
25
|
+
* email: 'you@example.com',
|
|
26
|
+
* code: '384921',
|
|
27
|
+
* source: 'cli',
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* // Now build a regular Tagada client with the new key:
|
|
31
|
+
* const tagada = new Tagada(apiKey);
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
const DEFAULT_BASE_URL = 'https://api.tagada.io';
|
|
35
|
+
const DEFAULT_TIMEOUT_MS = 30000;
|
|
36
|
+
export class OnboardingError extends Error {
|
|
37
|
+
constructor(opts) {
|
|
38
|
+
super(opts.message);
|
|
39
|
+
this.name = 'OnboardingError';
|
|
40
|
+
this.code = opts.code;
|
|
41
|
+
this.statusCode = opts.statusCode ?? null;
|
|
42
|
+
this.resetAt = opts.resetAt ?? null;
|
|
43
|
+
this.raw = opts.raw;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export class OnboardingClient {
|
|
47
|
+
constructor(opts = {}) {
|
|
48
|
+
this.baseUrl = (opts.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, '');
|
|
49
|
+
this.timeout = opts.timeout ?? DEFAULT_TIMEOUT_MS;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Issue a fresh 6-digit verification code to the supplied email. Returns
|
|
53
|
+
* once the code has been queued for delivery — typically lands in the
|
|
54
|
+
* inbox within a few seconds.
|
|
55
|
+
*
|
|
56
|
+
* @throws {OnboardingError} `rate_limited` (429), `email_send_failed`
|
|
57
|
+
* (502), `invalid_request` (400), `network_error`, or `unknown`.
|
|
58
|
+
*/
|
|
59
|
+
async start(input) {
|
|
60
|
+
return this.post('/api/public/onboarding/start', input);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Verify the code; on success provisions a fresh sandbox account and
|
|
64
|
+
* returns its API key + IDs.
|
|
65
|
+
*
|
|
66
|
+
* @throws {OnboardingError} `invalid_code` (401), `expired` (410),
|
|
67
|
+
* `no_pending_code` (410), `too_many_attempts` (429),
|
|
68
|
+
* `rate_limited` (429), `provisioning_failed` (5xx),
|
|
69
|
+
* `invalid_request` (400), `network_error`, or `unknown`.
|
|
70
|
+
*/
|
|
71
|
+
async verify(input) {
|
|
72
|
+
return this.post('/api/public/onboarding/verify', input);
|
|
73
|
+
}
|
|
74
|
+
async post(path, body) {
|
|
75
|
+
const url = `${this.baseUrl}${path}`;
|
|
76
|
+
const controller = new AbortController();
|
|
77
|
+
const timer = setTimeout(() => controller.abort(), this.timeout);
|
|
78
|
+
let res;
|
|
79
|
+
try {
|
|
80
|
+
res = await fetch(url, {
|
|
81
|
+
method: 'POST',
|
|
82
|
+
headers: {
|
|
83
|
+
'Content-Type': 'application/json',
|
|
84
|
+
Accept: 'application/json',
|
|
85
|
+
'User-Agent': 'tagada-node-sdk/onboarding',
|
|
86
|
+
},
|
|
87
|
+
body: JSON.stringify(body),
|
|
88
|
+
signal: controller.signal,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
if (err.name === 'AbortError') {
|
|
93
|
+
throw new OnboardingError({
|
|
94
|
+
message: `Request to ${url} timed out after ${this.timeout}ms`,
|
|
95
|
+
code: 'network_error',
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
throw new OnboardingError({
|
|
99
|
+
message: `Failed to reach ${url}: ${err.message}`,
|
|
100
|
+
code: 'network_error',
|
|
101
|
+
raw: err,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
finally {
|
|
105
|
+
clearTimeout(timer);
|
|
106
|
+
}
|
|
107
|
+
let parsed = null;
|
|
108
|
+
try {
|
|
109
|
+
parsed = await res.json();
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
// Empty / non-JSON body — fall through with parsed=null.
|
|
113
|
+
}
|
|
114
|
+
if (res.ok) {
|
|
115
|
+
return parsed;
|
|
116
|
+
}
|
|
117
|
+
const body_ = (parsed ?? {});
|
|
118
|
+
// Map the server's error.code / status pair to our discriminated codes.
|
|
119
|
+
const code = mapErrorCode(res.status, body_.code);
|
|
120
|
+
const message = body_.error ?? `Request failed with status ${res.status}`;
|
|
121
|
+
const resetAt = body_.resetAt ? new Date(body_.resetAt) : null;
|
|
122
|
+
throw new OnboardingError({
|
|
123
|
+
message,
|
|
124
|
+
code,
|
|
125
|
+
statusCode: res.status,
|
|
126
|
+
resetAt,
|
|
127
|
+
raw: parsed,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function mapErrorCode(status, serverCode) {
|
|
132
|
+
if (serverCode === 'invalid_code')
|
|
133
|
+
return 'invalid_code';
|
|
134
|
+
if (serverCode === 'expired')
|
|
135
|
+
return 'expired';
|
|
136
|
+
if (serverCode === 'no_pending_code')
|
|
137
|
+
return 'no_pending_code';
|
|
138
|
+
if (serverCode === 'too_many_attempts')
|
|
139
|
+
return 'too_many_attempts';
|
|
140
|
+
if (status === 429)
|
|
141
|
+
return 'rate_limited';
|
|
142
|
+
if (status === 502)
|
|
143
|
+
return 'email_send_failed';
|
|
144
|
+
if (status === 400)
|
|
145
|
+
return 'invalid_request';
|
|
146
|
+
if (status === 410)
|
|
147
|
+
return 'expired';
|
|
148
|
+
if (status === 401)
|
|
149
|
+
return 'invalid_code';
|
|
150
|
+
if (status >= 500)
|
|
151
|
+
return 'provisioning_failed';
|
|
152
|
+
return 'unknown';
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=OnboardingClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnboardingClient.js","sourceRoot":"","sources":["../../src/onboarding/OnboardingClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { BaseResource } from './BaseResource.js';
|
|
2
|
+
import type { RequestOptions } from '../types/common.js';
|
|
3
|
+
/**
|
|
4
|
+
* Currency-keyed amount, e.g. `{ USD: { amount: 0 }, EUR: { amount: 0 } }`.
|
|
5
|
+
* Mirrors the backend's `CurrencyOptions` shape — every supported
|
|
6
|
+
* presentment currency must be present even if the rate is free.
|
|
7
|
+
*/
|
|
8
|
+
export interface ShippingRateAmount {
|
|
9
|
+
[currency: string]: {
|
|
10
|
+
amount: number;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Input for `tagada.shippingRates.create(...)`.
|
|
15
|
+
*
|
|
16
|
+
* Conditions interact additively: a customer must satisfy *all* set
|
|
17
|
+
* thresholds to be offered the rate. Leave a field undefined to skip
|
|
18
|
+
* that check (e.g. omit `countryCodes` to allow any country).
|
|
19
|
+
*/
|
|
20
|
+
export interface ShippingRateCreateParams {
|
|
21
|
+
/** Store this rate belongs to. */
|
|
22
|
+
storeId: string;
|
|
23
|
+
/** Display name (required). */
|
|
24
|
+
shippingRateName: string;
|
|
25
|
+
/** Optional human-readable description shown next to the rate. */
|
|
26
|
+
description?: string;
|
|
27
|
+
/** Optional icon URL. */
|
|
28
|
+
icon?: string;
|
|
29
|
+
/** Whether this rate is the default highlighted choice in the UI. */
|
|
30
|
+
highlighted?: boolean;
|
|
31
|
+
/** Per-currency price for the shipping rate itself. */
|
|
32
|
+
amount: ShippingRateAmount;
|
|
33
|
+
/** Set true to mark as free shipping (UX cue — also set `amount` to 0). */
|
|
34
|
+
isFree: boolean;
|
|
35
|
+
/** Set true if this rate is fulfilled by carrier pickup points. */
|
|
36
|
+
isPickupPoint: boolean;
|
|
37
|
+
/** Carriers supported when `isPickupPoint=true` (e.g. `['ups','fedex']`). */
|
|
38
|
+
pickupPointCarriers?: string[] | null;
|
|
39
|
+
/** Min order subtotal to qualify (per-currency). */
|
|
40
|
+
shippingRateMinAmount?: ShippingRateAmount | null;
|
|
41
|
+
/** Max order subtotal to qualify (per-currency). */
|
|
42
|
+
shippingRateMaxAmount?: ShippingRateAmount | null;
|
|
43
|
+
/** Min total cart weight (grams) to qualify. */
|
|
44
|
+
shippingRateMinWeight?: number | null;
|
|
45
|
+
/** Max total cart weight (grams) to qualify. */
|
|
46
|
+
shippingRateMaxWeight?: number | null;
|
|
47
|
+
/**
|
|
48
|
+
* ISO 3166-1 alpha-2 country codes the rate applies to.
|
|
49
|
+
* Pass `[]` (or omit) to allow any country.
|
|
50
|
+
*/
|
|
51
|
+
countryCodes?: string[];
|
|
52
|
+
/** Estimated delivery time in days (optional, surfaced in checkout UI). */
|
|
53
|
+
estimatedDeliveryTime?: number;
|
|
54
|
+
}
|
|
55
|
+
export interface ShippingRateCreateResult {
|
|
56
|
+
/** New shipping rate ID. Use it as the input to `selectShippingRate`. */
|
|
57
|
+
id: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Shipping rates control which delivery options Tagada surfaces at
|
|
61
|
+
* checkout. A rate is matched against the customer's address, cart
|
|
62
|
+
* subtotal, and total weight; matching rates are returned by
|
|
63
|
+
* `GET /api/v1/checkout-sessions/:id/shipping-rates`.
|
|
64
|
+
*
|
|
65
|
+
* Without at least one matching rate, the checkout still completes
|
|
66
|
+
* (clients can choose to skip shipping selection), but the customer
|
|
67
|
+
* never sees a delivery option.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* await tagada.shippingRates.create({
|
|
72
|
+
* storeId: 'store_xxx',
|
|
73
|
+
* shippingRateName: 'Free Standard',
|
|
74
|
+
* description: '5-7 business days',
|
|
75
|
+
* isFree: true,
|
|
76
|
+
* isPickupPoint: false,
|
|
77
|
+
* amount: { USD: { amount: 0 }, EUR: { amount: 0 } },
|
|
78
|
+
* highlighted: true,
|
|
79
|
+
* estimatedDeliveryTime: 7,
|
|
80
|
+
* });
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare class ShippingRates extends BaseResource {
|
|
84
|
+
/**
|
|
85
|
+
* Create a shipping rate for a store.
|
|
86
|
+
*
|
|
87
|
+
* Requires an API key whose account owns the target store.
|
|
88
|
+
*/
|
|
89
|
+
create(params: ShippingRateCreateParams, opts?: RequestOptions): Promise<ShippingRateCreateResult>;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=ShippingRates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShippingRates.d.ts","sourceRoot":"","sources":["../../src/resources/ShippingRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,MAAM,EAAE,kBAAkB,CAAC;IAC3B,2EAA2E;IAC3E,MAAM,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,aAAa,EAAE,OAAO,CAAC;IACvB,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACtC,oDAAoD;IACpD,qBAAqB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClD,oDAAoD;IACpD,qBAAqB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClD,gDAAgD;IAChD,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,gDAAgD;IAChD,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,2EAA2E;IAC3E,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,wBAAwB,EAChC,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,wBAAwB,CAAC;CAGrC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BaseResource } from './BaseResource.js';
|
|
2
|
+
/**
|
|
3
|
+
* Shipping rates control which delivery options Tagada surfaces at
|
|
4
|
+
* checkout. A rate is matched against the customer's address, cart
|
|
5
|
+
* subtotal, and total weight; matching rates are returned by
|
|
6
|
+
* `GET /api/v1/checkout-sessions/:id/shipping-rates`.
|
|
7
|
+
*
|
|
8
|
+
* Without at least one matching rate, the checkout still completes
|
|
9
|
+
* (clients can choose to skip shipping selection), but the customer
|
|
10
|
+
* never sees a delivery option.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* await tagada.shippingRates.create({
|
|
15
|
+
* storeId: 'store_xxx',
|
|
16
|
+
* shippingRateName: 'Free Standard',
|
|
17
|
+
* description: '5-7 business days',
|
|
18
|
+
* isFree: true,
|
|
19
|
+
* isPickupPoint: false,
|
|
20
|
+
* amount: { USD: { amount: 0 }, EUR: { amount: 0 } },
|
|
21
|
+
* highlighted: true,
|
|
22
|
+
* estimatedDeliveryTime: 7,
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export class ShippingRates extends BaseResource {
|
|
27
|
+
/**
|
|
28
|
+
* Create a shipping rate for a store.
|
|
29
|
+
*
|
|
30
|
+
* Requires an API key whose account owns the target store.
|
|
31
|
+
*/
|
|
32
|
+
async create(params, opts) {
|
|
33
|
+
return this._post('/shipping-rates', params, opts);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=ShippingRates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShippingRates.js","sourceRoot":"","sources":["../../src/resources/ShippingRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA4DjD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C;;;;OAIG;IACH,KAAK,CAAC,MAAM,CACV,MAAgC,EAChC,IAAqB;QAErB,OAAO,IAAI,CAAC,KAAK,CAA2B,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/E,CAAC;CACF"}
|
|
@@ -19,4 +19,5 @@ export { Plugins } from './Plugins.js';
|
|
|
19
19
|
export { Offers } from './Offers.js';
|
|
20
20
|
export { CheckoutOffers } from './CheckoutOffers.js';
|
|
21
21
|
export { EmailTemplates } from './EmailTemplates.js';
|
|
22
|
+
export { ShippingRates } from './ShippingRates.js';
|
|
22
23
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/resources/index.js
CHANGED
|
@@ -19,4 +19,5 @@ export { Plugins } from './Plugins.js';
|
|
|
19
19
|
export { Offers } from './Offers.js';
|
|
20
20
|
export { CheckoutOffers } from './CheckoutOffers.js';
|
|
21
21
|
export { EmailTemplates } from './EmailTemplates.js';
|
|
22
|
+
export { ShippingRates } from './ShippingRates.js';
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|