@bubltec/mycota-payments 0.2.0 → 0.4.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/connect.d.ts +38 -0
- package/dist/connect.d.ts.map +1 -0
- package/dist/connect.js +8 -0
- package/dist/connect.js.map +1 -0
- package/dist/connect.spec.d.ts +2 -0
- package/dist/connect.spec.d.ts.map +1 -0
- package/dist/connect.spec.js +65 -0
- package/dist/connect.spec.js.map +1 -0
- package/dist/fake.connect.d.ts +18 -0
- package/dist/fake.connect.d.ts.map +1 -0
- package/dist/fake.connect.js +52 -0
- package/dist/fake.connect.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/ports.d.ts +4 -0
- package/dist/ports.d.ts.map +1 -1
- package/dist/stripe.adapter.d.ts.map +1 -1
- package/dist/stripe.adapter.js +2 -0
- package/dist/stripe.adapter.js.map +1 -1
- package/dist/stripe.adapter.spec.js +13 -0
- package/dist/stripe.adapter.spec.js.map +1 -1
- package/dist/stripe.connect.d.ts +38 -0
- package/dist/stripe.connect.d.ts.map +1 -0
- package/dist/stripe.connect.js +51 -0
- package/dist/stripe.connect.js.map +1 -0
- package/package.json +6 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type ConnectAccountStatus = 'pending' | 'complete' | 'restricted';
|
|
2
|
+
export interface ConnectAccount {
|
|
3
|
+
id: string;
|
|
4
|
+
status: ConnectAccountStatus;
|
|
5
|
+
chargesEnabled: boolean;
|
|
6
|
+
payoutsEnabled: boolean;
|
|
7
|
+
detailsSubmitted: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface CreateExpressAccountInput {
|
|
10
|
+
email?: string;
|
|
11
|
+
country?: string;
|
|
12
|
+
metadata?: Record<string, string>;
|
|
13
|
+
}
|
|
14
|
+
export interface CreateOnboardingLinkInput {
|
|
15
|
+
accountId: string;
|
|
16
|
+
refreshUrl: string;
|
|
17
|
+
returnUrl: string;
|
|
18
|
+
}
|
|
19
|
+
export interface OnboardingLink {
|
|
20
|
+
url: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Stripe Connect Express (or an equivalent facilitator) onboarding. Inner
|
|
24
|
+
* layers ask for an account and a hosted KYC URL — they never import Stripe.
|
|
25
|
+
*/
|
|
26
|
+
export interface ConnectOnboarding {
|
|
27
|
+
readonly provider: string;
|
|
28
|
+
createExpressAccount(input: CreateExpressAccountInput): Promise<ConnectAccount>;
|
|
29
|
+
createOnboardingLink(input: CreateOnboardingLinkInput): Promise<OnboardingLink>;
|
|
30
|
+
createLoginLink(accountId: string): Promise<OnboardingLink>;
|
|
31
|
+
getAccount(accountId: string): Promise<ConnectAccount>;
|
|
32
|
+
}
|
|
33
|
+
export declare function connectStatus(input: {
|
|
34
|
+
detailsSubmitted: boolean;
|
|
35
|
+
chargesEnabled: boolean;
|
|
36
|
+
currentlyDue: number;
|
|
37
|
+
}): ConnectAccountStatus;
|
|
38
|
+
//# sourceMappingURL=connect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,oBAAoB,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAChF,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAChF,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACxD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,oBAAoB,CAIvB"}
|
package/dist/connect.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAsCA,MAAM,UAAU,aAAa,CAAC,KAI7B;IACC,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC;QAAE,OAAO,YAAY,CAAC;IAChD,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,cAAc;QAAE,OAAO,UAAU,CAAC;IACtE,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.spec.d.ts","sourceRoot":"","sources":["../src/connect.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { FakeConnectOnboarding } from './fake.connect.js';
|
|
3
|
+
import { StripeConnectOnboarding } from './stripe.connect.js';
|
|
4
|
+
describe('FakeConnectOnboarding', () => {
|
|
5
|
+
it('creates a pending Express account and completes KYC locally', async () => {
|
|
6
|
+
const connect = new FakeConnectOnboarding();
|
|
7
|
+
const account = await connect.createExpressAccount({ email: 'org@example.com' });
|
|
8
|
+
expect(account.status).toBe('pending');
|
|
9
|
+
expect(account.chargesEnabled).toBe(false);
|
|
10
|
+
const link = await connect.createOnboardingLink({
|
|
11
|
+
accountId: account.id,
|
|
12
|
+
refreshUrl: 'https://app.local/refresh',
|
|
13
|
+
returnUrl: 'https://app.local/return',
|
|
14
|
+
});
|
|
15
|
+
expect(link.url).toContain(account.id);
|
|
16
|
+
const done = connect.complete(account.id);
|
|
17
|
+
expect(done.status).toBe('complete');
|
|
18
|
+
expect((await connect.getAccount(account.id)).payoutsEnabled).toBe(true);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
describe('StripeConnectOnboarding', () => {
|
|
22
|
+
it('requests Express + card_payments/transfers and maps account status', async () => {
|
|
23
|
+
const client = {
|
|
24
|
+
accounts: {
|
|
25
|
+
create: vi.fn(async () => ({
|
|
26
|
+
id: 'acct_1',
|
|
27
|
+
charges_enabled: false,
|
|
28
|
+
payouts_enabled: false,
|
|
29
|
+
details_submitted: false,
|
|
30
|
+
requirements: { currently_due: ['individual.id_number'] },
|
|
31
|
+
})),
|
|
32
|
+
retrieve: vi.fn(async () => ({
|
|
33
|
+
id: 'acct_1',
|
|
34
|
+
charges_enabled: true,
|
|
35
|
+
payouts_enabled: true,
|
|
36
|
+
details_submitted: true,
|
|
37
|
+
requirements: { currently_due: [] },
|
|
38
|
+
})),
|
|
39
|
+
createLoginLink: vi.fn(async () => ({ url: 'https://connect.stripe.com/express/login' })),
|
|
40
|
+
},
|
|
41
|
+
accountLinks: {
|
|
42
|
+
create: vi.fn(async () => ({ url: 'https://connect.stripe.com/setup/e/acct_1' })),
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
const connect = new StripeConnectOnboarding(client);
|
|
46
|
+
const created = await connect.createExpressAccount({ email: 'org@example.com', country: 'US' });
|
|
47
|
+
expect(created.status).toBe('restricted');
|
|
48
|
+
expect(client.accounts.create).toHaveBeenCalledWith(expect.objectContaining({
|
|
49
|
+
type: 'express',
|
|
50
|
+
capabilities: {
|
|
51
|
+
card_payments: { requested: true },
|
|
52
|
+
transfers: { requested: true },
|
|
53
|
+
},
|
|
54
|
+
}));
|
|
55
|
+
const onboard = await connect.createOnboardingLink({
|
|
56
|
+
accountId: 'acct_1',
|
|
57
|
+
refreshUrl: 'https://app.local/refresh',
|
|
58
|
+
returnUrl: 'https://app.local/return',
|
|
59
|
+
});
|
|
60
|
+
expect(onboard.url).toContain('connect.stripe.com');
|
|
61
|
+
const retrieved = await connect.getAccount('acct_1');
|
|
62
|
+
expect(retrieved.status).toBe('complete');
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=connect.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.spec.js","sourceRoot":"","sources":["../src/connect.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ConnectAccount, ConnectOnboarding, CreateExpressAccountInput, CreateOnboardingLinkInput, OnboardingLink } from './connect.js';
|
|
2
|
+
/**
|
|
3
|
+
* In-memory Express accounts for local boot. Onboarding links are fake URLs;
|
|
4
|
+
* `complete(accountId)` stands in for the organizer finishing KYC.
|
|
5
|
+
*/
|
|
6
|
+
export declare class FakeConnectOnboarding implements ConnectOnboarding {
|
|
7
|
+
readonly provider = "fake";
|
|
8
|
+
private readonly accounts;
|
|
9
|
+
private seq;
|
|
10
|
+
createExpressAccount(_input: CreateExpressAccountInput): Promise<ConnectAccount>;
|
|
11
|
+
createOnboardingLink(input: CreateOnboardingLinkInput): Promise<OnboardingLink>;
|
|
12
|
+
createLoginLink(accountId: string): Promise<OnboardingLink>;
|
|
13
|
+
getAccount(accountId: string): Promise<ConnectAccount>;
|
|
14
|
+
/** Test/local helper — the hosted KYC page does this in production. */
|
|
15
|
+
complete(accountId: string): ConnectAccount;
|
|
16
|
+
private require;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=fake.connect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake.connect.d.ts","sourceRoot":"","sources":["../src/fake.connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACf,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,QAAQ,CAAC,QAAQ,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,GAAG,CAAK;IAEV,oBAAoB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;IAahF,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;IAK/E,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAK3D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAI5D,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc;IAa3C,OAAO,CAAC,OAAO;CAKhB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-memory Express accounts for local boot. Onboarding links are fake URLs;
|
|
3
|
+
* `complete(accountId)` stands in for the organizer finishing KYC.
|
|
4
|
+
*/
|
|
5
|
+
export class FakeConnectOnboarding {
|
|
6
|
+
provider = 'fake';
|
|
7
|
+
accounts = new Map();
|
|
8
|
+
seq = 0;
|
|
9
|
+
async createExpressAccount(_input) {
|
|
10
|
+
this.seq += 1;
|
|
11
|
+
const account = {
|
|
12
|
+
id: `acct_fake_${this.seq}`,
|
|
13
|
+
status: 'pending',
|
|
14
|
+
chargesEnabled: false,
|
|
15
|
+
payoutsEnabled: false,
|
|
16
|
+
detailsSubmitted: false,
|
|
17
|
+
};
|
|
18
|
+
this.accounts.set(account.id, account);
|
|
19
|
+
return account;
|
|
20
|
+
}
|
|
21
|
+
async createOnboardingLink(input) {
|
|
22
|
+
this.require(input.accountId);
|
|
23
|
+
return { url: `https://connect.local/onboard/${input.accountId}` };
|
|
24
|
+
}
|
|
25
|
+
async createLoginLink(accountId) {
|
|
26
|
+
this.require(accountId);
|
|
27
|
+
return { url: `https://connect.local/login/${accountId}` };
|
|
28
|
+
}
|
|
29
|
+
async getAccount(accountId) {
|
|
30
|
+
return this.require(accountId);
|
|
31
|
+
}
|
|
32
|
+
/** Test/local helper — the hosted KYC page does this in production. */
|
|
33
|
+
complete(accountId) {
|
|
34
|
+
const account = this.require(accountId);
|
|
35
|
+
const next = {
|
|
36
|
+
...account,
|
|
37
|
+
status: 'complete',
|
|
38
|
+
chargesEnabled: true,
|
|
39
|
+
payoutsEnabled: true,
|
|
40
|
+
detailsSubmitted: true,
|
|
41
|
+
};
|
|
42
|
+
this.accounts.set(accountId, next);
|
|
43
|
+
return next;
|
|
44
|
+
}
|
|
45
|
+
require(accountId) {
|
|
46
|
+
const account = this.accounts.get(accountId);
|
|
47
|
+
if (!account)
|
|
48
|
+
throw new Error(`connect account ${accountId} not found`);
|
|
49
|
+
return account;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=fake.connect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake.connect.js","sourceRoot":"","sources":["../src/fake.connect.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,MAAM,OAAO,qBAAqB;IACvB,QAAQ,GAAG,MAAM,CAAC;IACV,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IACtD,GAAG,GAAG,CAAC,CAAC;IAEhB,KAAK,CAAC,oBAAoB,CAAC,MAAiC;QAC1D,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,SAAS;YACjB,cAAc,EAAE,KAAK;YACrB,cAAc,EAAE,KAAK;YACrB,gBAAgB,EAAE,KAAK;SACxB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAgC;QACzD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,iCAAiC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxB,OAAO,EAAE,GAAG,EAAE,+BAA+B,SAAS,EAAE,EAAE,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,uEAAuE;IACvE,QAAQ,CAAC,SAAiB;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,IAAI,GAAmB;YAC3B,GAAG,OAAO;YACV,MAAM,EAAE,UAAU;YAClB,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,IAAI;SACvB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,OAAO,CAAC,SAAiB;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,YAAY,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,4 +2,7 @@ export { addMoney, money, type Money } from './money.js';
|
|
|
2
2
|
export type { CheckoutLine, CheckoutSession, CreateCheckoutInput, PaymentEvent, PaymentGateway, PaymentGatewayConfig, RefundInput, RefundResult, } from './ports.js';
|
|
3
3
|
export { FakePaymentGateway, type FakePaymentGatewayOptions } from './fake.adapter.js';
|
|
4
4
|
export { StripePaymentGateway, type StripeCheckoutClient, type StripeWebhookEvent, } from './stripe.adapter.js';
|
|
5
|
+
export { connectStatus, type ConnectAccount, type ConnectAccountStatus, type ConnectOnboarding, type CreateExpressAccountInput, type CreateOnboardingLinkInput, type OnboardingLink, } from './connect.js';
|
|
6
|
+
export { FakeConnectOnboarding } from './fake.connect.js';
|
|
7
|
+
export { StripeConnectOnboarding, type StripeAccount, type StripeConnectClient, } from './stripe.connect.js';
|
|
5
8
|
//# sourceMappingURL=index.d.ts.map
|
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,QAAQ,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EACL,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EACL,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EACL,uBAAuB,EACvB,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export { addMoney, money } from './money.js';
|
|
2
2
|
export { FakePaymentGateway } from './fake.adapter.js';
|
|
3
3
|
export { StripePaymentGateway, } from './stripe.adapter.js';
|
|
4
|
+
export { connectStatus, } from './connect.js';
|
|
5
|
+
export { FakeConnectOnboarding } from './fake.connect.js';
|
|
6
|
+
export { StripeConnectOnboarding, } from './stripe.connect.js';
|
|
4
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAc,MAAM,YAAY,CAAC;AAWzD,OAAO,EAAE,kBAAkB,EAAkC,MAAM,mBAAmB,CAAC;AACvF,OAAO,EACL,oBAAoB,GAGrB,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAc,MAAM,YAAY,CAAC;AAWzD,OAAO,EAAE,kBAAkB,EAAkC,MAAM,mBAAmB,CAAC;AACvF,OAAO,EACL,oBAAoB,GAGrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,GAOd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EACL,uBAAuB,GAGxB,MAAM,qBAAqB,CAAC"}
|
package/dist/ports.d.ts
CHANGED
|
@@ -23,6 +23,10 @@ export interface RefundInput {
|
|
|
23
23
|
paymentId: string;
|
|
24
24
|
amount?: Money;
|
|
25
25
|
reason?: string;
|
|
26
|
+
/** Reverse the platform take. Default true — Eventbrite keeping the service fee is the behavior not to copy. */
|
|
27
|
+
reverseApplicationFee?: boolean;
|
|
28
|
+
/** Pull funds back from the connected account on a destination charge. */
|
|
29
|
+
reverseTransfer?: boolean;
|
|
26
30
|
}
|
|
27
31
|
export interface RefundResult {
|
|
28
32
|
id: string;
|
package/dist/ports.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,KAAK,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,uGAAuG;IACvG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wDAAwD;IACxD,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,KAAK,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,uGAAuG;IACvG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wDAAwD;IACxD,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gHAAgH;IAChH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC5C;AAED,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;CACf,CAAC;AAEN;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACrE,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAClD,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe.adapter.d.ts","sourceRoot":"","sources":["../src/stripe.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,CAAC,CAAC;SAC1F,CAAC;KACH,CAAC;IACF,OAAO,EAAE;QACP,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC,CAAC;KAC7F,CAAC;IACF,QAAQ,EAAE;QACR,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,kBAAkB,CAAC;KACzF,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CAC3C;AAMD;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IAIvD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,QAAQ,CAAC,QAAQ,YAAY;gBAGV,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB;IAGzC,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAuCpE,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"stripe.adapter.d.ts","sourceRoot":"","sources":["../src/stripe.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,CAAC,CAAC;SAC1F,CAAC;KACH,CAAC;IACF,OAAO,EAAE;QACP,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC,CAAC;KAC7F,CAAC;IACF,QAAQ,EAAE;QACR,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,kBAAkB,CAAC;KACzF,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CAC3C;AAMD;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IAIvD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,QAAQ,CAAC,QAAQ,YAAY;gBAGV,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB;IAGzC,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAuCpE,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAejD,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAgCrF"}
|
package/dist/stripe.adapter.js
CHANGED
|
@@ -55,6 +55,8 @@ export class StripePaymentGateway {
|
|
|
55
55
|
payment_intent: input.paymentId,
|
|
56
56
|
amount: input.amount?.amountCents,
|
|
57
57
|
reason: input.reason,
|
|
58
|
+
refund_application_fee: input.reverseApplicationFee ?? true,
|
|
59
|
+
reverse_transfer: input.reverseTransfer ?? Boolean(input.reverseApplicationFee ?? true),
|
|
58
60
|
});
|
|
59
61
|
const status = refund.status === 'succeeded' || refund.status === 'pending' || refund.status === 'failed'
|
|
60
62
|
? refund.status
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe.adapter.js","sourceRoot":"","sources":["../src/stripe.adapter.ts"],"names":[],"mappings":"AAmCA,SAAS,WAAW,CAAC,MAAa;IAChC,OAAO,MAAM,CAAC,WAAW,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAIZ;IACA;IAJV,QAAQ,GAAG,QAAQ,CAAC;IAE7B,YACmB,MAA4B,EAC5B,MAA4B;QAD5B,WAAM,GAAN,MAAM,CAAsB;QAC5B,WAAM,GAAN,MAAM,CAAsB;IAC5C,CAAC;IAEJ,KAAK,CAAC,cAAc,CAAC,KAA0B;QAC7C,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,MAAM,GAA4B;YACtC,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,KAAK,CAAC,UAAU;YAC7B,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,cAAc,EAAE,KAAK,CAAC,aAAa;YACnC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE;oBACV,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;oBAClC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;oBACzC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;iBAClC;aACF,CAAC,CAAC;SACJ,CAAC;QAEF,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,iBAAiB,GAA4B;gBACjD,aAAa,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,kBAAkB,EAAE;gBACxD,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC;YACF,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,iBAAiB,CAAC,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;YAC9E,CAAC;YACD,MAAM,CAAC,mBAAmB,GAAG,iBAAiB,CAAC;QACjD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAkB;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC9C,cAAc,EAAE,KAAK,CAAC,SAAS;YAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW;YACjC,MAAM,EAAE,KAAK,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"stripe.adapter.js","sourceRoot":"","sources":["../src/stripe.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,5 +70,18 @@ describe('StripePaymentGateway', () => {
|
|
|
70
70
|
metadata: { orderId: 'ord_1' },
|
|
71
71
|
});
|
|
72
72
|
});
|
|
73
|
+
it('refunds the application fee by default', async () => {
|
|
74
|
+
const client = stubClient();
|
|
75
|
+
const gateway = new StripePaymentGateway(client, {
|
|
76
|
+
secretKey: 'sk_test',
|
|
77
|
+
webhookSecret: 'whsec_test',
|
|
78
|
+
});
|
|
79
|
+
await gateway.refund({ paymentId: 'pi_test_1' });
|
|
80
|
+
expect(client.refunds.create).toHaveBeenCalledWith(expect.objectContaining({
|
|
81
|
+
payment_intent: 'pi_test_1',
|
|
82
|
+
refund_application_fee: true,
|
|
83
|
+
reverse_transfer: true,
|
|
84
|
+
}));
|
|
85
|
+
});
|
|
73
86
|
});
|
|
74
87
|
//# sourceMappingURL=stripe.adapter.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe.adapter.spec.js","sourceRoot":"","sources":["../src/stripe.adapter.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stripe.adapter.spec.js","sourceRoot":"","sources":["../src/stripe.adapter.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type ConnectAccount, type ConnectOnboarding, type CreateExpressAccountInput, type CreateOnboardingLinkInput, type OnboardingLink } from './connect.js';
|
|
2
|
+
/**
|
|
3
|
+
* Narrow Stripe Connect surface so this package does not take a `stripe`
|
|
4
|
+
* SDK dependency. Same injection style as StripePaymentGateway.
|
|
5
|
+
*/
|
|
6
|
+
export interface StripeConnectClient {
|
|
7
|
+
accounts: {
|
|
8
|
+
create: (params: Record<string, unknown>) => Promise<StripeAccount>;
|
|
9
|
+
retrieve: (id: string) => Promise<StripeAccount>;
|
|
10
|
+
createLoginLink: (id: string) => Promise<{
|
|
11
|
+
url: string;
|
|
12
|
+
}>;
|
|
13
|
+
};
|
|
14
|
+
accountLinks: {
|
|
15
|
+
create: (params: Record<string, unknown>) => Promise<{
|
|
16
|
+
url: string;
|
|
17
|
+
}>;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface StripeAccount {
|
|
21
|
+
id: string;
|
|
22
|
+
charges_enabled?: boolean;
|
|
23
|
+
payouts_enabled?: boolean;
|
|
24
|
+
details_submitted?: boolean;
|
|
25
|
+
requirements?: {
|
|
26
|
+
currently_due?: string[];
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export declare class StripeConnectOnboarding implements ConnectOnboarding {
|
|
30
|
+
private readonly stripe;
|
|
31
|
+
readonly provider = "stripe";
|
|
32
|
+
constructor(stripe: StripeConnectClient);
|
|
33
|
+
createExpressAccount(input: CreateExpressAccountInput): Promise<ConnectAccount>;
|
|
34
|
+
createOnboardingLink(input: CreateOnboardingLinkInput): Promise<OnboardingLink>;
|
|
35
|
+
createLoginLink(accountId: string): Promise<OnboardingLink>;
|
|
36
|
+
getAccount(accountId: string): Promise<ConnectAccount>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=stripe.connect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripe.connect.d.ts","sourceRoot":"","sources":["../src/stripe.connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,yBAAyB,EAAE,KAAK,yBAAyB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAE/K;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;QACpE,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;QACjD,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC3D,CAAC;IACF,YAAY,EAAE;QACZ,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACvE,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC7C;AAgBD,qBAAa,uBAAwB,YAAW,iBAAiB;IAGnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,QAAQ,CAAC,QAAQ,YAAY;gBAEA,MAAM,EAAE,mBAAmB;IAElD,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;IAc/E,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;IAU/E,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAK3D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CAG7D"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { connectStatus } from './connect.js';
|
|
2
|
+
function toAccount(raw) {
|
|
3
|
+
const chargesEnabled = Boolean(raw.charges_enabled);
|
|
4
|
+
const payoutsEnabled = Boolean(raw.payouts_enabled);
|
|
5
|
+
const detailsSubmitted = Boolean(raw.details_submitted);
|
|
6
|
+
const currentlyDue = raw.requirements?.currently_due?.length ?? 0;
|
|
7
|
+
return {
|
|
8
|
+
id: raw.id,
|
|
9
|
+
chargesEnabled,
|
|
10
|
+
payoutsEnabled,
|
|
11
|
+
detailsSubmitted,
|
|
12
|
+
status: connectStatus({ detailsSubmitted, chargesEnabled, currentlyDue }),
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export class StripeConnectOnboarding {
|
|
16
|
+
stripe;
|
|
17
|
+
provider = 'stripe';
|
|
18
|
+
constructor(stripe) {
|
|
19
|
+
this.stripe = stripe;
|
|
20
|
+
}
|
|
21
|
+
async createExpressAccount(input) {
|
|
22
|
+
const raw = await this.stripe.accounts.create({
|
|
23
|
+
type: 'express',
|
|
24
|
+
country: input.country ?? 'US',
|
|
25
|
+
email: input.email,
|
|
26
|
+
metadata: input.metadata,
|
|
27
|
+
capabilities: {
|
|
28
|
+
card_payments: { requested: true },
|
|
29
|
+
transfers: { requested: true },
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
return toAccount(raw);
|
|
33
|
+
}
|
|
34
|
+
async createOnboardingLink(input) {
|
|
35
|
+
const link = await this.stripe.accountLinks.create({
|
|
36
|
+
account: input.accountId,
|
|
37
|
+
refresh_url: input.refreshUrl,
|
|
38
|
+
return_url: input.returnUrl,
|
|
39
|
+
type: 'account_onboarding',
|
|
40
|
+
});
|
|
41
|
+
return { url: link.url };
|
|
42
|
+
}
|
|
43
|
+
async createLoginLink(accountId) {
|
|
44
|
+
const link = await this.stripe.accounts.createLoginLink(accountId);
|
|
45
|
+
return { url: link.url };
|
|
46
|
+
}
|
|
47
|
+
async getAccount(accountId) {
|
|
48
|
+
return toAccount(await this.stripe.accounts.retrieve(accountId));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=stripe.connect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripe.connect.js","sourceRoot":"","sources":["../src/stripe.connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoI,MAAM,cAAc,CAAC;AAyB/K,SAAS,SAAS,CAAC,GAAkB;IACnC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC,CAAC;IAClE,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,MAAM,EAAE,aAAa,CAAC,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,uBAAuB;IAGL;IAFpB,QAAQ,GAAG,QAAQ,CAAC;IAE7B,YAA6B,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAE5D,KAAK,CAAC,oBAAoB,CAAC,KAAgC;QACzD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;YAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE;gBACZ,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;gBAClC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC/B;SACF,CAAC,CAAC;QACH,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAgC;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;YACjD,OAAO,EAAE,KAAK,CAAC,SAAS;YACxB,WAAW,EAAE,KAAK,CAAC,UAAU;YAC7B,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,IAAI,EAAE,oBAAoB;SAC3B,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACnE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,OAAO,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACnE,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bubltec/mycota-payments",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -21,6 +21,11 @@
|
|
|
21
21
|
"typescript": "^5.8.0",
|
|
22
22
|
"vitest": "^2.1.0"
|
|
23
23
|
},
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "https://github.com/bubltec/mycota",
|
|
27
|
+
"directory": "packages/payments"
|
|
28
|
+
},
|
|
24
29
|
"scripts": {
|
|
25
30
|
"build": "tsc -b",
|
|
26
31
|
"typecheck": "tsc -b --noEmit",
|