@payloadcms/plugin-ecommerce 3.84.0-canary.0 → 3.84.0-internal.d5d6e43
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/collections/orders/createOrdersCollection.d.ts +6 -0
- package/dist/collections/orders/createOrdersCollection.d.ts.map +1 -1
- package/dist/collections/orders/createOrdersCollection.js +7 -1
- package/dist/collections/orders/createOrdersCollection.js.map +1 -1
- package/dist/collections/transactions/createTransactionsCollection.d.ts +6 -0
- package/dist/collections/transactions/createTransactionsCollection.d.ts.map +1 -1
- package/dist/collections/transactions/createTransactionsCollection.js +7 -1
- package/dist/collections/transactions/createTransactionsCollection.js.map +1 -1
- package/dist/endpoints/confirmOrder.d.ts +11 -1
- package/dist/endpoints/confirmOrder.d.ts.map +1 -1
- package/dist/endpoints/confirmOrder.js +74 -2
- package/dist/endpoints/confirmOrder.js.map +1 -1
- package/dist/endpoints/initiatePayment.d.ts +11 -1
- package/dist/endpoints/initiatePayment.d.ts.map +1 -1
- package/dist/endpoints/initiatePayment.js +74 -3
- package/dist/endpoints/initiatePayment.js.map +1 -1
- package/dist/exports/types.d.ts +1 -1
- package/dist/exports/types.d.ts.map +1 -1
- package/dist/exports/types.js.map +1 -1
- package/dist/fields/summaryField.d.ts +14 -0
- package/dist/fields/summaryField.d.ts.map +1 -0
- package/dist/fields/summaryField.js +83 -0
- package/dist/fields/summaryField.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/payments/adapters/stripe/confirmOrder.d.ts.map +1 -1
- package/dist/payments/adapters/stripe/confirmOrder.js +3 -1
- package/dist/payments/adapters/stripe/confirmOrder.js.map +1 -1
- package/dist/payments/adapters/stripe/confirmOrder.spec.js +166 -0
- package/dist/payments/adapters/stripe/confirmOrder.spec.js.map +1 -0
- package/dist/payments/adapters/stripe/index.d.ts +2 -1
- package/dist/payments/adapters/stripe/index.d.ts.map +1 -1
- package/dist/payments/adapters/stripe/index.js.map +1 -1
- package/dist/payments/adapters/stripe/initiatePayment.d.ts.map +1 -1
- package/dist/payments/adapters/stripe/initiatePayment.js +6 -3
- package/dist/payments/adapters/stripe/initiatePayment.js.map +1 -1
- package/dist/types/index.d.ts +200 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utilities/runPaymentHooks.d.ts +28 -0
- package/dist/utilities/runPaymentHooks.d.ts.map +1 -0
- package/dist/utilities/runPaymentHooks.js +68 -0
- package/dist/utilities/runPaymentHooks.js.map +1 -0
- package/dist/utilities/runPaymentHooks.spec.js +324 -0
- package/dist/utilities/runPaymentHooks.spec.js.map +1 -0
- package/dist/utilities/sanitizePluginConfig.spec.js +35 -0
- package/dist/utilities/sanitizePluginConfig.spec.js.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
const mockCustomersList = vi.fn();
|
|
3
|
+
const mockCustomersCreate = vi.fn();
|
|
4
|
+
const mockPaymentIntentsRetrieve = vi.fn();
|
|
5
|
+
vi.mock('stripe', ()=>{
|
|
6
|
+
const MockStripe = function() {
|
|
7
|
+
return {
|
|
8
|
+
customers: {
|
|
9
|
+
list: mockCustomersList,
|
|
10
|
+
create: mockCustomersCreate
|
|
11
|
+
},
|
|
12
|
+
paymentIntents: {
|
|
13
|
+
retrieve: mockPaymentIntentsRetrieve
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
return {
|
|
18
|
+
default: MockStripe
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
import { confirmOrder } from './confirmOrder';
|
|
22
|
+
const defaultCartItemsSnapshot = JSON.stringify([
|
|
23
|
+
{
|
|
24
|
+
id: 'item-1',
|
|
25
|
+
quantity: 1
|
|
26
|
+
}
|
|
27
|
+
]);
|
|
28
|
+
const createMockPaymentIntent = (status)=>({
|
|
29
|
+
amount: 1000,
|
|
30
|
+
currency: 'usd',
|
|
31
|
+
metadata: {
|
|
32
|
+
cartID: 'cart-123',
|
|
33
|
+
cartItemsSnapshot: defaultCartItemsSnapshot,
|
|
34
|
+
shippingAddress: JSON.stringify({
|
|
35
|
+
city: 'Test City'
|
|
36
|
+
})
|
|
37
|
+
},
|
|
38
|
+
status
|
|
39
|
+
});
|
|
40
|
+
const createMockPayload = ()=>({
|
|
41
|
+
create: vi.fn().mockResolvedValue({
|
|
42
|
+
id: 'order-123'
|
|
43
|
+
}),
|
|
44
|
+
find: vi.fn().mockResolvedValue({
|
|
45
|
+
docs: [
|
|
46
|
+
{
|
|
47
|
+
id: 'txn-123'
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
totalDocs: 1
|
|
51
|
+
}),
|
|
52
|
+
logger: {
|
|
53
|
+
error: vi.fn()
|
|
54
|
+
},
|
|
55
|
+
update: vi.fn().mockResolvedValue({})
|
|
56
|
+
});
|
|
57
|
+
const createMockReq = (payload)=>({
|
|
58
|
+
payload,
|
|
59
|
+
user: {
|
|
60
|
+
id: 'user-123'
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
describe('confirmOrder - payment status check', ()=>{
|
|
64
|
+
const secretKey = 'sk_test_123';
|
|
65
|
+
beforeEach(()=>{
|
|
66
|
+
vi.clearAllMocks();
|
|
67
|
+
mockCustomersList.mockResolvedValue({
|
|
68
|
+
data: [
|
|
69
|
+
{
|
|
70
|
+
id: 'cus-123'
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
});
|
|
74
|
+
mockCustomersCreate.mockResolvedValue({
|
|
75
|
+
id: 'cus-new'
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
it('should throw when paymentIntent status is requires_payment_method', async ()=>{
|
|
79
|
+
mockPaymentIntentsRetrieve.mockResolvedValue(createMockPaymentIntent('requires_payment_method'));
|
|
80
|
+
const mockPayload = createMockPayload();
|
|
81
|
+
const handler = confirmOrder({
|
|
82
|
+
secretKey
|
|
83
|
+
});
|
|
84
|
+
await expect(handler({
|
|
85
|
+
data: {
|
|
86
|
+
customerEmail: 'test@test.com',
|
|
87
|
+
paymentIntentID: 'pi_123'
|
|
88
|
+
},
|
|
89
|
+
req: createMockReq(mockPayload)
|
|
90
|
+
})).rejects.toThrow('Payment not completed.');
|
|
91
|
+
expect(mockPayload.create).not.toHaveBeenCalled();
|
|
92
|
+
});
|
|
93
|
+
it('should throw when paymentIntent status is canceled', async ()=>{
|
|
94
|
+
mockPaymentIntentsRetrieve.mockResolvedValue(createMockPaymentIntent('canceled'));
|
|
95
|
+
const mockPayload = createMockPayload();
|
|
96
|
+
const handler = confirmOrder({
|
|
97
|
+
secretKey
|
|
98
|
+
});
|
|
99
|
+
await expect(handler({
|
|
100
|
+
data: {
|
|
101
|
+
customerEmail: 'test@test.com',
|
|
102
|
+
paymentIntentID: 'pi_123'
|
|
103
|
+
},
|
|
104
|
+
req: createMockReq(mockPayload)
|
|
105
|
+
})).rejects.toThrow('Payment not completed.');
|
|
106
|
+
expect(mockPayload.create).not.toHaveBeenCalled();
|
|
107
|
+
});
|
|
108
|
+
it('should throw when paymentIntent status is processing', async ()=>{
|
|
109
|
+
mockPaymentIntentsRetrieve.mockResolvedValue(createMockPaymentIntent('processing'));
|
|
110
|
+
const mockPayload = createMockPayload();
|
|
111
|
+
const handler = confirmOrder({
|
|
112
|
+
secretKey
|
|
113
|
+
});
|
|
114
|
+
await expect(handler({
|
|
115
|
+
data: {
|
|
116
|
+
customerEmail: 'test@test.com',
|
|
117
|
+
paymentIntentID: 'pi_123'
|
|
118
|
+
},
|
|
119
|
+
req: createMockReq(mockPayload)
|
|
120
|
+
})).rejects.toThrow('Payment not completed.');
|
|
121
|
+
expect(mockPayload.create).not.toHaveBeenCalled();
|
|
122
|
+
});
|
|
123
|
+
it('should not update cart or transaction when payment has not succeeded', async ()=>{
|
|
124
|
+
mockPaymentIntentsRetrieve.mockResolvedValue(createMockPaymentIntent('requires_payment_method'));
|
|
125
|
+
const mockPayload = createMockPayload();
|
|
126
|
+
const handler = confirmOrder({
|
|
127
|
+
secretKey
|
|
128
|
+
});
|
|
129
|
+
await expect(handler({
|
|
130
|
+
data: {
|
|
131
|
+
customerEmail: 'test@test.com',
|
|
132
|
+
paymentIntentID: 'pi_123'
|
|
133
|
+
},
|
|
134
|
+
req: createMockReq(mockPayload)
|
|
135
|
+
})).rejects.toThrow();
|
|
136
|
+
expect(mockPayload.update).not.toHaveBeenCalled();
|
|
137
|
+
});
|
|
138
|
+
it('should create order when paymentIntent status is succeeded', async ()=>{
|
|
139
|
+
mockPaymentIntentsRetrieve.mockResolvedValue(createMockPaymentIntent('succeeded'));
|
|
140
|
+
const mockPayload = createMockPayload();
|
|
141
|
+
const handler = confirmOrder({
|
|
142
|
+
secretKey
|
|
143
|
+
});
|
|
144
|
+
const result = await handler({
|
|
145
|
+
data: {
|
|
146
|
+
customerEmail: 'test@test.com',
|
|
147
|
+
paymentIntentID: 'pi_123'
|
|
148
|
+
},
|
|
149
|
+
req: createMockReq(mockPayload)
|
|
150
|
+
});
|
|
151
|
+
expect(mockPayload.create).toHaveBeenCalledWith(expect.objectContaining({
|
|
152
|
+
collection: 'orders',
|
|
153
|
+
data: expect.objectContaining({
|
|
154
|
+
amount: 1000,
|
|
155
|
+
currency: 'USD',
|
|
156
|
+
status: 'processing'
|
|
157
|
+
})
|
|
158
|
+
}));
|
|
159
|
+
expect(result).toEqual(expect.objectContaining({
|
|
160
|
+
orderID: 'order-123',
|
|
161
|
+
transactionID: 'txn-123'
|
|
162
|
+
}));
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
//# sourceMappingURL=confirmOrder.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/payments/adapters/stripe/confirmOrder.spec.ts"],"sourcesContent":["import { beforeEach, describe, expect, it, vi } from 'vitest'\n\nconst mockCustomersList = vi.fn()\nconst mockCustomersCreate = vi.fn()\nconst mockPaymentIntentsRetrieve = vi.fn()\n\nvi.mock('stripe', () => {\n const MockStripe = function () {\n return {\n customers: {\n list: mockCustomersList,\n create: mockCustomersCreate,\n },\n paymentIntents: {\n retrieve: mockPaymentIntentsRetrieve,\n },\n }\n }\n\n return { default: MockStripe }\n})\n\nimport { confirmOrder } from './confirmOrder'\n\nconst defaultCartItemsSnapshot = JSON.stringify([{ id: 'item-1', quantity: 1 }])\n\nconst createMockPaymentIntent = (status: string) => ({\n amount: 1000,\n currency: 'usd',\n metadata: {\n cartID: 'cart-123',\n cartItemsSnapshot: defaultCartItemsSnapshot,\n shippingAddress: JSON.stringify({ city: 'Test City' }),\n },\n status,\n})\n\nconst createMockPayload = () => ({\n create: vi.fn().mockResolvedValue({ id: 'order-123' }),\n find: vi.fn().mockResolvedValue({\n docs: [{ id: 'txn-123' }],\n totalDocs: 1,\n }),\n logger: { error: vi.fn() },\n update: vi.fn().mockResolvedValue({}),\n})\n\nconst createMockReq = (payload: ReturnType<typeof createMockPayload>) =>\n ({\n payload,\n user: { id: 'user-123' },\n }) as any\n\ndescribe('confirmOrder - payment status check', () => {\n const secretKey = 'sk_test_123'\n\n beforeEach(() => {\n vi.clearAllMocks()\n\n mockCustomersList.mockResolvedValue({ data: [{ id: 'cus-123' }] })\n mockCustomersCreate.mockResolvedValue({ id: 'cus-new' })\n })\n\n it('should throw when paymentIntent status is requires_payment_method', async () => {\n mockPaymentIntentsRetrieve.mockResolvedValue(createMockPaymentIntent('requires_payment_method'))\n\n const mockPayload = createMockPayload()\n const handler = confirmOrder({ secretKey })\n\n await expect(\n handler({\n data: { customerEmail: 'test@test.com', paymentIntentID: 'pi_123' },\n req: createMockReq(mockPayload),\n }),\n ).rejects.toThrow('Payment not completed.')\n\n expect(mockPayload.create).not.toHaveBeenCalled()\n })\n\n it('should throw when paymentIntent status is canceled', async () => {\n mockPaymentIntentsRetrieve.mockResolvedValue(createMockPaymentIntent('canceled'))\n\n const mockPayload = createMockPayload()\n const handler = confirmOrder({ secretKey })\n\n await expect(\n handler({\n data: { customerEmail: 'test@test.com', paymentIntentID: 'pi_123' },\n req: createMockReq(mockPayload),\n }),\n ).rejects.toThrow('Payment not completed.')\n\n expect(mockPayload.create).not.toHaveBeenCalled()\n })\n\n it('should throw when paymentIntent status is processing', async () => {\n mockPaymentIntentsRetrieve.mockResolvedValue(createMockPaymentIntent('processing'))\n\n const mockPayload = createMockPayload()\n const handler = confirmOrder({ secretKey })\n\n await expect(\n handler({\n data: { customerEmail: 'test@test.com', paymentIntentID: 'pi_123' },\n req: createMockReq(mockPayload),\n }),\n ).rejects.toThrow('Payment not completed.')\n\n expect(mockPayload.create).not.toHaveBeenCalled()\n })\n\n it('should not update cart or transaction when payment has not succeeded', async () => {\n mockPaymentIntentsRetrieve.mockResolvedValue(createMockPaymentIntent('requires_payment_method'))\n\n const mockPayload = createMockPayload()\n const handler = confirmOrder({ secretKey })\n\n await expect(\n handler({\n data: { customerEmail: 'test@test.com', paymentIntentID: 'pi_123' },\n req: createMockReq(mockPayload),\n }),\n ).rejects.toThrow()\n\n expect(mockPayload.update).not.toHaveBeenCalled()\n })\n\n it('should create order when paymentIntent status is succeeded', async () => {\n mockPaymentIntentsRetrieve.mockResolvedValue(createMockPaymentIntent('succeeded'))\n\n const mockPayload = createMockPayload()\n const handler = confirmOrder({ secretKey })\n\n const result = await handler({\n data: { customerEmail: 'test@test.com', paymentIntentID: 'pi_123' },\n req: createMockReq(mockPayload),\n })\n\n expect(mockPayload.create).toHaveBeenCalledWith(\n expect.objectContaining({\n collection: 'orders',\n data: expect.objectContaining({\n amount: 1000,\n currency: 'USD',\n status: 'processing',\n }),\n }),\n )\n\n expect(result).toEqual(\n expect.objectContaining({\n orderID: 'order-123',\n transactionID: 'txn-123',\n }),\n )\n })\n})\n"],"names":["beforeEach","describe","expect","it","vi","mockCustomersList","fn","mockCustomersCreate","mockPaymentIntentsRetrieve","mock","MockStripe","customers","list","create","paymentIntents","retrieve","default","confirmOrder","defaultCartItemsSnapshot","JSON","stringify","id","quantity","createMockPaymentIntent","status","amount","currency","metadata","cartID","cartItemsSnapshot","shippingAddress","city","createMockPayload","mockResolvedValue","find","docs","totalDocs","logger","error","update","createMockReq","payload","user","secretKey","clearAllMocks","data","mockPayload","handler","customerEmail","paymentIntentID","req","rejects","toThrow","not","toHaveBeenCalled","result","toHaveBeenCalledWith","objectContaining","collection","toEqual","orderID","transactionID"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PayloadRequest } from 'payload';
|
|
1
|
+
import type { DefaultDocumentIDType, PayloadRequest } from 'payload';
|
|
2
2
|
import type { Stripe } from 'stripe';
|
|
3
3
|
import type { PaymentAdapter, PaymentAdapterArgs, PaymentAdapterClient, PaymentAdapterClientArgs } from '../../../types/index.js';
|
|
4
4
|
type StripeWebhookHandler = (args: {
|
|
@@ -55,6 +55,7 @@ export type InitiatePaymentReturnType = {
|
|
|
55
55
|
clientSecret: string;
|
|
56
56
|
message: string;
|
|
57
57
|
paymentIntentID: string;
|
|
58
|
+
transactionID: DefaultDocumentIDType;
|
|
58
59
|
};
|
|
59
60
|
export {};
|
|
60
61
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/payments/adapters/stripe/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/payments/adapters/stripe/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAqB,cAAc,EAAE,MAAM,SAAS,CAAA;AACvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEpC,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,yBAAyB,CAAA;AAMhC,KAAK,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACjC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAE1B,KAAK,qBAAqB,GAAG;IAC3B;;OAEG;IACH,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAAA;CAC5C,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACxC,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,kBAAkB,CAAA;AAEtB,eAAO,MAAM,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,cAmDzD,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACxC,cAAc,EAAE,MAAM,CAAA;CACvB,GAAG,wBAAwB,CAAA;AAE5B,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,oBASrE,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,qBAAqB,CAAA;CACrC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/payments/adapters/stripe/index.ts"],"sourcesContent":["import type { Field, GroupField, PayloadRequest } from 'payload'\nimport type { Stripe } from 'stripe'\n\nimport type {\n PaymentAdapter,\n PaymentAdapterArgs,\n PaymentAdapterClient,\n PaymentAdapterClientArgs,\n} from '../../../types/index.js'\n\nimport { confirmOrder } from './confirmOrder.js'\nimport { webhooksEndpoint } from './endpoints/webhooks.js'\nimport { initiatePayment } from './initiatePayment.js'\n\ntype StripeWebhookHandler = (args: {\n event: Stripe.Event\n req: PayloadRequest\n stripe: Stripe\n}) => Promise<void> | void\n\ntype StripeWebhookHandlers = {\n /**\n * Description of the event (e.g., invoice.created or charge.refunded).\n */\n [webhookName: string]: StripeWebhookHandler\n}\n\nexport type StripeAdapterArgs = {\n /**\n * This library's types only reflect the latest API version.\n *\n * We recommend upgrading your account's API Version to the latest version\n * if you wish to use TypeScript with this library.\n *\n * If you wish to remain on your account's default API version,\n * you may pass `null` or another version instead of the latest version,\n * and add a `@ts-ignore` comment here and anywhere the types differ between API versions.\n *\n * @docs https://stripe.com/docs/api/versioning\n */\n apiVersion?: Stripe.StripeConfig['apiVersion']\n appInfo?: Stripe.StripeConfig['appInfo']\n publishableKey: string\n secretKey: string\n webhooks?: StripeWebhookHandlers\n webhookSecret?: string\n} & PaymentAdapterArgs\n\nexport const stripeAdapter: (props: StripeAdapterArgs) => PaymentAdapter = (props) => {\n const { apiVersion, appInfo, groupOverrides, secretKey, webhooks, webhookSecret } = props\n const label = props?.label || 'Stripe'\n\n const baseFields: Field[] = [\n {\n name: 'customerID',\n type: 'text',\n label: 'Stripe Customer ID',\n },\n {\n name: 'paymentIntentID',\n type: 'text',\n label: 'Stripe PaymentIntent ID',\n },\n ]\n\n const groupField: GroupField = {\n name: 'stripe',\n type: 'group',\n ...groupOverrides,\n admin: {\n condition: (data) => {\n const path = 'paymentMethod'\n\n return data?.[path] === 'stripe'\n },\n ...groupOverrides?.admin,\n },\n fields:\n groupOverrides?.fields && typeof groupOverrides?.fields === 'function'\n ? groupOverrides.fields({ defaultFields: baseFields })\n : baseFields,\n }\n\n return {\n name: 'stripe',\n confirmOrder: confirmOrder({\n apiVersion,\n appInfo,\n secretKey,\n }),\n endpoints: [webhooksEndpoint({ apiVersion, appInfo, secretKey, webhooks, webhookSecret })],\n group: groupField,\n initiatePayment: initiatePayment({\n apiVersion,\n appInfo,\n secretKey,\n }),\n label,\n }\n}\n\nexport type StripeAdapterClientArgs = {\n /**\n * This library's types only reflect the latest API version.\n *\n * We recommend upgrading your account's API Version to the latest version\n * if you wish to use TypeScript with this library.\n *\n * If you wish to remain on your account's default API version,\n * you may pass `null` or another version instead of the latest version,\n * and add a `@ts-ignore` comment here and anywhere the types differ between API versions.\n *\n * @docs https://stripe.com/docs/api/versioning\n */\n apiVersion?: Stripe.StripeConfig['apiVersion']\n appInfo?: Stripe.StripeConfig['appInfo']\n publishableKey: string\n} & PaymentAdapterClientArgs\n\nexport const stripeAdapterClient: (props: StripeAdapterClientArgs) => PaymentAdapterClient = (\n props,\n) => {\n return {\n name: 'stripe',\n confirmOrder: true,\n initiatePayment: true,\n label: 'Card',\n }\n}\n\nexport type InitiatePaymentReturnType = {\n clientSecret: string\n message: string\n paymentIntentID: string\n}\n"],"names":["confirmOrder","webhooksEndpoint","initiatePayment","stripeAdapter","props","apiVersion","appInfo","groupOverrides","secretKey","webhooks","webhookSecret","label","baseFields","name","type","groupField","admin","condition","data","path","fields","defaultFields","endpoints","group","stripeAdapterClient"],"mappings":"AAUA,SAASA,YAAY,QAAQ,oBAAmB;AAChD,SAASC,gBAAgB,QAAQ,0BAAyB;AAC1D,SAASC,eAAe,QAAQ,uBAAsB;AAoCtD,OAAO,MAAMC,gBAA8D,CAACC;IAC1E,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEC,cAAc,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,aAAa,EAAE,GAAGN;IACpF,MAAMO,QAAQP,OAAOO,SAAS;IAE9B,MAAMC,aAAsB;QAC1B;YACEC,MAAM;YACNC,MAAM;YACNH,OAAO;QACT;QACA;YACEE,MAAM;YACNC,MAAM;YACNH,OAAO;QACT;KACD;IAED,MAAMI,aAAyB;QAC7BF,MAAM;QACNC,MAAM;QACN,GAAGP,cAAc;QACjBS,OAAO;YACLC,WAAW,CAACC;gBACV,MAAMC,OAAO;gBAEb,OAAOD,MAAM,CAACC,KAAK,KAAK;YAC1B;YACA,GAAGZ,gBAAgBS,KAAK;QAC1B;QACAI,QACEb,gBAAgBa,UAAU,OAAOb,gBAAgBa,WAAW,aACxDb,eAAea,MAAM,CAAC;YAAEC,eAAeT;QAAW,KAClDA;IACR;IAEA,OAAO;QACLC,MAAM;QACNb,cAAcA,aAAa;YACzBK;YACAC;YACAE;QACF;QACAc,WAAW;YAACrB,iBAAiB;gBAAEI;gBAAYC;gBAASE;gBAAWC;gBAAUC;YAAc;SAAG;QAC1Fa,OAAOR;QACPb,iBAAiBA,gBAAgB;YAC/BG;YACAC;YACAE;QACF;QACAG;IACF;AACF,EAAC;AAoBD,OAAO,MAAMa,sBAAgF,CAC3FpB;IAEA,OAAO;QACLS,MAAM;QACNb,cAAc;QACdE,iBAAiB;QACjBS,OAAO;IACT;AACF,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/payments/adapters/stripe/index.ts"],"sourcesContent":["import type { DefaultDocumentIDType, Field, GroupField, PayloadRequest } from 'payload'\nimport type { Stripe } from 'stripe'\n\nimport type {\n PaymentAdapter,\n PaymentAdapterArgs,\n PaymentAdapterClient,\n PaymentAdapterClientArgs,\n} from '../../../types/index.js'\n\nimport { confirmOrder } from './confirmOrder.js'\nimport { webhooksEndpoint } from './endpoints/webhooks.js'\nimport { initiatePayment } from './initiatePayment.js'\n\ntype StripeWebhookHandler = (args: {\n event: Stripe.Event\n req: PayloadRequest\n stripe: Stripe\n}) => Promise<void> | void\n\ntype StripeWebhookHandlers = {\n /**\n * Description of the event (e.g., invoice.created or charge.refunded).\n */\n [webhookName: string]: StripeWebhookHandler\n}\n\nexport type StripeAdapterArgs = {\n /**\n * This library's types only reflect the latest API version.\n *\n * We recommend upgrading your account's API Version to the latest version\n * if you wish to use TypeScript with this library.\n *\n * If you wish to remain on your account's default API version,\n * you may pass `null` or another version instead of the latest version,\n * and add a `@ts-ignore` comment here and anywhere the types differ between API versions.\n *\n * @docs https://stripe.com/docs/api/versioning\n */\n apiVersion?: Stripe.StripeConfig['apiVersion']\n appInfo?: Stripe.StripeConfig['appInfo']\n publishableKey: string\n secretKey: string\n webhooks?: StripeWebhookHandlers\n webhookSecret?: string\n} & PaymentAdapterArgs\n\nexport const stripeAdapter: (props: StripeAdapterArgs) => PaymentAdapter = (props) => {\n const { apiVersion, appInfo, groupOverrides, secretKey, webhooks, webhookSecret } = props\n const label = props?.label || 'Stripe'\n\n const baseFields: Field[] = [\n {\n name: 'customerID',\n type: 'text',\n label: 'Stripe Customer ID',\n },\n {\n name: 'paymentIntentID',\n type: 'text',\n label: 'Stripe PaymentIntent ID',\n },\n ]\n\n const groupField: GroupField = {\n name: 'stripe',\n type: 'group',\n ...groupOverrides,\n admin: {\n condition: (data) => {\n const path = 'paymentMethod'\n\n return data?.[path] === 'stripe'\n },\n ...groupOverrides?.admin,\n },\n fields:\n groupOverrides?.fields && typeof groupOverrides?.fields === 'function'\n ? groupOverrides.fields({ defaultFields: baseFields })\n : baseFields,\n }\n\n return {\n name: 'stripe',\n confirmOrder: confirmOrder({\n apiVersion,\n appInfo,\n secretKey,\n }),\n endpoints: [webhooksEndpoint({ apiVersion, appInfo, secretKey, webhooks, webhookSecret })],\n group: groupField,\n initiatePayment: initiatePayment({\n apiVersion,\n appInfo,\n secretKey,\n }),\n label,\n }\n}\n\nexport type StripeAdapterClientArgs = {\n /**\n * This library's types only reflect the latest API version.\n *\n * We recommend upgrading your account's API Version to the latest version\n * if you wish to use TypeScript with this library.\n *\n * If you wish to remain on your account's default API version,\n * you may pass `null` or another version instead of the latest version,\n * and add a `@ts-ignore` comment here and anywhere the types differ between API versions.\n *\n * @docs https://stripe.com/docs/api/versioning\n */\n apiVersion?: Stripe.StripeConfig['apiVersion']\n appInfo?: Stripe.StripeConfig['appInfo']\n publishableKey: string\n} & PaymentAdapterClientArgs\n\nexport const stripeAdapterClient: (props: StripeAdapterClientArgs) => PaymentAdapterClient = (\n props,\n) => {\n return {\n name: 'stripe',\n confirmOrder: true,\n initiatePayment: true,\n label: 'Card',\n }\n}\n\nexport type InitiatePaymentReturnType = {\n clientSecret: string\n message: string\n paymentIntentID: string\n transactionID: DefaultDocumentIDType\n}\n"],"names":["confirmOrder","webhooksEndpoint","initiatePayment","stripeAdapter","props","apiVersion","appInfo","groupOverrides","secretKey","webhooks","webhookSecret","label","baseFields","name","type","groupField","admin","condition","data","path","fields","defaultFields","endpoints","group","stripeAdapterClient"],"mappings":"AAUA,SAASA,YAAY,QAAQ,oBAAmB;AAChD,SAASC,gBAAgB,QAAQ,0BAAyB;AAC1D,SAASC,eAAe,QAAQ,uBAAsB;AAoCtD,OAAO,MAAMC,gBAA8D,CAACC;IAC1E,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEC,cAAc,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,aAAa,EAAE,GAAGN;IACpF,MAAMO,QAAQP,OAAOO,SAAS;IAE9B,MAAMC,aAAsB;QAC1B;YACEC,MAAM;YACNC,MAAM;YACNH,OAAO;QACT;QACA;YACEE,MAAM;YACNC,MAAM;YACNH,OAAO;QACT;KACD;IAED,MAAMI,aAAyB;QAC7BF,MAAM;QACNC,MAAM;QACN,GAAGP,cAAc;QACjBS,OAAO;YACLC,WAAW,CAACC;gBACV,MAAMC,OAAO;gBAEb,OAAOD,MAAM,CAACC,KAAK,KAAK;YAC1B;YACA,GAAGZ,gBAAgBS,KAAK;QAC1B;QACAI,QACEb,gBAAgBa,UAAU,OAAOb,gBAAgBa,WAAW,aACxDb,eAAea,MAAM,CAAC;YAAEC,eAAeT;QAAW,KAClDA;IACR;IAEA,OAAO;QACLC,MAAM;QACNb,cAAcA,aAAa;YACzBK;YACAC;YACAE;QACF;QACAc,WAAW;YAACrB,iBAAiB;gBAAEI;gBAAYC;gBAASE;gBAAWC;gBAAUC;YAAc;SAAG;QAC1Fa,OAAOR;QACPb,iBAAiBA,gBAAgB;YAC/BG;YACAC;YACAE;QACF;QACAG;IACF;AACF,EAAC;AAoBD,OAAO,MAAMa,sBAAgF,CAC3FpB;IAEA,OAAO;QACLS,MAAM;QACNb,cAAc;QACdE,iBAAiB;QACjBS,OAAO;IACT;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initiatePayment.d.ts","sourceRoot":"","sources":["../../../../src/payments/adapters/stripe/initiatePayment.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAA6B,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9E,KAAK,KAAK,GAAG;IACX,UAAU,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACxC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,WAAW,CAAC,cAAc,CAAC,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"initiatePayment.d.ts","sourceRoot":"","sources":["../../../../src/payments/adapters/stripe/initiatePayment.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAA6B,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9E,KAAK,KAAK,GAAG;IACX,UAAU,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACxC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,WAAW,CAAC,cAAc,CAAC,CAAC,iBAAiB,CAgI1F,CAAA"}
|
|
@@ -5,7 +5,8 @@ export const initiatePayment = (props)=>async ({ data, req, transactionsSlug })=
|
|
|
5
5
|
const customerEmail = data.customerEmail;
|
|
6
6
|
const currency = data.currency;
|
|
7
7
|
const cart = data.cart;
|
|
8
|
-
const
|
|
8
|
+
const summary = data.summary;
|
|
9
|
+
const amount = summary.total;
|
|
9
10
|
const billingAddressFromData = data.billingAddress;
|
|
10
11
|
const shippingAddressFromData = data.shippingAddress;
|
|
11
12
|
if (!secretKey) {
|
|
@@ -68,7 +69,8 @@ export const initiatePayment = (props)=>async ({ data, req, transactionsSlug })=
|
|
|
68
69
|
metadata: {
|
|
69
70
|
cartID: cart.id,
|
|
70
71
|
cartItemsSnapshot: JSON.stringify(flattenedCart),
|
|
71
|
-
shippingAddress: shippingAddressAsString
|
|
72
|
+
shippingAddress: shippingAddressAsString,
|
|
73
|
+
summary: JSON.stringify(summary)
|
|
72
74
|
}
|
|
73
75
|
});
|
|
74
76
|
// Create a transaction for the payment intent in the database
|
|
@@ -97,7 +99,8 @@ export const initiatePayment = (props)=>async ({ data, req, transactionsSlug })=
|
|
|
97
99
|
const returnData = {
|
|
98
100
|
clientSecret: paymentIntent.client_secret || '',
|
|
99
101
|
message: 'Payment initiated successfully',
|
|
100
|
-
paymentIntentID: paymentIntent.id
|
|
102
|
+
paymentIntentID: paymentIntent.id,
|
|
103
|
+
transactionID: transaction.id
|
|
101
104
|
};
|
|
102
105
|
return returnData;
|
|
103
106
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/payments/adapters/stripe/initiatePayment.ts"],"sourcesContent":["import Stripe from 'stripe'\n\nimport type { PaymentAdapter } from '../../../types/index.js'\nimport type { InitiatePaymentReturnType, StripeAdapterArgs } from './index.js'\n\ntype Props = {\n apiVersion?: Stripe.StripeConfig['apiVersion']\n appInfo?: Stripe.StripeConfig['appInfo']\n secretKey: StripeAdapterArgs['secretKey']\n}\n\nexport const initiatePayment: (props: Props) => NonNullable<PaymentAdapter>['initiatePayment'] =\n (props) =>\n async ({ data, req, transactionsSlug }) => {\n const payload = req.payload\n const { apiVersion, appInfo, secretKey } = props || {}\n\n const customerEmail = data.customerEmail\n const currency = data.currency\n const cart = data.cart\n const amount =
|
|
1
|
+
{"version":3,"sources":["../../../../src/payments/adapters/stripe/initiatePayment.ts"],"sourcesContent":["import Stripe from 'stripe'\n\nimport type { PaymentAdapter } from '../../../types/index.js'\nimport type { InitiatePaymentReturnType, StripeAdapterArgs } from './index.js'\n\ntype Props = {\n apiVersion?: Stripe.StripeConfig['apiVersion']\n appInfo?: Stripe.StripeConfig['appInfo']\n secretKey: StripeAdapterArgs['secretKey']\n}\n\nexport const initiatePayment: (props: Props) => NonNullable<PaymentAdapter>['initiatePayment'] =\n (props) =>\n async ({ data, req, transactionsSlug }) => {\n const payload = req.payload\n const { apiVersion, appInfo, secretKey } = props || {}\n\n const customerEmail = data.customerEmail\n const currency = data.currency\n const cart = data.cart\n const summary = data.summary\n const amount = summary.total\n const billingAddressFromData = data.billingAddress\n const shippingAddressFromData = data.shippingAddress\n\n if (!secretKey) {\n throw new Error('Stripe secret key is required.')\n }\n\n if (!currency) {\n throw new Error('Currency is required.')\n }\n\n if (!cart || !cart.items || cart.items.length === 0) {\n throw new Error('Cart is empty or not provided.')\n }\n\n if (!customerEmail || typeof customerEmail !== 'string') {\n throw new Error('A valid customer email is required to make a purchase.')\n }\n\n if (!amount || typeof amount !== 'number' || amount <= 0) {\n throw new Error('A valid amount is required to initiate a payment.')\n }\n\n const stripe = new Stripe(secretKey, {\n // API version can only be the latest, stripe recommends ts ignoring it\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore - ignoring since possible versions are not type safe, only the latest version is recognised\n apiVersion: apiVersion || '2025-06-30.preview',\n appInfo: appInfo || {\n name: 'Stripe Payload Plugin',\n url: 'https://payloadcms.com',\n },\n })\n\n try {\n let customer = (\n await stripe.customers.list({\n email: customerEmail,\n })\n ).data[0]\n\n if (!customer?.id) {\n customer = await stripe.customers.create({\n email: customerEmail,\n })\n }\n\n const flattenedCart = cart.items.map((item) => {\n const productID = typeof item.product === 'object' ? item.product.id : item.product\n const variantID = item.variant\n ? typeof item.variant === 'object'\n ? item.variant.id\n : item.variant\n : undefined\n\n // Preserve any additional custom properties (e.g., deliveryOption, customizations)\n // that may have been added via cartItemMatcher\n const { product: _product, variant: _variant, ...customProperties } = item\n\n return {\n ...customProperties,\n product: productID,\n quantity: item.quantity,\n ...(variantID ? { variant: variantID } : {}),\n }\n })\n\n const shippingAddressAsString = JSON.stringify(shippingAddressFromData)\n\n const paymentIntent = await stripe.paymentIntents.create({\n amount,\n automatic_payment_methods: {\n enabled: true,\n },\n currency,\n customer: customer.id,\n metadata: {\n cartID: cart.id,\n cartItemsSnapshot: JSON.stringify(flattenedCart),\n shippingAddress: shippingAddressAsString,\n summary: JSON.stringify(summary),\n },\n })\n\n // Create a transaction for the payment intent in the database\n const transaction = await payload.create({\n collection: transactionsSlug,\n data: {\n ...(req.user ? { customer: req.user.id } : { customerEmail }),\n amount: paymentIntent.amount,\n billingAddress: billingAddressFromData,\n cart: cart.id,\n currency: paymentIntent.currency.toUpperCase(),\n items: flattenedCart,\n paymentMethod: 'stripe',\n status: 'pending',\n stripe: {\n customerID: customer.id,\n paymentIntentID: paymentIntent.id,\n },\n },\n req,\n })\n\n const returnData: InitiatePaymentReturnType = {\n clientSecret: paymentIntent.client_secret || '',\n message: 'Payment initiated successfully',\n paymentIntentID: paymentIntent.id,\n transactionID: transaction.id,\n }\n\n return returnData\n } catch (error) {\n payload.logger.error({ err: error, msg: 'Error initiating payment with Stripe' })\n\n throw new Error(error instanceof Error ? error.message : 'Unknown error initiating payment')\n }\n }\n"],"names":["Stripe","initiatePayment","props","data","req","transactionsSlug","payload","apiVersion","appInfo","secretKey","customerEmail","currency","cart","summary","amount","total","billingAddressFromData","billingAddress","shippingAddressFromData","shippingAddress","Error","items","length","stripe","name","url","customer","customers","list","email","id","create","flattenedCart","map","item","productID","product","variantID","variant","undefined","_product","_variant","customProperties","quantity","shippingAddressAsString","JSON","stringify","paymentIntent","paymentIntents","automatic_payment_methods","enabled","metadata","cartID","cartItemsSnapshot","transaction","collection","user","toUpperCase","paymentMethod","status","customerID","paymentIntentID","returnData","clientSecret","client_secret","message","transactionID","error","logger","err","msg"],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -25,12 +25,174 @@ type DefaultCartType = {
|
|
|
25
25
|
subtotal?: number;
|
|
26
26
|
};
|
|
27
27
|
export type Cart = DefaultCartType;
|
|
28
|
+
export type LineType = 'custom' | 'discount' | 'gift_card' | 'shipping' | 'subtotal' | 'tax';
|
|
29
|
+
/**
|
|
30
|
+
* A single line item making up a payment summary — items, tax, shipping, discount, etc.
|
|
31
|
+
*/
|
|
32
|
+
export type Line = {
|
|
33
|
+
/**
|
|
34
|
+
* The signed amount of the line in the smallest currency unit (e.g. cents for USD).
|
|
35
|
+
* Positive values increase the total (tax, shipping).
|
|
36
|
+
* Negative values decrease the total (discount, gift card).
|
|
37
|
+
*/
|
|
38
|
+
amount: number;
|
|
39
|
+
/**
|
|
40
|
+
* Human-readable label for display (e.g., "CA Sales Tax", "Standard Shipping").
|
|
41
|
+
*/
|
|
42
|
+
label: string;
|
|
43
|
+
/**
|
|
44
|
+
* Optional metadata for adapter-specific or user-specific data. A common pattern
|
|
45
|
+
* is to stash a `taxable` flag here so later hooks know whether to include this line,
|
|
46
|
+
* or an external identifier for idempotency with a tax/shipping provider.
|
|
47
|
+
*/
|
|
48
|
+
metadata?: Record<string, unknown>;
|
|
49
|
+
/**
|
|
50
|
+
* The type of line.
|
|
51
|
+
*/
|
|
52
|
+
type: LineType;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Full breakdown of the payment amount. Passed through the beforeInitiatePayment hook
|
|
56
|
+
* pipeline and returned in the `/payments/{provider}/initiate` response.
|
|
57
|
+
*
|
|
58
|
+
* The plugin recomputes `total` from `lines` after every hook, so you never need to
|
|
59
|
+
* update `total` yourself inside a hook — just return the updated `lines`. The first
|
|
60
|
+
* line is always the cart subtotal and is managed by the plugin; removing it or changing
|
|
61
|
+
* its amount will throw.
|
|
62
|
+
*/
|
|
63
|
+
export type Summary = {
|
|
64
|
+
/**
|
|
65
|
+
* The ISO currency code used for all line amounts.
|
|
66
|
+
*/
|
|
67
|
+
currency: string;
|
|
68
|
+
/**
|
|
69
|
+
* Ordered list of line items contributing to the total.
|
|
70
|
+
* `lines[0]` is always the cart subtotal and is managed by the plugin.
|
|
71
|
+
*/
|
|
72
|
+
lines: Line[];
|
|
73
|
+
/**
|
|
74
|
+
* The final amount charged. Always equal to `sum(lines[].amount)`. This value is
|
|
75
|
+
* recomputed by the plugin after each hook — any value a hook sets is ignored.
|
|
76
|
+
*/
|
|
77
|
+
total: number;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Context provided to payment hooks during the initiate payment flow.
|
|
81
|
+
*/
|
|
82
|
+
export type PaymentHookContext = {
|
|
83
|
+
/**
|
|
84
|
+
* Billing address, if provided.
|
|
85
|
+
*/
|
|
86
|
+
billingAddress?: TypedCollection['addresses'];
|
|
87
|
+
/**
|
|
88
|
+
* The validated cart with items.
|
|
89
|
+
*/
|
|
90
|
+
cart: Cart;
|
|
91
|
+
/**
|
|
92
|
+
* The currencies configuration.
|
|
93
|
+
*/
|
|
94
|
+
currenciesConfig: CurrenciesConfig;
|
|
95
|
+
/**
|
|
96
|
+
* The resolved currency code.
|
|
97
|
+
*/
|
|
98
|
+
currency: string;
|
|
99
|
+
/**
|
|
100
|
+
* Customer email address.
|
|
101
|
+
*/
|
|
102
|
+
customerEmail: string;
|
|
103
|
+
/**
|
|
104
|
+
* The Payload request object.
|
|
105
|
+
*/
|
|
106
|
+
req: PayloadRequest;
|
|
107
|
+
/**
|
|
108
|
+
* Shipping address, if provided.
|
|
109
|
+
*/
|
|
110
|
+
shippingAddress?: TypedCollection['addresses'];
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Hook that runs before payment initiation, after validation.
|
|
114
|
+
*
|
|
115
|
+
* Receives the current `Summary` (total, currency, lines) and must return an updated
|
|
116
|
+
* `Summary`. Typically you'll spread the incoming summary and append your line:
|
|
117
|
+
*
|
|
118
|
+
* ```ts
|
|
119
|
+
* return {
|
|
120
|
+
* ...summary,
|
|
121
|
+
* lines: [...summary.lines, { type: 'tax', label: 'Sales Tax', amount: 1500 }],
|
|
122
|
+
* }
|
|
123
|
+
* ```
|
|
124
|
+
*
|
|
125
|
+
* The plugin recomputes `summary.total` from `summary.lines` after this hook runs,
|
|
126
|
+
* so you never need to update `total` yourself.
|
|
127
|
+
*
|
|
128
|
+
* Throwing an error aborts the payment.
|
|
129
|
+
*/
|
|
130
|
+
export type BeforeInitiatePaymentHook = (args: {
|
|
131
|
+
/**
|
|
132
|
+
* The running summary — the cart subtotal plus any lines contributed by prior hooks.
|
|
133
|
+
* Return a new summary with your line appended (or existing lines modified).
|
|
134
|
+
*/
|
|
135
|
+
summary: Summary;
|
|
136
|
+
} & PaymentHookContext) => Promise<Summary> | Summary;
|
|
137
|
+
/**
|
|
138
|
+
* Hook that runs before order confirmation.
|
|
139
|
+
* Can inspect data before the adapter confirms. Throwing an error aborts the confirmation.
|
|
140
|
+
*/
|
|
141
|
+
export type BeforeConfirmOrderHook = (args: {
|
|
142
|
+
/**
|
|
143
|
+
* Customer email.
|
|
144
|
+
*/
|
|
145
|
+
customerEmail: string;
|
|
146
|
+
/**
|
|
147
|
+
* All data passed to the confirm-order endpoint.
|
|
148
|
+
*/
|
|
149
|
+
data: Record<string, unknown>;
|
|
150
|
+
/**
|
|
151
|
+
* The Payload request object.
|
|
152
|
+
*/
|
|
153
|
+
req: PayloadRequest;
|
|
154
|
+
}) => Promise<void> | void;
|
|
155
|
+
/**
|
|
156
|
+
* Hook that runs after order confirmation succeeds.
|
|
157
|
+
* For side effects only (sending emails, updating external systems, redeeming gift cards).
|
|
158
|
+
* Return value is ignored. Errors are logged but do not fail the response.
|
|
159
|
+
*/
|
|
160
|
+
export type AfterConfirmOrderHook = (args: {
|
|
161
|
+
/**
|
|
162
|
+
* The created order ID.
|
|
163
|
+
*/
|
|
164
|
+
orderID: DefaultDocumentIDType;
|
|
165
|
+
/**
|
|
166
|
+
* The Payload request object.
|
|
167
|
+
*/
|
|
168
|
+
req: PayloadRequest;
|
|
169
|
+
/**
|
|
170
|
+
* The transaction ID.
|
|
171
|
+
*/
|
|
172
|
+
transactionID: DefaultDocumentIDType;
|
|
173
|
+
}) => Promise<void> | void;
|
|
174
|
+
/**
|
|
175
|
+
* Hook configuration for the payment flow. Used at both the plugin level
|
|
176
|
+
* (runs for all payment methods) and the adapter level (runs for that adapter only).
|
|
177
|
+
*/
|
|
178
|
+
export type PaymentHooks = {
|
|
179
|
+
afterConfirmOrder?: AfterConfirmOrderHook[];
|
|
180
|
+
beforeConfirmOrder?: BeforeConfirmOrderHook[];
|
|
181
|
+
beforeInitiatePayment?: BeforeInitiatePaymentHook[];
|
|
182
|
+
};
|
|
28
183
|
type InitiatePaymentReturnType = {
|
|
29
184
|
/**
|
|
30
185
|
* Allows for additional data to be returned, such as payment method specific data
|
|
31
186
|
*/
|
|
32
187
|
[key: string]: any;
|
|
33
188
|
message: string;
|
|
189
|
+
/**
|
|
190
|
+
* Optional ID of the transaction record created during initiation. When returned,
|
|
191
|
+
* the plugin will write the computed `summary` onto this transaction — so the
|
|
192
|
+
* breakdown (subtotal, tax, shipping, etc.) is available on the record alongside
|
|
193
|
+
* the total.
|
|
194
|
+
*/
|
|
195
|
+
transactionID?: DefaultDocumentIDType;
|
|
34
196
|
};
|
|
35
197
|
type InitiatePayment = (args: {
|
|
36
198
|
/**
|
|
@@ -55,6 +217,12 @@ type InitiatePayment = (args: {
|
|
|
55
217
|
* Shipping address for the payment.
|
|
56
218
|
*/
|
|
57
219
|
shippingAddress?: TypedCollection['addresses'];
|
|
220
|
+
/**
|
|
221
|
+
* The final payment summary after all beforeInitiatePayment hooks have run.
|
|
222
|
+
* Use `summary.total` as the amount to charge and store `summary.lines` if you
|
|
223
|
+
* need to persist the breakdown (e.g. in provider metadata).
|
|
224
|
+
*/
|
|
225
|
+
summary: Summary;
|
|
58
226
|
};
|
|
59
227
|
req: PayloadRequest;
|
|
60
228
|
/**
|
|
@@ -166,6 +334,21 @@ export type PaymentAdapter = {
|
|
|
166
334
|
* ```
|
|
167
335
|
*/
|
|
168
336
|
group: GroupField;
|
|
337
|
+
/**
|
|
338
|
+
* Hooks specific to this payment adapter. These run after plugin-level hooks.
|
|
339
|
+
*
|
|
340
|
+
* @example
|
|
341
|
+
* ```ts
|
|
342
|
+
* hooks: {
|
|
343
|
+
* beforeInitiatePayment: [
|
|
344
|
+
* async ({ subtotal }) => {
|
|
345
|
+
* return [{ type: 'tax', label: 'Stripe Tax', amount: calculatedTax }]
|
|
346
|
+
* },
|
|
347
|
+
* ],
|
|
348
|
+
* }
|
|
349
|
+
* ```
|
|
350
|
+
*/
|
|
351
|
+
hooks?: PaymentHooks;
|
|
169
352
|
/**
|
|
170
353
|
* The function that is called via the `/api/payments/{provider_name}/initiate` endpoint to initiate a payment for an order.
|
|
171
354
|
*
|
|
@@ -406,6 +589,22 @@ export type CustomQuery = {
|
|
|
406
589
|
where?: Where;
|
|
407
590
|
};
|
|
408
591
|
export type PaymentsConfig = {
|
|
592
|
+
/**
|
|
593
|
+
* Hooks that run for all payment methods. Plugin-level hooks execute before adapter-level hooks.
|
|
594
|
+
*
|
|
595
|
+
* @example
|
|
596
|
+
* ```ts
|
|
597
|
+
* hooks: {
|
|
598
|
+
* beforeInitiatePayment: [
|
|
599
|
+
* async ({ subtotal, shippingAddress }) => {
|
|
600
|
+
* const taxRate = await fetchTaxRate(shippingAddress)
|
|
601
|
+
* return [{ type: 'tax', label: 'Sales Tax', amount: Math.round(subtotal * taxRate) }]
|
|
602
|
+
* },
|
|
603
|
+
* ],
|
|
604
|
+
* }
|
|
605
|
+
* ```
|
|
606
|
+
*/
|
|
607
|
+
hooks?: PaymentHooks;
|
|
409
608
|
paymentMethods?: PaymentAdapter[];
|
|
410
609
|
productsQuery?: CustomQuery;
|
|
411
610
|
variantsQuery?: CustomQuery;
|
|
@@ -741,6 +940,7 @@ export type SanitizedEcommercePluginConfig = {
|
|
|
741
940
|
currencies: Required<CurrenciesConfig>;
|
|
742
941
|
inventory?: InventoryConfig;
|
|
743
942
|
payments: {
|
|
943
|
+
hooks?: PaymentHooks;
|
|
744
944
|
paymentMethods: [] | PaymentAdapter[];
|
|
745
945
|
};
|
|
746
946
|
} & Omit<Required<EcommercePluginConfig>, 'access' | 'addresses' | 'currencies' | 'inventory' | 'payments'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,QAAQ,EACR,KAAK,EACL,WAAW,EACX,UAAU,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,eAAe,EACf,SAAS,EACT,KAAK,EACN,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE;IAAE,aAAa,EAAE,KAAK,EAAE,CAAA;CAAE,KAAK,KAAK,EAAE,CAAA;AAE1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE;IACtC,iBAAiB,EAAE,gBAAgB,CAAA;CACpC,KAAK,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAElD,MAAM,MAAM,QAAQ,GAAG;IACrB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,qBAAqB,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;IAC5D,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,qBAAqB,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;CAC9D,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,qBAAqB,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;IAC/D,EAAE,EAAE,qBAAqB,CAAA;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,IAAI,GAAG,eAAe,CAAA;AAElC,KAAK,yBAAyB,GAAG;IAC/B;;OAEG;IAEH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE;QACJ;;WAEG;QACH,cAAc,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;QAC5C;;WAEG;QACH,IAAI,EAAE,IAAI,CAAA;QACV;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAA;QAChB,aAAa,EAAE,MAAM,CAAA;QACrB;;WAEG;QACH,eAAe,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;KAC/C,CAAA;IACD,GAAG,EAAE,cAAc,CAAA;IACnB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAA;CACzB,KAAK,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAA;AAEpE,KAAK,sBAAsB,GAAG;IAC5B;;OAEG;IAEH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,qBAAqB,CAAA;IAC9B,aAAa,EAAE,qBAAqB,CAAA;CACrC,CAAA;AAED,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,IAAI,EAAE;QAEJ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;QAClB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IACD;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,KAAK,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;AAE9D;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,EAAE,YAAY,CAAA;IAC1B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,EAAE,UAAU,CAAA;IACjB;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,EAAE,eAAe,CAAA;IAChC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,OAAO,CAAA;IACrB,eAAe,EAAE,OAAO,CAAA;CACzB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC,CAAA;AAE1C,MAAM,MAAM,QAAQ,GAAG;IACrB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,cAAc,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;IAClF;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,gCAAgC,CAAC,EAAE,kBAAkB,CAAA;IACrD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,0BAA0B,CAAC,EAAE,kBAAkB,CAAA;IAC/C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,8BAA8B,CAAC,EAAE,kBAAkB,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,0BAA0B,CAAC,EAAE,kBAAkB,CAAA;IAC/C;;OAEG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAA;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,cAAc,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,wBAAwB,CAAC,EAAE,kBAAkB,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,8BAA8B,CAAC,EAAE,kBAAkB,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CAAC,EAAE,cAAc,EAAE,CAAA;IACjC,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,aAAa,CAAC,EAAE,WAAW,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB;;;;;;;;;;;;;;;OAeG;IACH,2BAA2B,CAAC,EAAE,kBAAkB,CAAA;IAChD;;OAEG;IACH,aAAa,CAAC,EAAE,cAAc,CAAA;IAC9B;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,EAAE,WAAW,EAAE,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,gDAAgD;IAChD,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;QACtB;;;WAGG;QACH,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,OAAO,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;YAAC,EAAE,EAAE,qBAAqB,CAAA;SAAE,GAAG,qBAAqB,CAAA;QACtF,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;YAAC,EAAE,EAAE,qBAAqB,CAAA;SAAE,GAAG,qBAAqB,CAAA;KACxF,CAAA;IACD,+BAA+B;IAC/B,OAAO,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;QACtB,OAAO,EAAE,qBAAqB,CAAA;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,qBAAqB,CAAA;KAChC,CAAA;CACF,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAA;AAEpE,MAAM,MAAM,WAAW,GAAG;IACxB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,uBAAuB,CAAC,EAAE,kBAAkB,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;OAIG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,mBAAmB,EAAE,QAAQ,EAAE,CAAA;CAChC,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE;IACtC;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACpC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;CACtC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAE1B;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,oBAAoB,EAAE,WAAW,CAAA;IACjC;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAA;IAC9B;;;OAGG;IACH,uBAAuB,CAAC,EAAE,WAAW,CAAA;IACrC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB;;;;OAIG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;;;;OAMG;IACH,MAAM,EAAE,YAAY,CAAA;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,GAAG,OAAO,CAAA;IACrC;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;IAC7B;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B;;;;;;;;;OASG;IACH,SAAS,EAAE,eAAe,CAAA;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,eAAe,CAAA;IACrC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,cAAc,CAAA;IACnC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACpC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAA;CAC5C,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,YAAY,EAAE,yBAAyB,GAAG,YAAY,CAAC,GAC9F,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,GAAG,YAAY,CAAC,CAAC,CAAA;AAExE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,qBAAqB,CAAA;IAC7B,SAAS,EAAE;QAAE,aAAa,EAAE,KAAK,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;IAC9E,UAAU,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IACtC,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,QAAQ,EAAE;QACR,cAAc,EAAE,EAAE,GAAG,cAAc,EAAE,CAAA;KACtC,CAAA;CACF,GAAG,IAAI,CACN,QAAQ,CAAC,qBAAqB,CAAC,EAC/B,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,CACjE,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAA;AAEhE,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAA;AACnE,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAE3D,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,QAAQ,GAAG;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;OAIG;IACH,eAAe,CAAC,EAAE;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,YAAY,CAAA;QACvB,MAAM,CAAC,EAAE,UAAU,CAAA;KACpB,CAAA;IACD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,aAAa,EAAE,cAAc,CAAA;IAC7B;;OAEG;IACH,GAAG,EAAE;QACH;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD;;OAEG;IACH,SAAS,EAAE,cAAc,CAAA;IACzB;;OAEG;IACH,aAAa,EAAE,cAAc,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,cAAc,CAAA;IAC9B,GAAG,CAAC,EAAE,QAAQ,CAAA;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;;;OAIG;IACH,aAAa,CAAC,EAAE,cAAc,CAAA;IAC9B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAA;IACvC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAA;CACpD,CAAA;AAED;;GAEG;AACH,KAAK,gBAAgB,GAAG;IACtB;;OAEG;IACH,OAAO,EAAE,qBAAqB,CAAA;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,qBAAqB,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,IAAI;IACxF;;OAEG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAA;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B;;OAEG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B;;;;OAIG;IACH,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB;;;OAGG;IACH,MAAM,EAAE,eAAe,CAAA;IACvB;;;;OAIG;IACH,YAAY,EAAE,CACZ,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAClD,OAAO,CAAC,OAAO,CAAC,CAAA;IACrB;;OAEG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,CAAA;IAClC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAA;IAClB;;;;OAIG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C;;;OAGG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C;;;;OAIG;IACH,eAAe,EAAE,CACf,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAClD,OAAO,CAAC,OAAO,CAAC,CAAA;IACrB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;;;;;;;OAQG;IACH,SAAS,EAAE,CACT,YAAY,EAAE,qBAAqB,EACnC,YAAY,EAAE,qBAAqB,EACnC,YAAY,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IAC/B;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B;;;;OAIG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,cAAc,EAAE,oBAAoB,EAAE,CAAA;IACtC;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC;;;OAGG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C;;;OAGG;IACH,qBAAqB,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IACrC;;;OAGG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC;;OAEG;IACH,aAAa,EAAE,CAAC,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjG;;OAEG;IACH,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;CACvB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|