@payloadcms/plugin-ecommerce 3.89.0-internal.95c9cba → 3.90.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.
Files changed (31) hide show
  1. package/README.md +6 -0
  2. package/dist/collections/orders/createOrdersCollection.spec.js +20 -0
  3. package/dist/collections/orders/createOrdersCollection.spec.js.map +1 -0
  4. package/dist/endpoints/confirmOrder.d.ts.map +1 -1
  5. package/dist/endpoints/confirmOrder.js +299 -44
  6. package/dist/endpoints/confirmOrder.js.map +1 -1
  7. package/dist/endpoints/confirmOrder.spec.js +509 -0
  8. package/dist/endpoints/confirmOrder.spec.js.map +1 -0
  9. package/dist/fields/statusField.d.ts.map +1 -1
  10. package/dist/fields/statusField.js +5 -0
  11. package/dist/fields/statusField.js.map +1 -1
  12. package/dist/fields/statusField.spec.js +9 -0
  13. package/dist/fields/statusField.spec.js.map +1 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/payments/adapters/stripe/confirmOrder.d.ts.map +1 -1
  18. package/dist/payments/adapters/stripe/confirmOrder.js +107 -75
  19. package/dist/payments/adapters/stripe/confirmOrder.js.map +1 -1
  20. package/dist/payments/adapters/stripe/confirmOrder.spec.js +210 -121
  21. package/dist/payments/adapters/stripe/confirmOrder.spec.js.map +1 -1
  22. package/dist/payments/adapters/stripe/validateSettlement.d.ts +37 -0
  23. package/dist/payments/adapters/stripe/validateSettlement.d.ts.map +1 -0
  24. package/dist/payments/adapters/stripe/validateSettlement.js +157 -0
  25. package/dist/payments/adapters/stripe/validateSettlement.js.map +1 -0
  26. package/dist/payments/adapters/stripe/validateSettlement.spec.js +434 -0
  27. package/dist/payments/adapters/stripe/validateSettlement.spec.js.map +1 -0
  28. package/dist/types/index.d.ts +24 -5
  29. package/dist/types/index.d.ts.map +1 -1
  30. package/dist/types/index.js.map +1 -1
  31. package/package.json +8 -8
@@ -0,0 +1,434 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { getRelationshipID, normalizeCartItems, normalizeEmail, validateSettlement } from './validateSettlement.js';
3
+ const createTransaction = (overrides = {})=>({
4
+ amount: 1000,
5
+ cart: 'cart-123',
6
+ currency: 'USD',
7
+ customer: 'user-123',
8
+ id: 'txn-123',
9
+ items: [
10
+ {
11
+ id: 'item-1',
12
+ product: 'product-123',
13
+ quantity: 1
14
+ }
15
+ ],
16
+ status: 'pending',
17
+ stripe: {
18
+ customerID: 'cus-123',
19
+ paymentIntentID: 'pi_123'
20
+ },
21
+ ...overrides
22
+ });
23
+ const createPaymentIntent = (overrides = {})=>({
24
+ amount: 1000,
25
+ currency: 'usd',
26
+ customer: 'cus-123',
27
+ id: 'pi_123',
28
+ metadata: {
29
+ cartID: 'cart-123'
30
+ },
31
+ status: 'succeeded',
32
+ ...overrides
33
+ });
34
+ const createAuthenticatedValidation = (overrides = {})=>({
35
+ canonicalCartID: 'cart-123',
36
+ cartItemsSnapshot: [
37
+ {
38
+ id: 'item-1',
39
+ product: 'product-123',
40
+ quantity: 1
41
+ }
42
+ ],
43
+ customerEmail: 'buyer@example.com',
44
+ paymentIntent: createPaymentIntent(),
45
+ paymentIntentID: 'pi_123',
46
+ transaction: createTransaction(),
47
+ user: {
48
+ id: 'user-123'
49
+ },
50
+ ...overrides
51
+ });
52
+ describe('Stripe settlement normalization', ()=>{
53
+ it('should extract relationship IDs as strings', ()=>{
54
+ expect(getRelationshipID({
55
+ id: 123
56
+ })).toBe('123');
57
+ expect(getRelationshipID(123)).toBe('123');
58
+ expect(getRelationshipID('123')).toBe('123');
59
+ });
60
+ it('should reject empty or malformed relationship IDs', ()=>{
61
+ expect(getRelationshipID('')).toBeUndefined();
62
+ expect(getRelationshipID({
63
+ id: ''
64
+ })).toBeUndefined();
65
+ expect(getRelationshipID({
66
+ id: {
67
+ id: 'nested-id'
68
+ }
69
+ })).toBeUndefined();
70
+ });
71
+ it('should normalize email case and outer whitespace', ()=>{
72
+ expect(normalizeEmail(' Buyer@Example.COM ')).toBe('buyer@example.com');
73
+ });
74
+ it('should normalize only root relationships while preserving nested custom data', ()=>{
75
+ expect(normalizeCartItems([
76
+ {
77
+ custom: {
78
+ gift: true
79
+ },
80
+ product: {
81
+ id: 123
82
+ },
83
+ quantity: 2,
84
+ selections: [
85
+ {
86
+ variant: {
87
+ id: 'variant-456'
88
+ }
89
+ }
90
+ ],
91
+ variant: 456
92
+ }
93
+ ])).toEqual([
94
+ {
95
+ custom: {
96
+ gift: true
97
+ },
98
+ product: '123',
99
+ quantity: 2,
100
+ selections: [
101
+ {
102
+ variant: {
103
+ id: 'variant-456'
104
+ }
105
+ }
106
+ ],
107
+ variant: '456'
108
+ }
109
+ ]);
110
+ });
111
+ });
112
+ describe('validateSettlement', ()=>{
113
+ it('should accept a valid authenticated settlement that is pending and unlinked', ()=>{
114
+ expect(()=>validateSettlement(createAuthenticatedValidation())).not.toThrow();
115
+ });
116
+ it('should accept a valid guest settlement with normalized emails', ()=>{
117
+ const transaction = createTransaction({
118
+ customer: undefined,
119
+ customerEmail: ' Buyer@Example.com '
120
+ });
121
+ expect(()=>validateSettlement(createAuthenticatedValidation({
122
+ customerEmail: 'buyer@example.COM',
123
+ transaction,
124
+ user: undefined
125
+ }))).not.toThrow();
126
+ });
127
+ it.each([
128
+ {
129
+ label: 'missing',
130
+ user: {}
131
+ },
132
+ {
133
+ label: 'empty',
134
+ user: {
135
+ id: ''
136
+ }
137
+ },
138
+ {
139
+ label: 'malformed',
140
+ user: {
141
+ id: {}
142
+ }
143
+ }
144
+ ])('should reject a $label ID on a present authenticated principal', ({ user })=>{
145
+ const transaction = createTransaction({
146
+ customer: undefined,
147
+ customerEmail: 'buyer@example.com'
148
+ });
149
+ expect(()=>validateSettlement(createAuthenticatedValidation({
150
+ transaction,
151
+ user
152
+ }))).toThrow('customer');
153
+ });
154
+ it('should reject a requested PaymentIntent that does not match the transaction', ()=>{
155
+ expect(()=>validateSettlement(createAuthenticatedValidation({
156
+ transaction: createTransaction({
157
+ stripe: {
158
+ customerID: 'cus-123',
159
+ paymentIntentID: 'pi_other'
160
+ }
161
+ })
162
+ }))).toThrow('PaymentIntent');
163
+ });
164
+ it('should reject a canonical cart that does not match the transaction cart', ()=>{
165
+ expect(()=>validateSettlement(createAuthenticatedValidation({
166
+ transaction: createTransaction({
167
+ cart: 'cart-other'
168
+ })
169
+ }))).toThrow('cart');
170
+ });
171
+ it('should reject a canonical cart that does not match PaymentIntent metadata', ()=>{
172
+ expect(()=>validateSettlement(createAuthenticatedValidation({
173
+ paymentIntent: createPaymentIntent({
174
+ metadata: {
175
+ cartID: 'cart-other'
176
+ }
177
+ })
178
+ }))).toThrow('cart');
179
+ });
180
+ it('should reject an authenticated customer that does not own the transaction', ()=>{
181
+ expect(()=>validateSettlement(createAuthenticatedValidation({
182
+ transaction: createTransaction({
183
+ customer: 'user-other'
184
+ })
185
+ }))).toThrow('customer');
186
+ });
187
+ it('should reject a guest transaction that belongs to an authenticated customer', ()=>{
188
+ expect(()=>validateSettlement(createAuthenticatedValidation({
189
+ transaction: createTransaction({
190
+ customerEmail: 'buyer@example.com'
191
+ }),
192
+ user: undefined
193
+ }))).toThrow('customer');
194
+ });
195
+ it('should reject a guest transaction with a different email', ()=>{
196
+ expect(()=>validateSettlement(createAuthenticatedValidation({
197
+ transaction: createTransaction({
198
+ customer: undefined,
199
+ customerEmail: 'other@example.com'
200
+ }),
201
+ user: undefined
202
+ }))).toThrow('email');
203
+ });
204
+ it('should reject a Stripe customer that does not match the transaction', ()=>{
205
+ expect(()=>validateSettlement(createAuthenticatedValidation({
206
+ paymentIntent: createPaymentIntent({
207
+ customer: 'cus-other'
208
+ })
209
+ }))).toThrow('Stripe customer');
210
+ });
211
+ it('should reject a Stripe amount that does not match the transaction', ()=>{
212
+ expect(()=>validateSettlement(createAuthenticatedValidation({
213
+ paymentIntent: createPaymentIntent({
214
+ amount: 999
215
+ })
216
+ }))).toThrow('amount');
217
+ });
218
+ it('should reject a Stripe currency that does not match after uppercasing', ()=>{
219
+ expect(()=>validateSettlement(createAuthenticatedValidation({
220
+ paymentIntent: createPaymentIntent({
221
+ currency: 'eur'
222
+ })
223
+ }))).toThrow('currency');
224
+ });
225
+ it('should reject a lower-case stored transaction currency', ()=>{
226
+ expect(()=>validateSettlement(createAuthenticatedValidation({
227
+ transaction: createTransaction({
228
+ currency: 'usd'
229
+ })
230
+ }))).toThrow('currency');
231
+ });
232
+ it('should accept relationship objects and scalar IDs as equivalent item data', ()=>{
233
+ const transaction = createTransaction({
234
+ items: [
235
+ {
236
+ id: 'item-1',
237
+ product: {
238
+ id: 123
239
+ },
240
+ quantity: 1,
241
+ variant: {
242
+ id: 456
243
+ }
244
+ }
245
+ ]
246
+ });
247
+ expect(()=>validateSettlement(createAuthenticatedValidation({
248
+ cartItemsSnapshot: [
249
+ {
250
+ id: 'item-1',
251
+ product: '123',
252
+ quantity: 1,
253
+ variant: '456'
254
+ }
255
+ ],
256
+ transaction
257
+ }))).not.toThrow();
258
+ });
259
+ it('should reject an item quantity mismatch', ()=>{
260
+ expect(()=>validateSettlement(createAuthenticatedValidation({
261
+ cartItemsSnapshot: [
262
+ {
263
+ id: 'item-1',
264
+ product: 'product-123',
265
+ quantity: 2
266
+ }
267
+ ]
268
+ }))).toThrow('items');
269
+ });
270
+ it('should reject an item custom-property mismatch', ()=>{
271
+ expect(()=>validateSettlement(createAuthenticatedValidation({
272
+ cartItemsSnapshot: [
273
+ {
274
+ giftMessage: 'surprise',
275
+ id: 'item-1',
276
+ product: 'product-123',
277
+ quantity: 1
278
+ }
279
+ ]
280
+ }))).toThrow('items');
281
+ });
282
+ it('should treat a persisted null root variant as equivalent to an omitted snapshot variant', ()=>{
283
+ expect(()=>validateSettlement(createAuthenticatedValidation({
284
+ transaction: createTransaction({
285
+ items: [
286
+ {
287
+ id: 'item-1',
288
+ product: 'product-123',
289
+ quantity: 1,
290
+ variant: null
291
+ }
292
+ ]
293
+ })
294
+ }))).not.toThrow();
295
+ });
296
+ it('should reject a null root product', ()=>{
297
+ expect(()=>validateSettlement(createAuthenticatedValidation({
298
+ cartItemsSnapshot: [
299
+ {
300
+ id: 'item-1',
301
+ product: null,
302
+ quantity: 1
303
+ }
304
+ ]
305
+ }))).toThrow();
306
+ });
307
+ it.each([
308
+ {
309
+ label: 'malformed object',
310
+ variant: {}
311
+ },
312
+ {
313
+ label: 'blank scalar ID',
314
+ variant: ''
315
+ },
316
+ {
317
+ label: 'blank object ID',
318
+ variant: {
319
+ id: ''
320
+ }
321
+ },
322
+ {
323
+ label: 'nested object ID',
324
+ variant: {
325
+ id: {
326
+ id: 'variant-123'
327
+ }
328
+ }
329
+ }
330
+ ])('should reject a $label for a non-null root variant', ({ variant })=>{
331
+ expect(()=>validateSettlement(createAuthenticatedValidation({
332
+ cartItemsSnapshot: [
333
+ {
334
+ id: 'item-1',
335
+ product: 'product-123',
336
+ quantity: 1,
337
+ variant
338
+ }
339
+ ]
340
+ }))).toThrow();
341
+ });
342
+ it('should reject equivalent empty scalar and object relationship IDs', ()=>{
343
+ expect(()=>validateSettlement(createAuthenticatedValidation({
344
+ cartItemsSnapshot: [
345
+ {
346
+ id: 'item-1',
347
+ product: 'product-123',
348
+ quantity: 1,
349
+ variant: ''
350
+ }
351
+ ],
352
+ transaction: createTransaction({
353
+ items: [
354
+ {
355
+ id: 'item-1',
356
+ product: 'product-123',
357
+ quantity: 1,
358
+ variant: {
359
+ id: ''
360
+ }
361
+ }
362
+ ]
363
+ })
364
+ }))).toThrow();
365
+ });
366
+ it('should preserve nested custom variant null when comparing against a missing nested key', ()=>{
367
+ expect(()=>validateSettlement(createAuthenticatedValidation({
368
+ cartItemsSnapshot: [
369
+ {
370
+ id: 'item-1',
371
+ product: 'product-123',
372
+ quantity: 1,
373
+ selection: {
374
+ variant: null
375
+ }
376
+ }
377
+ ],
378
+ transaction: createTransaction({
379
+ items: [
380
+ {
381
+ id: 'item-1',
382
+ product: 'product-123',
383
+ quantity: 1,
384
+ selection: {}
385
+ }
386
+ ]
387
+ })
388
+ }))).toThrow('items');
389
+ });
390
+ it('should preserve nested custom values while ignoring object key order', ()=>{
391
+ expect(()=>validateSettlement(createAuthenticatedValidation({
392
+ cartItemsSnapshot: [
393
+ {
394
+ id: 'item-1',
395
+ product: 'product-123',
396
+ quantity: 1,
397
+ selection: {
398
+ color: 'blue',
399
+ variant: null
400
+ }
401
+ }
402
+ ],
403
+ transaction: createTransaction({
404
+ items: [
405
+ {
406
+ id: 'item-1',
407
+ product: 'product-123',
408
+ quantity: 1,
409
+ selection: {
410
+ variant: null,
411
+ color: 'blue'
412
+ }
413
+ }
414
+ ]
415
+ })
416
+ }))).not.toThrow();
417
+ });
418
+ it('should reject malformed item metadata', ()=>{
419
+ expect(()=>validateSettlement(createAuthenticatedValidation({
420
+ cartItemsSnapshot: {
421
+ quantity: 1
422
+ }
423
+ }))).toThrow('items');
424
+ });
425
+ it('should reject a PaymentIntent that has not succeeded', ()=>{
426
+ expect(()=>validateSettlement(createAuthenticatedValidation({
427
+ paymentIntent: createPaymentIntent({
428
+ status: 'processing'
429
+ })
430
+ }))).toThrow('completed');
431
+ });
432
+ });
433
+
434
+ //# sourceMappingURL=validateSettlement.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/payments/adapters/stripe/validateSettlement.spec.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport {\n getRelationshipID,\n normalizeCartItems,\n normalizeEmail,\n validateSettlement,\n} from './validateSettlement.js'\n\nconst createTransaction = (overrides: Record<string, unknown> = {}) => ({\n amount: 1000,\n cart: 'cart-123',\n currency: 'USD',\n customer: 'user-123',\n id: 'txn-123',\n items: [{ id: 'item-1', product: 'product-123', quantity: 1 }],\n status: 'pending',\n stripe: {\n customerID: 'cus-123',\n paymentIntentID: 'pi_123',\n },\n ...overrides,\n})\n\nconst createPaymentIntent = (overrides: Record<string, unknown> = {}) => ({\n amount: 1000,\n currency: 'usd',\n customer: 'cus-123',\n id: 'pi_123',\n metadata: {\n cartID: 'cart-123',\n },\n status: 'succeeded',\n ...overrides,\n})\n\nconst createAuthenticatedValidation = (overrides: Record<string, unknown> = {}) => ({\n canonicalCartID: 'cart-123',\n cartItemsSnapshot: [{ id: 'item-1', product: 'product-123', quantity: 1 }],\n customerEmail: 'buyer@example.com',\n paymentIntent: createPaymentIntent(),\n paymentIntentID: 'pi_123',\n transaction: createTransaction(),\n user: { id: 'user-123' },\n ...overrides,\n})\n\ndescribe('Stripe settlement normalization', () => {\n it('should extract relationship IDs as strings', () => {\n expect(getRelationshipID({ id: 123 })).toBe('123')\n expect(getRelationshipID(123)).toBe('123')\n expect(getRelationshipID('123')).toBe('123')\n })\n\n it('should reject empty or malformed relationship IDs', () => {\n expect(getRelationshipID('')).toBeUndefined()\n expect(getRelationshipID({ id: '' })).toBeUndefined()\n expect(getRelationshipID({ id: { id: 'nested-id' } })).toBeUndefined()\n })\n\n it('should normalize email case and outer whitespace', () => {\n expect(normalizeEmail(' Buyer@Example.COM ')).toBe('buyer@example.com')\n })\n\n it('should normalize only root relationships while preserving nested custom data', () => {\n expect(\n normalizeCartItems([\n {\n custom: { gift: true },\n product: { id: 123 },\n quantity: 2,\n selections: [{ variant: { id: 'variant-456' } }],\n variant: 456,\n },\n ]),\n ).toEqual([\n {\n custom: { gift: true },\n product: '123',\n quantity: 2,\n selections: [{ variant: { id: 'variant-456' } }],\n variant: '456',\n },\n ])\n })\n})\n\ndescribe('validateSettlement', () => {\n it('should accept a valid authenticated settlement that is pending and unlinked', () => {\n expect(() => validateSettlement(createAuthenticatedValidation())).not.toThrow()\n })\n\n it('should accept a valid guest settlement with normalized emails', () => {\n const transaction = createTransaction({\n customer: undefined,\n customerEmail: ' Buyer@Example.com ',\n })\n\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n customerEmail: 'buyer@example.COM',\n transaction,\n user: undefined,\n }),\n ),\n ).not.toThrow()\n })\n\n it.each([\n { label: 'missing', user: {} },\n { label: 'empty', user: { id: '' } },\n { label: 'malformed', user: { id: {} } },\n ])('should reject a $label ID on a present authenticated principal', ({ user }) => {\n const transaction = createTransaction({\n customer: undefined,\n customerEmail: 'buyer@example.com',\n })\n\n expect(() => validateSettlement(createAuthenticatedValidation({ transaction, user }))).toThrow(\n 'customer',\n )\n })\n\n it('should reject a requested PaymentIntent that does not match the transaction', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n transaction: createTransaction({\n stripe: { customerID: 'cus-123', paymentIntentID: 'pi_other' },\n }),\n }),\n ),\n ).toThrow('PaymentIntent')\n })\n\n it('should reject a canonical cart that does not match the transaction cart', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n transaction: createTransaction({ cart: 'cart-other' }),\n }),\n ),\n ).toThrow('cart')\n })\n\n it('should reject a canonical cart that does not match PaymentIntent metadata', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n paymentIntent: createPaymentIntent({ metadata: { cartID: 'cart-other' } }),\n }),\n ),\n ).toThrow('cart')\n })\n\n it('should reject an authenticated customer that does not own the transaction', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n transaction: createTransaction({ customer: 'user-other' }),\n }),\n ),\n ).toThrow('customer')\n })\n\n it('should reject a guest transaction that belongs to an authenticated customer', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n transaction: createTransaction({ customerEmail: 'buyer@example.com' }),\n user: undefined,\n }),\n ),\n ).toThrow('customer')\n })\n\n it('should reject a guest transaction with a different email', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n transaction: createTransaction({\n customer: undefined,\n customerEmail: 'other@example.com',\n }),\n user: undefined,\n }),\n ),\n ).toThrow('email')\n })\n\n it('should reject a Stripe customer that does not match the transaction', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n paymentIntent: createPaymentIntent({ customer: 'cus-other' }),\n }),\n ),\n ).toThrow('Stripe customer')\n })\n\n it('should reject a Stripe amount that does not match the transaction', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({ paymentIntent: createPaymentIntent({ amount: 999 }) }),\n ),\n ).toThrow('amount')\n })\n\n it('should reject a Stripe currency that does not match after uppercasing', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n paymentIntent: createPaymentIntent({ currency: 'eur' }),\n }),\n ),\n ).toThrow('currency')\n })\n\n it('should reject a lower-case stored transaction currency', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n transaction: createTransaction({ currency: 'usd' }),\n }),\n ),\n ).toThrow('currency')\n })\n\n it('should accept relationship objects and scalar IDs as equivalent item data', () => {\n const transaction = createTransaction({\n items: [{ id: 'item-1', product: { id: 123 }, quantity: 1, variant: { id: 456 } }],\n })\n\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n cartItemsSnapshot: [{ id: 'item-1', product: '123', quantity: 1, variant: '456' }],\n transaction,\n }),\n ),\n ).not.toThrow()\n })\n\n it('should reject an item quantity mismatch', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n cartItemsSnapshot: [{ id: 'item-1', product: 'product-123', quantity: 2 }],\n }),\n ),\n ).toThrow('items')\n })\n\n it('should reject an item custom-property mismatch', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n cartItemsSnapshot: [\n { giftMessage: 'surprise', id: 'item-1', product: 'product-123', quantity: 1 },\n ],\n }),\n ),\n ).toThrow('items')\n })\n\n it('should treat a persisted null root variant as equivalent to an omitted snapshot variant', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n transaction: createTransaction({\n items: [{ id: 'item-1', product: 'product-123', quantity: 1, variant: null }],\n }),\n }),\n ),\n ).not.toThrow()\n })\n\n it('should reject a null root product', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n cartItemsSnapshot: [{ id: 'item-1', product: null, quantity: 1 }],\n }),\n ),\n ).toThrow()\n })\n\n it.each([\n { label: 'malformed object', variant: {} },\n { label: 'blank scalar ID', variant: '' },\n { label: 'blank object ID', variant: { id: '' } },\n { label: 'nested object ID', variant: { id: { id: 'variant-123' } } },\n ])('should reject a $label for a non-null root variant', ({ variant }) => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n cartItemsSnapshot: [{ id: 'item-1', product: 'product-123', quantity: 1, variant }],\n }),\n ),\n ).toThrow()\n })\n\n it('should reject equivalent empty scalar and object relationship IDs', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n cartItemsSnapshot: [{ id: 'item-1', product: 'product-123', quantity: 1, variant: '' }],\n transaction: createTransaction({\n items: [{ id: 'item-1', product: 'product-123', quantity: 1, variant: { id: '' } }],\n }),\n }),\n ),\n ).toThrow()\n })\n\n it('should preserve nested custom variant null when comparing against a missing nested key', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n cartItemsSnapshot: [\n {\n id: 'item-1',\n product: 'product-123',\n quantity: 1,\n selection: { variant: null },\n },\n ],\n transaction: createTransaction({\n items: [{ id: 'item-1', product: 'product-123', quantity: 1, selection: {} }],\n }),\n }),\n ),\n ).toThrow('items')\n })\n\n it('should preserve nested custom values while ignoring object key order', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n cartItemsSnapshot: [\n {\n id: 'item-1',\n product: 'product-123',\n quantity: 1,\n selection: { color: 'blue', variant: null },\n },\n ],\n transaction: createTransaction({\n items: [\n {\n id: 'item-1',\n product: 'product-123',\n quantity: 1,\n selection: { variant: null, color: 'blue' },\n },\n ],\n }),\n }),\n ),\n ).not.toThrow()\n })\n\n it('should reject malformed item metadata', () => {\n expect(() =>\n validateSettlement(createAuthenticatedValidation({ cartItemsSnapshot: { quantity: 1 } })),\n ).toThrow('items')\n })\n\n it('should reject a PaymentIntent that has not succeeded', () => {\n expect(() =>\n validateSettlement(\n createAuthenticatedValidation({\n paymentIntent: createPaymentIntent({ status: 'processing' }),\n }),\n ),\n ).toThrow('completed')\n })\n})\n"],"names":["describe","expect","it","getRelationshipID","normalizeCartItems","normalizeEmail","validateSettlement","createTransaction","overrides","amount","cart","currency","customer","id","items","product","quantity","status","stripe","customerID","paymentIntentID","createPaymentIntent","metadata","cartID","createAuthenticatedValidation","canonicalCartID","cartItemsSnapshot","customerEmail","paymentIntent","transaction","user","toBe","toBeUndefined","custom","gift","selections","variant","toEqual","not","toThrow","undefined","each","label","giftMessage","selection","color"],"mappings":"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"}
@@ -72,6 +72,17 @@ type ConfirmOrderReturnType = {
72
72
  orderID: DefaultDocumentIDType;
73
73
  transactionID: DefaultDocumentIDType;
74
74
  };
75
+ type FinalizeOrder = (args: {
76
+ /**
77
+ * The provider-validated data used to create the order. Core adds the canonical transaction
78
+ * relationship and owns all settlement side effects.
79
+ */
80
+ orderData: Record<string, unknown>;
81
+ /**
82
+ * The ecommerce transaction that represents this payment.
83
+ */
84
+ transactionID: DefaultDocumentIDType;
85
+ }) => Promise<Record<string, unknown>>;
75
86
  type ConfirmOrder = (args: {
76
87
  /**
77
88
  * The slug of the carts collection, defaults to 'carts'.
@@ -89,6 +100,11 @@ type ConfirmOrder = (args: {
89
100
  [key: string]: any;
90
101
  customerEmail?: string;
91
102
  };
103
+ /**
104
+ * Atomically claims the transaction, creates or finds its canonical order, and applies cart and
105
+ * inventory side effects. Payment adapters must call this exactly once, only after provider validation.
106
+ */
107
+ finalizeOrder: FinalizeOrder;
92
108
  /**
93
109
  * The slug of the orders collection, defaults to 'orders'.
94
110
  */
@@ -114,14 +130,17 @@ export type PaymentAdapter = {
114
130
  * @example
115
131
  *
116
132
  * ```ts
117
- * const confirmOrder: ConfirmOrder = async ({ data: { customerEmail }, ordersSlug, req, transactionsSlug }) => {
133
+ * const confirmOrder: ConfirmOrder = async ({ data, finalizeOrder, req, transactionsSlug }) => {
118
134
  // Confirm the payment with Stripe or another payment provider here
119
- // Create an order in the orders collection here
120
- // Update the record of the payment intent in the transactions collection here
135
+ const transactionID = 'txn_123'
136
+ const order = await finalizeOrder({
137
+ orderData: { status: 'processing' },
138
+ transactionID,
139
+ })
121
140
  return {
122
141
  message: 'Order confirmed successfully',
123
- orderID: 'order_123',
124
- transactionID: 'txn_123',
142
+ orderID: order.id,
143
+ transactionID,
125
144
  // Include any additional data required for the payment method here
126
145
  }
127
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}