@payloadcms/plugin-ecommerce 0.0.1-beta.0 → 3.57.0-internal.36ffe2b

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 (284) hide show
  1. package/dist/collections/addresses/createAddressesCollection.d.ts +21 -0
  2. package/dist/collections/addresses/createAddressesCollection.d.ts.map +1 -0
  3. package/dist/collections/addresses/createAddressesCollection.js +71 -0
  4. package/dist/collections/addresses/createAddressesCollection.js.map +1 -0
  5. package/dist/collections/addresses/defaultAddressFields.d.ts +3 -0
  6. package/dist/collections/addresses/defaultAddressFields.d.ts.map +1 -0
  7. package/dist/collections/addresses/defaultAddressFields.js +72 -0
  8. package/dist/collections/addresses/defaultAddressFields.js.map +1 -0
  9. package/dist/collections/addresses/defaultCountries.d.ts +9 -0
  10. package/dist/collections/addresses/defaultCountries.d.ts.map +1 -0
  11. package/dist/collections/addresses/defaultCountries.js +169 -0
  12. package/dist/collections/addresses/defaultCountries.js.map +1 -0
  13. package/dist/collections/addresses/hooks/beforeChange.d.ts +8 -0
  14. package/dist/collections/addresses/hooks/beforeChange.d.ts.map +1 -0
  15. package/dist/collections/addresses/hooks/beforeChange.js +12 -0
  16. package/dist/collections/addresses/hooks/beforeChange.js.map +1 -0
  17. package/dist/collections/carts/beforeChange.d.ts +8 -0
  18. package/dist/collections/carts/beforeChange.d.ts.map +1 -0
  19. package/dist/collections/carts/beforeChange.js +37 -0
  20. package/dist/collections/carts/beforeChange.js.map +1 -0
  21. package/dist/collections/carts/createCartsCollection.d.ts +29 -0
  22. package/dist/collections/carts/createCartsCollection.d.ts.map +1 -0
  23. package/dist/collections/carts/createCartsCollection.js +138 -0
  24. package/dist/collections/carts/createCartsCollection.js.map +1 -0
  25. package/dist/collections/carts/statusBeforeRead.d.ts +3 -0
  26. package/dist/collections/carts/statusBeforeRead.d.ts.map +1 -0
  27. package/dist/collections/carts/statusBeforeRead.js +18 -0
  28. package/dist/collections/carts/statusBeforeRead.js.map +1 -0
  29. package/dist/collections/orders/createOrdersCollection.d.ts +34 -0
  30. package/dist/collections/orders/createOrdersCollection.d.ts.map +1 -0
  31. package/dist/collections/orders/createOrdersCollection.js +162 -0
  32. package/dist/collections/orders/createOrdersCollection.js.map +1 -0
  33. package/dist/collections/products/createProductsCollection.d.ts +26 -0
  34. package/dist/collections/products/createProductsCollection.d.ts.map +1 -0
  35. package/dist/collections/products/createProductsCollection.js +62 -0
  36. package/dist/collections/products/createProductsCollection.js.map +1 -0
  37. package/dist/collections/transactions/createTransactionsCollection.d.ts +40 -0
  38. package/dist/collections/transactions/createTransactionsCollection.d.ts.map +1 -0
  39. package/dist/collections/transactions/createTransactionsCollection.js +157 -0
  40. package/dist/collections/transactions/createTransactionsCollection.js.map +1 -0
  41. package/dist/collections/variants/createVariantOptionsCollection.d.ts +15 -0
  42. package/dist/collections/variants/createVariantOptionsCollection.d.ts.map +1 -0
  43. package/dist/collections/variants/createVariantOptionsCollection.js +53 -0
  44. package/dist/collections/variants/createVariantOptionsCollection.js.map +1 -0
  45. package/dist/collections/variants/createVariantTypesCollection.d.ts +15 -0
  46. package/dist/collections/variants/createVariantTypesCollection.d.ts.map +1 -0
  47. package/dist/collections/variants/createVariantTypesCollection.js +49 -0
  48. package/dist/collections/variants/createVariantTypesCollection.js.map +1 -0
  49. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.d.ts +8 -0
  50. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.d.ts.map +1 -0
  51. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js +38 -0
  52. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js.map +1 -0
  53. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.d.ts +7 -0
  54. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.d.ts.map +1 -0
  55. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js +53 -0
  56. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js.map +1 -0
  57. package/dist/collections/variants/createVariantsCollection/index.d.ts +24 -0
  58. package/dist/collections/variants/createVariantsCollection/index.d.ts.map +1 -0
  59. package/dist/collections/variants/createVariantsCollection/index.js +101 -0
  60. package/dist/collections/variants/createVariantsCollection/index.js.map +1 -0
  61. package/dist/currencies/index.d.ts +5 -0
  62. package/dist/currencies/index.d.ts.map +1 -0
  63. package/dist/currencies/index.js +20 -0
  64. package/dist/currencies/index.js.map +1 -0
  65. package/dist/endpoints/confirmOrder.d.ts +42 -0
  66. package/dist/endpoints/confirmOrder.d.ts.map +1 -0
  67. package/dist/endpoints/confirmOrder.js +143 -0
  68. package/dist/endpoints/confirmOrder.js.map +1 -0
  69. package/dist/endpoints/initiatePayment.d.ts +43 -0
  70. package/dist/endpoints/initiatePayment.d.ts.map +1 -0
  71. package/dist/endpoints/initiatePayment.js +220 -0
  72. package/dist/endpoints/initiatePayment.js.map +1 -0
  73. package/dist/exports/client/index.d.ts +3 -0
  74. package/dist/exports/client/index.d.ts.map +1 -0
  75. package/dist/exports/client/index.js +4 -0
  76. package/dist/exports/client/index.js.map +1 -0
  77. package/dist/exports/client/react.d.ts +4 -0
  78. package/dist/exports/client/react.d.ts.map +1 -0
  79. package/dist/exports/client/react.js +5 -0
  80. package/dist/exports/client/react.js.map +1 -0
  81. package/dist/exports/payments/stripe.d.ts +2 -0
  82. package/dist/exports/payments/stripe.d.ts.map +1 -0
  83. package/dist/exports/payments/stripe.js +3 -0
  84. package/dist/exports/payments/stripe.js.map +1 -0
  85. package/dist/exports/rsc.d.ts +3 -0
  86. package/dist/exports/rsc.d.ts.map +1 -0
  87. package/dist/exports/rsc.js +4 -0
  88. package/dist/exports/rsc.js.map +1 -0
  89. package/dist/exports/translations.d.ts +2 -0
  90. package/dist/exports/translations.d.ts.map +1 -0
  91. package/dist/exports/translations.js +3 -0
  92. package/dist/exports/translations.js.map +1 -0
  93. package/dist/exports/types.d.ts +2 -0
  94. package/dist/exports/types.d.ts.map +1 -0
  95. package/dist/exports/types.js +3 -0
  96. package/dist/exports/types.js.map +1 -0
  97. package/dist/fields/amountField.d.ts +13 -0
  98. package/dist/fields/amountField.d.ts.map +1 -0
  99. package/dist/fields/amountField.js +33 -0
  100. package/dist/fields/amountField.js.map +1 -0
  101. package/dist/fields/cartItemsField.d.ts +26 -0
  102. package/dist/fields/cartItemsField.d.ts.map +1 -0
  103. package/dist/fields/cartItemsField.js +55 -0
  104. package/dist/fields/cartItemsField.js.map +1 -0
  105. package/dist/fields/currencyField.d.ts +9 -0
  106. package/dist/fields/currencyField.d.ts.map +1 -0
  107. package/dist/fields/currencyField.js +29 -0
  108. package/dist/fields/currencyField.js.map +1 -0
  109. package/dist/fields/inventoryField.d.ts +7 -0
  110. package/dist/fields/inventoryField.d.ts.map +1 -0
  111. package/dist/fields/inventoryField.js +16 -0
  112. package/dist/fields/inventoryField.js.map +1 -0
  113. package/dist/fields/pricesField.d.ts +12 -0
  114. package/dist/fields/pricesField.d.ts.map +1 -0
  115. package/dist/fields/pricesField.js +54 -0
  116. package/dist/fields/pricesField.js.map +1 -0
  117. package/dist/fields/statusField.d.ts +8 -0
  118. package/dist/fields/statusField.d.ts.map +1 -0
  119. package/dist/fields/statusField.js +49 -0
  120. package/dist/fields/statusField.js.map +1 -0
  121. package/dist/fields/variantsFields.d.ts +14 -0
  122. package/dist/fields/variantsFields.d.ts.map +1 -0
  123. package/dist/fields/variantsFields.js +48 -0
  124. package/dist/fields/variantsFields.js.map +1 -0
  125. package/dist/index.d.ts +19 -0
  126. package/dist/index.d.ts.map +1 -0
  127. package/dist/index.js +238 -0
  128. package/dist/index.js.map +1 -0
  129. package/dist/payments/adapters/stripe/confirmOrder.d.ts +11 -0
  130. package/dist/payments/adapters/stripe/confirmOrder.d.ts.map +1 -0
  131. package/dist/payments/adapters/stripe/confirmOrder.js +101 -0
  132. package/dist/payments/adapters/stripe/confirmOrder.js.map +1 -0
  133. package/dist/payments/adapters/stripe/endpoints/webhooks.d.ts +13 -0
  134. package/dist/payments/adapters/stripe/endpoints/webhooks.d.ts.map +1 -0
  135. package/dist/payments/adapters/stripe/endpoints/webhooks.js +53 -0
  136. package/dist/payments/adapters/stripe/endpoints/webhooks.js.map +1 -0
  137. package/dist/payments/adapters/stripe/index.d.ts +60 -0
  138. package/dist/payments/adapters/stripe/index.d.ts.map +1 -0
  139. package/dist/payments/adapters/stripe/index.js +68 -0
  140. package/dist/payments/adapters/stripe/index.js.map +1 -0
  141. package/dist/payments/adapters/stripe/initiatePayment.d.ts +11 -0
  142. package/dist/payments/adapters/stripe/initiatePayment.d.ts.map +1 -0
  143. package/dist/payments/adapters/stripe/initiatePayment.js +102 -0
  144. package/dist/payments/adapters/stripe/initiatePayment.js.map +1 -0
  145. package/dist/react/provider/index.d.ts +41 -0
  146. package/dist/react/provider/index.d.ts.map +1 -0
  147. package/dist/react/provider/index.js +790 -0
  148. package/dist/react/provider/index.js.map +1 -0
  149. package/dist/react/provider/types.d.ts +171 -0
  150. package/dist/react/provider/types.d.ts.map +1 -0
  151. package/dist/react/provider/types.js +3 -0
  152. package/dist/react/provider/types.js.map +1 -0
  153. package/dist/react/provider/utilities.d.ts +9 -0
  154. package/dist/react/provider/utilities.d.ts.map +1 -0
  155. package/dist/react/provider/utilities.js +13 -0
  156. package/dist/react/provider/utilities.js.map +1 -0
  157. package/dist/translations/en.d.ts +3 -0
  158. package/dist/translations/en.d.ts.map +1 -0
  159. package/dist/translations/en.js +86 -0
  160. package/dist/translations/en.js.map +1 -0
  161. package/dist/translations/index.d.ts +7 -0
  162. package/dist/translations/index.d.ts.map +1 -0
  163. package/dist/translations/index.js +6 -0
  164. package/dist/translations/index.js.map +1 -0
  165. package/dist/types.d.ts +658 -0
  166. package/dist/types.d.ts.map +1 -0
  167. package/dist/types.js +3 -0
  168. package/dist/types.js.map +1 -0
  169. package/dist/ui/PriceCell/index.d.ts +12 -0
  170. package/dist/ui/PriceCell/index.d.ts.map +1 -0
  171. package/dist/ui/PriceCell/index.js +38 -0
  172. package/dist/ui/PriceCell/index.js.map +1 -0
  173. package/dist/ui/PriceInput/FormattedInput.d.ts +17 -0
  174. package/dist/ui/PriceInput/FormattedInput.d.ts.map +1 -0
  175. package/dist/ui/PriceInput/FormattedInput.js +146 -0
  176. package/dist/ui/PriceInput/FormattedInput.js.map +1 -0
  177. package/{src/ui/PriceInput/index.scss → dist/ui/PriceInput/index.css} +7 -0
  178. package/dist/ui/PriceInput/index.d.ts +11 -0
  179. package/dist/ui/PriceInput/index.d.ts.map +1 -0
  180. package/dist/ui/PriceInput/index.js +20 -0
  181. package/dist/ui/PriceInput/index.js.map +1 -0
  182. package/dist/ui/PriceRowLabel/index.d.ts +8 -0
  183. package/dist/ui/PriceRowLabel/index.d.ts.map +1 -0
  184. package/dist/ui/PriceRowLabel/index.js +66 -0
  185. package/dist/ui/PriceRowLabel/index.js.map +1 -0
  186. package/dist/ui/VariantOptionsSelector/ErrorBox.d.ts +8 -0
  187. package/dist/ui/VariantOptionsSelector/ErrorBox.d.ts.map +1 -0
  188. package/dist/ui/VariantOptionsSelector/ErrorBox.js +28 -0
  189. package/dist/ui/VariantOptionsSelector/ErrorBox.js.map +1 -0
  190. package/dist/ui/VariantOptionsSelector/OptionsSelect.d.ts +13 -0
  191. package/dist/ui/VariantOptionsSelector/OptionsSelect.d.ts.map +1 -0
  192. package/dist/ui/VariantOptionsSelector/OptionsSelect.js +71 -0
  193. package/dist/ui/VariantOptionsSelector/OptionsSelect.js.map +1 -0
  194. package/dist/ui/VariantOptionsSelector/index.d.ts +6 -0
  195. package/dist/ui/VariantOptionsSelector/index.d.ts.map +1 -0
  196. package/dist/ui/VariantOptionsSelector/index.js +78 -0
  197. package/dist/ui/VariantOptionsSelector/index.js.map +1 -0
  198. package/dist/ui/utilities.d.ts +16 -0
  199. package/dist/ui/utilities.d.ts.map +1 -0
  200. package/dist/ui/utilities.js +26 -0
  201. package/dist/ui/utilities.js.map +1 -0
  202. package/dist/utilities/defaultProductsValidation.d.ts +3 -0
  203. package/dist/utilities/defaultProductsValidation.d.ts.map +1 -0
  204. package/dist/utilities/defaultProductsValidation.js +40 -0
  205. package/dist/utilities/defaultProductsValidation.js.map +1 -0
  206. package/dist/utilities/errorCodes.d.ts +3 -0
  207. package/dist/utilities/errorCodes.d.ts.map +1 -0
  208. package/dist/utilities/errorCodes.js +4 -0
  209. package/dist/utilities/errorCodes.js.map +1 -0
  210. package/dist/utilities/getCollectionSlugMap.d.ts +11 -0
  211. package/dist/utilities/getCollectionSlugMap.d.ts.map +1 -0
  212. package/dist/utilities/getCollectionSlugMap.js +25 -0
  213. package/dist/utilities/getCollectionSlugMap.js.map +1 -0
  214. package/dist/utilities/sanitizePluginConfig.d.ts +7 -0
  215. package/dist/utilities/sanitizePluginConfig.d.ts.map +1 -0
  216. package/dist/utilities/sanitizePluginConfig.js +67 -0
  217. package/dist/utilities/sanitizePluginConfig.js.map +1 -0
  218. package/package.json +98 -1
  219. package/.prettierignore +0 -12
  220. package/.swcrc +0 -24
  221. package/eslint.config.js +0 -18
  222. package/src/addresses/addressesCollection.ts +0 -76
  223. package/src/addresses/defaultAddressFields.ts +0 -83
  224. package/src/addresses/defaultCountries.ts +0 -50
  225. package/src/carts/beforeChange.ts +0 -51
  226. package/src/carts/cartsCollection.ts +0 -146
  227. package/src/currencies/index.ts +0 -29
  228. package/src/endpoints/confirmOrder.ts +0 -312
  229. package/src/endpoints/initiatePayment.ts +0 -322
  230. package/src/exports/addresses.ts +0 -2
  231. package/src/exports/currencies.ts +0 -1
  232. package/src/exports/fields.ts +0 -5
  233. package/src/exports/orders.ts +0 -1
  234. package/src/exports/payments/stripe.ts +0 -1
  235. package/src/exports/plugin.ts +0 -1
  236. package/src/exports/products.ts +0 -1
  237. package/src/exports/react.ts +0 -8
  238. package/src/exports/transactions.ts +0 -1
  239. package/src/exports/translations.ts +0 -1
  240. package/src/exports/types.ts +0 -7
  241. package/src/exports/ui.ts +0 -3
  242. package/src/exports/variants.ts +0 -5
  243. package/src/fields/amountField.ts +0 -43
  244. package/src/fields/cartItemsField.ts +0 -84
  245. package/src/fields/currencyField.ts +0 -39
  246. package/src/fields/inventoryField.ts +0 -22
  247. package/src/fields/pricesField.ts +0 -65
  248. package/src/fields/statusField.ts +0 -57
  249. package/src/fields/variantsFields.ts +0 -56
  250. package/src/index.ts +0 -275
  251. package/src/orders/ordersCollection.ts +0 -157
  252. package/src/payments/adapters/stripe/confirmOrder.ts +0 -123
  253. package/src/payments/adapters/stripe/endpoints/webhooks.ts +0 -69
  254. package/src/payments/adapters/stripe/index.ts +0 -135
  255. package/src/payments/adapters/stripe/initiatePayment.ts +0 -131
  256. package/src/products/productsCollection.ts +0 -78
  257. package/src/react/provider/index.tsx +0 -893
  258. package/src/react/provider/types.ts +0 -184
  259. package/src/react/provider/utilities.ts +0 -22
  260. package/src/transactions/transactionsCollection.ts +0 -166
  261. package/src/translations/en.ts +0 -64
  262. package/src/translations/index.ts +0 -11
  263. package/src/types.ts +0 -403
  264. package/src/ui/PriceInput/FormattedInput.tsx +0 -134
  265. package/src/ui/PriceInput/index.tsx +0 -43
  266. package/src/ui/PriceInput/utilities.ts +0 -46
  267. package/src/ui/PriceRowLabel/index.tsx +0 -56
  268. package/src/ui/VariantOptionsSelector/ErrorBox.tsx +0 -27
  269. package/src/ui/VariantOptionsSelector/OptionsSelect.tsx +0 -78
  270. package/src/ui/VariantOptionsSelector/index.tsx +0 -83
  271. package/src/utilities/defaultProductsValidation.ts +0 -42
  272. package/src/utilities/errorCodes.ts +0 -14
  273. package/src/utilities/getCollectionSlugMap.ts +0 -84
  274. package/src/utilities/sanitizePluginConfig.ts +0 -80
  275. package/src/variants/variantOptionsCollection.ts +0 -59
  276. package/src/variants/variantTypesCollection.ts +0 -55
  277. package/src/variants/variantsCollection/hooks/beforeChange.ts +0 -47
  278. package/src/variants/variantsCollection/hooks/validateOptions.ts +0 -72
  279. package/src/variants/variantsCollection/index.ts +0 -119
  280. package/tsconfig.json +0 -7
  281. package/tsconfig.tsbuildinfo +0 -1
  282. /package/{src → dist}/translations/translation-schema.json +0 -0
  283. /package/{src → dist}/ui/PriceRowLabel/index.css +0 -0
  284. /package/{src → dist}/ui/VariantOptionsSelector/index.css +0 -0
@@ -0,0 +1,20 @@
1
+ export const EUR = {
2
+ code: 'EUR',
3
+ decimals: 2,
4
+ label: 'Euro',
5
+ symbol: '€'
6
+ };
7
+ export const USD = {
8
+ code: 'USD',
9
+ decimals: 2,
10
+ label: 'US Dollar',
11
+ symbol: '$'
12
+ };
13
+ export const GBP = {
14
+ code: 'GBP',
15
+ decimals: 2,
16
+ label: 'British Pound',
17
+ symbol: '£'
18
+ };
19
+
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/currencies/index.ts"],"sourcesContent":["import type { Currency } from '../types.js'\n\nexport const EUR: Currency = {\n code: 'EUR',\n decimals: 2,\n label: 'Euro',\n symbol: '€',\n}\n\nexport const USD: Currency = {\n code: 'USD',\n decimals: 2,\n label: 'US Dollar',\n symbol: '$',\n}\n\nexport const GBP: Currency = {\n code: 'GBP',\n decimals: 2,\n label: 'British Pound',\n symbol: '£',\n}\n"],"names":["EUR","code","decimals","label","symbol","USD","GBP"],"mappings":"AAEA,OAAO,MAAMA,MAAgB;IAC3BC,MAAM;IACNC,UAAU;IACVC,OAAO;IACPC,QAAQ;AACV,EAAC;AAED,OAAO,MAAMC,MAAgB;IAC3BJ,MAAM;IACNC,UAAU;IACVC,OAAO;IACPC,QAAQ;AACV,EAAC;AAED,OAAO,MAAME,MAAgB;IAC3BL,MAAM;IACNC,UAAU;IACVC,OAAO;IACPC,QAAQ;AACV,EAAC"}
@@ -0,0 +1,42 @@
1
+ import { type Endpoint } from 'payload';
2
+ import type { CurrenciesConfig, PaymentAdapter, ProductsValidation } from '../types.js';
3
+ type Args = {
4
+ /**
5
+ * The slug of the carts collection, defaults to 'carts'.
6
+ */
7
+ cartsSlug?: string;
8
+ currenciesConfig: CurrenciesConfig;
9
+ /**
10
+ * The slug of the customers collection, defaults to 'users'.
11
+ */
12
+ customersSlug?: string;
13
+ /**
14
+ * The slug of the orders collection, defaults to 'orders'.
15
+ */
16
+ ordersSlug?: string;
17
+ paymentMethod: PaymentAdapter;
18
+ /**
19
+ * The slug of the products collection, defaults to 'products'.
20
+ */
21
+ productsSlug?: string;
22
+ /**
23
+ * Customise the validation used for checking products or variants before a transaction is created.
24
+ */
25
+ productsValidation?: ProductsValidation;
26
+ /**
27
+ * The slug of the transactions collection, defaults to 'transactions'.
28
+ */
29
+ transactionsSlug?: string;
30
+ /**
31
+ * The slug of the variants collection, defaults to 'variants'.
32
+ */
33
+ variantsSlug?: string;
34
+ };
35
+ type ConfirmOrderHandler = (args: Args) => Endpoint['handler'];
36
+ /**
37
+ * Handles the endpoint for initiating payments. We will handle checking the amount and product and variant prices here before it is sent to the payment provider.
38
+ * This is the first step in the payment process.
39
+ */
40
+ export declare const confirmOrderHandler: ConfirmOrderHandler;
41
+ export {};
42
+ //# sourceMappingURL=confirmOrder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmOrder.d.ts","sourceRoot":"","sources":["../../src/endpoints/confirmOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEvF,KAAK,IAAI,GAAG;IACV;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,cAAc,CAAA;IAC7B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,mBAkL/B,CAAA"}
@@ -0,0 +1,143 @@
1
+ import { addDataAndFileToRequest } from 'payload';
2
+ /**
3
+ * Handles the endpoint for initiating payments. We will handle checking the amount and product and variant prices here before it is sent to the payment provider.
4
+ * This is the first step in the payment process.
5
+ */ export const confirmOrderHandler = ({ cartsSlug = 'carts', currenciesConfig, customersSlug = 'users', ordersSlug = 'orders', paymentMethod, productsSlug = 'products', productsValidation, transactionsSlug = 'transactions', variantsSlug = 'variants' })=>async (req)=>{
6
+ await addDataAndFileToRequest(req);
7
+ const data = req.data;
8
+ const payload = req.payload;
9
+ const user = req.user;
10
+ let currency = currenciesConfig.defaultCurrency;
11
+ let cartID = data?.cartID;
12
+ let cart = undefined;
13
+ let customerEmail = user?.email ?? '';
14
+ if (user) {
15
+ if (user.cart?.docs && Array.isArray(user.cart.docs) && user.cart.docs.length > 0) {
16
+ if (!cartID && user.cart.docs[0]) {
17
+ // Use the user's cart instead
18
+ if (typeof user.cart.docs[0] === 'object') {
19
+ cartID = user.cart.docs[0].id;
20
+ cart = user.cart.docs[0];
21
+ } else {
22
+ cartID = user.cart.docs[0];
23
+ }
24
+ }
25
+ }
26
+ } else {
27
+ // Get the email from the data if user is not available
28
+ if (data?.customerEmail && typeof data.customerEmail === 'string') {
29
+ customerEmail = data.customerEmail;
30
+ } else {
31
+ return Response.json({
32
+ message: 'A customer email is required to make a purchase.'
33
+ }, {
34
+ status: 400
35
+ });
36
+ }
37
+ }
38
+ if (!cart) {
39
+ if (cartID) {
40
+ cart = await payload.findByID({
41
+ id: cartID,
42
+ collection: cartsSlug,
43
+ depth: 2,
44
+ overrideAccess: false,
45
+ select: {
46
+ id: true,
47
+ currency: true,
48
+ customerEmail: true,
49
+ items: true,
50
+ subtotal: true
51
+ },
52
+ user
53
+ });
54
+ if (!cart) {
55
+ return Response.json({
56
+ message: `Cart with ID ${cartID} not found.`
57
+ }, {
58
+ status: 404
59
+ });
60
+ }
61
+ } else {
62
+ return Response.json({
63
+ message: 'Cart ID is required.'
64
+ }, {
65
+ status: 400
66
+ });
67
+ }
68
+ }
69
+ if (cart.currency && typeof cart.currency === 'string') {
70
+ currency = cart.currency;
71
+ }
72
+ // Ensure the currency is provided or inferred in some way
73
+ if (!currency) {
74
+ return Response.json({
75
+ message: 'Currency is required.'
76
+ }, {
77
+ status: 400
78
+ });
79
+ }
80
+ try {
81
+ const paymentResponse = await paymentMethod.confirmOrder({
82
+ customersSlug,
83
+ data: {
84
+ ...data,
85
+ customerEmail
86
+ },
87
+ ordersSlug,
88
+ req,
89
+ transactionsSlug
90
+ });
91
+ if (paymentResponse.transactionID) {
92
+ const transaction = await payload.findByID({
93
+ id: paymentResponse.transactionID,
94
+ collection: transactionsSlug,
95
+ depth: 0,
96
+ select: {
97
+ id: true,
98
+ items: true
99
+ }
100
+ });
101
+ if (transaction && Array.isArray(transaction.items) && transaction.items.length > 0) {
102
+ for (const item of transaction.items){
103
+ if (item.variant) {
104
+ const id = typeof item.variant === 'object' ? item.variant.id : item.variant;
105
+ await payload.db.updateOne({
106
+ id,
107
+ collection: variantsSlug,
108
+ data: {
109
+ inventory: {
110
+ $inc: item.quantity * -1
111
+ }
112
+ }
113
+ });
114
+ } else if (item.product) {
115
+ const id = typeof item.product === 'object' ? item.product.id : item.product;
116
+ await payload.db.updateOne({
117
+ id,
118
+ collection: productsSlug,
119
+ data: {
120
+ inventory: {
121
+ $inc: item.quantity * -1
122
+ }
123
+ }
124
+ });
125
+ }
126
+ }
127
+ }
128
+ }
129
+ if ('paymentResponse.transactionID' in paymentResponse && paymentResponse.transactionID) {
130
+ delete paymentResponse.transactionID;
131
+ }
132
+ return Response.json(paymentResponse);
133
+ } catch (error) {
134
+ payload.logger.error(error, 'Error confirming order.');
135
+ return Response.json({
136
+ message: 'Error confirming order.'
137
+ }, {
138
+ status: 500
139
+ });
140
+ }
141
+ };
142
+
143
+ //# sourceMappingURL=confirmOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/endpoints/confirmOrder.ts"],"sourcesContent":["import { addDataAndFileToRequest, type DefaultDocumentIDType, type Endpoint } from 'payload'\n\nimport type { CurrenciesConfig, PaymentAdapter, ProductsValidation } from '../types.js'\n\ntype Args = {\n /**\n * The slug of the carts collection, defaults to 'carts'.\n */\n cartsSlug?: string\n currenciesConfig: CurrenciesConfig\n /**\n * The slug of the customers collection, defaults to 'users'.\n */\n customersSlug?: string\n /**\n * The slug of the orders collection, defaults to 'orders'.\n */\n ordersSlug?: string\n paymentMethod: PaymentAdapter\n /**\n * The slug of the products collection, defaults to 'products'.\n */\n productsSlug?: string\n /**\n * Customise the validation used for checking products or variants before a transaction is created.\n */\n productsValidation?: ProductsValidation\n /**\n * The slug of the transactions collection, defaults to 'transactions'.\n */\n transactionsSlug?: string\n /**\n * The slug of the variants collection, defaults to 'variants'.\n */\n variantsSlug?: string\n}\n\ntype ConfirmOrderHandler = (args: Args) => Endpoint['handler']\n\n/**\n * Handles the endpoint for initiating payments. We will handle checking the amount and product and variant prices here before it is sent to the payment provider.\n * This is the first step in the payment process.\n */\nexport const confirmOrderHandler: ConfirmOrderHandler =\n ({\n cartsSlug = 'carts',\n currenciesConfig,\n customersSlug = 'users',\n ordersSlug = 'orders',\n paymentMethod,\n productsSlug = 'products',\n productsValidation,\n transactionsSlug = 'transactions',\n variantsSlug = 'variants',\n }) =>\n async (req) => {\n await addDataAndFileToRequest(req)\n\n const data = req.data\n const payload = req.payload\n const user = req.user\n\n let currency: string = currenciesConfig.defaultCurrency\n let cartID: DefaultDocumentIDType = data?.cartID\n let cart = undefined\n let customerEmail: string = user?.email ?? ''\n\n if (user) {\n if (user.cart?.docs && Array.isArray(user.cart.docs) && user.cart.docs.length > 0) {\n if (!cartID && user.cart.docs[0]) {\n // Use the user's cart instead\n if (typeof user.cart.docs[0] === 'object') {\n cartID = user.cart.docs[0].id\n cart = user.cart.docs[0]\n } else {\n cartID = user.cart.docs[0]\n }\n }\n }\n } else {\n // Get the email from the data if user is not available\n if (data?.customerEmail && typeof data.customerEmail === 'string') {\n customerEmail = data.customerEmail\n } else {\n return Response.json(\n {\n message: 'A customer email is required to make a purchase.',\n },\n {\n status: 400,\n },\n )\n }\n }\n\n if (!cart) {\n if (cartID) {\n cart = await payload.findByID({\n id: cartID,\n collection: cartsSlug,\n depth: 2,\n overrideAccess: false,\n select: {\n id: true,\n currency: true,\n customerEmail: true,\n items: true,\n subtotal: true,\n },\n user,\n })\n\n if (!cart) {\n return Response.json(\n {\n message: `Cart with ID ${cartID} not found.`,\n },\n {\n status: 404,\n },\n )\n }\n } else {\n return Response.json(\n {\n message: 'Cart ID is required.',\n },\n {\n status: 400,\n },\n )\n }\n }\n\n if (cart.currency && typeof cart.currency === 'string') {\n currency = cart.currency\n }\n\n // Ensure the currency is provided or inferred in some way\n if (!currency) {\n return Response.json(\n {\n message: 'Currency is required.',\n },\n {\n status: 400,\n },\n )\n }\n\n try {\n const paymentResponse = await paymentMethod.confirmOrder({\n customersSlug,\n data: {\n ...data,\n customerEmail,\n },\n ordersSlug,\n req,\n transactionsSlug,\n })\n\n if (paymentResponse.transactionID) {\n const transaction = await payload.findByID({\n id: paymentResponse.transactionID,\n collection: transactionsSlug,\n depth: 0,\n select: {\n id: true,\n items: true,\n },\n })\n\n if (transaction && Array.isArray(transaction.items) && transaction.items.length > 0) {\n for (const item of transaction.items) {\n if (item.variant) {\n const id = typeof item.variant === 'object' ? item.variant.id : item.variant\n\n await payload.db.updateOne({\n id,\n collection: variantsSlug,\n data: {\n inventory: {\n $inc: item.quantity * -1,\n },\n },\n })\n } else if (item.product) {\n const id = typeof item.product === 'object' ? item.product.id : item.product\n\n await payload.db.updateOne({\n id,\n collection: productsSlug,\n data: {\n inventory: {\n $inc: item.quantity * -1,\n },\n },\n })\n }\n }\n }\n }\n\n if ('paymentResponse.transactionID' in paymentResponse && paymentResponse.transactionID) {\n delete (paymentResponse as Partial<typeof paymentResponse>).transactionID\n }\n\n return Response.json(paymentResponse)\n } catch (error) {\n payload.logger.error(error, 'Error confirming order.')\n\n return Response.json(\n {\n message: 'Error confirming order.',\n },\n {\n status: 500,\n },\n )\n }\n }\n"],"names":["addDataAndFileToRequest","confirmOrderHandler","cartsSlug","currenciesConfig","customersSlug","ordersSlug","paymentMethod","productsSlug","productsValidation","transactionsSlug","variantsSlug","req","data","payload","user","currency","defaultCurrency","cartID","cart","undefined","customerEmail","email","docs","Array","isArray","length","id","Response","json","message","status","findByID","collection","depth","overrideAccess","select","items","subtotal","paymentResponse","confirmOrder","transactionID","transaction","item","variant","db","updateOne","inventory","$inc","quantity","product","error","logger"],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { type Endpoint } from 'payload';
2
+ import type { CurrenciesConfig, PaymentAdapter, ProductsValidation, SanitizedEcommercePluginConfig } from '../types.js';
3
+ type Args = {
4
+ /**
5
+ * The slug of the carts collection, defaults to 'carts'.
6
+ */
7
+ cartsSlug?: string;
8
+ currenciesConfig: CurrenciesConfig;
9
+ /**
10
+ * The slug of the customers collection, defaults to 'users'.
11
+ */
12
+ customersSlug?: string;
13
+ /**
14
+ * Track inventory stock for the products and variants.
15
+ * Accepts an object to override the default field name.
16
+ */
17
+ inventory?: SanitizedEcommercePluginConfig['inventory'];
18
+ paymentMethod: PaymentAdapter;
19
+ /**
20
+ * The slug of the products collection, defaults to 'products'.
21
+ */
22
+ productsSlug?: string;
23
+ /**
24
+ * Customise the validation used for checking products or variants before a transaction is created.
25
+ */
26
+ productsValidation?: ProductsValidation;
27
+ /**
28
+ * The slug of the transactions collection, defaults to 'transactions'.
29
+ */
30
+ transactionsSlug?: string;
31
+ /**
32
+ * The slug of the variants collection, defaults to 'variants'.
33
+ */
34
+ variantsSlug?: string;
35
+ };
36
+ type InitiatePayment = (args: Args) => Endpoint['handler'];
37
+ /**
38
+ * Handles the endpoint for initiating payments. We will handle checking the amount and product and variant prices here before it is sent to the payment provider.
39
+ * This is the first step in the payment process.
40
+ */
41
+ export declare const initiatePaymentHandler: InitiatePayment;
42
+ export {};
43
+ //# sourceMappingURL=initiatePayment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initiatePayment.d.ts","sourceRoot":"","sources":["../../src/endpoints/initiatePayment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE5F,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,8BAA8B,EAC/B,MAAM,aAAa,CAAA;AAIpB,KAAK,IAAI,GAAG;IACV;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,8BAA8B,CAAC,WAAW,CAAC,CAAA;IACvD,aAAa,EAAE,cAAc,CAAA;IAC7B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,eA0RlC,CAAA"}
@@ -0,0 +1,220 @@
1
+ import { addDataAndFileToRequest } from 'payload';
2
+ import { defaultProductsValidation } from '../utilities/defaultProductsValidation.js';
3
+ /**
4
+ * Handles the endpoint for initiating payments. We will handle checking the amount and product and variant prices here before it is sent to the payment provider.
5
+ * This is the first step in the payment process.
6
+ */ export const initiatePaymentHandler = ({ cartsSlug = 'carts', currenciesConfig, customersSlug = 'users', paymentMethod, productsSlug = 'products', productsValidation, transactionsSlug = 'transactions', variantsSlug = 'variants' })=>async (req)=>{
7
+ await addDataAndFileToRequest(req);
8
+ const data = req.data;
9
+ const payload = req.payload;
10
+ const user = req.user;
11
+ let currency = currenciesConfig.defaultCurrency;
12
+ let cartID = data?.cartID;
13
+ let cart = undefined;
14
+ const billingAddress = data?.billingAddress;
15
+ const shippingAddress = data?.shippingAddress;
16
+ let customerEmail = user?.email ?? '';
17
+ if (user) {
18
+ if (user.cart?.docs && Array.isArray(user.cart.docs) && user.cart.docs.length > 0) {
19
+ if (!cartID && user.cart.docs[0]) {
20
+ // Use the user's cart instead
21
+ if (typeof user.cart.docs[0] === 'object') {
22
+ cartID = user.cart.docs[0].id;
23
+ cart = user.cart.docs[0];
24
+ } else {
25
+ cartID = user.cart.docs[0];
26
+ }
27
+ }
28
+ }
29
+ } else {
30
+ // Get the email from the data if user is not available
31
+ if (data?.customerEmail && typeof data.customerEmail === 'string') {
32
+ customerEmail = data.customerEmail;
33
+ } else {
34
+ return Response.json({
35
+ message: 'A customer email is required to make a purchase.'
36
+ }, {
37
+ status: 400
38
+ });
39
+ }
40
+ }
41
+ if (!cart) {
42
+ if (cartID) {
43
+ cart = await payload.findByID({
44
+ id: cartID,
45
+ collection: cartsSlug,
46
+ depth: 2,
47
+ overrideAccess: false,
48
+ select: {
49
+ id: true,
50
+ currency: true,
51
+ customerEmail: true,
52
+ items: true,
53
+ subtotal: true
54
+ },
55
+ user
56
+ });
57
+ if (!cart) {
58
+ return Response.json({
59
+ message: `Cart with ID ${cartID} not found.`
60
+ }, {
61
+ status: 404
62
+ });
63
+ }
64
+ } else {
65
+ return Response.json({
66
+ message: 'Cart ID is required.'
67
+ }, {
68
+ status: 400
69
+ });
70
+ }
71
+ }
72
+ if (cart.currency && typeof cart.currency === 'string') {
73
+ currency = cart.currency;
74
+ }
75
+ // Ensure the currency is provided or inferred in some way
76
+ if (!currency) {
77
+ return Response.json({
78
+ message: 'Currency is required.'
79
+ }, {
80
+ status: 400
81
+ });
82
+ }
83
+ // Ensure the selected currency is supported
84
+ if (!currenciesConfig.supportedCurrencies.find((c)=>c.code.toLocaleLowerCase() === currency.toLocaleLowerCase())) {
85
+ return Response.json({
86
+ message: `Currency ${currency} is not supported.`
87
+ }, {
88
+ status: 400
89
+ });
90
+ }
91
+ // Verify the cart is available and items are present in an array
92
+ if (!cart || !cart.items || !Array.isArray(cart.items) || cart.items.length === 0) {
93
+ return Response.json({
94
+ message: 'Cart is required and must contain at least one item.'
95
+ }, {
96
+ status: 400
97
+ });
98
+ }
99
+ for (const item of cart.items){
100
+ // Target field to check the price based on the currency so we can validate the total
101
+ const priceField = `priceIn${currency.toUpperCase()}`;
102
+ const quantity = item.quantity || 1;
103
+ // If the item has a product but no variant, we assume the product has a price in the specified currency
104
+ if (item.product && !item.variant) {
105
+ const id = typeof item.product === 'object' ? item.product.id : item.product;
106
+ const product = await payload.findByID({
107
+ id,
108
+ collection: productsSlug,
109
+ depth: 0,
110
+ select: {
111
+ inventory: true,
112
+ [priceField]: true
113
+ }
114
+ });
115
+ if (!product) {
116
+ return Response.json({
117
+ message: `Product with ID ${item.product} not found.`
118
+ }, {
119
+ status: 404
120
+ });
121
+ }
122
+ try {
123
+ if (productsValidation) {
124
+ await productsValidation({
125
+ currenciesConfig,
126
+ currency,
127
+ product,
128
+ quantity
129
+ });
130
+ } else {
131
+ await defaultProductsValidation({
132
+ currenciesConfig,
133
+ currency,
134
+ product,
135
+ quantity
136
+ });
137
+ }
138
+ } catch (error) {
139
+ payload.logger.error(error, 'Error validating product or variant during payment initiation.');
140
+ return Response.json({
141
+ message: error,
142
+ ...error instanceof Error ? {
143
+ cause: error.cause
144
+ } : {}
145
+ }, {
146
+ status: 400
147
+ });
148
+ }
149
+ if (item.variant) {
150
+ const id = typeof item.variant === 'object' ? item.variant.id : item.variant;
151
+ const variant = await payload.findByID({
152
+ id,
153
+ collection: variantsSlug,
154
+ depth: 0,
155
+ select: {
156
+ inventory: true,
157
+ [priceField]: true
158
+ }
159
+ });
160
+ if (!variant) {
161
+ return Response.json({
162
+ message: `Variant with ID ${item.variant} not found.`
163
+ }, {
164
+ status: 404
165
+ });
166
+ }
167
+ try {
168
+ if (productsValidation) {
169
+ await productsValidation({
170
+ currenciesConfig,
171
+ currency,
172
+ product: item.product,
173
+ quantity,
174
+ variant
175
+ });
176
+ } else {
177
+ await defaultProductsValidation({
178
+ currenciesConfig,
179
+ currency,
180
+ product: item.product,
181
+ quantity,
182
+ variant
183
+ });
184
+ }
185
+ } catch (error) {
186
+ payload.logger.error(error, 'Error validating product or variant during payment initiation.');
187
+ return Response.json({
188
+ message: error
189
+ }, {
190
+ status: 400
191
+ });
192
+ }
193
+ }
194
+ }
195
+ }
196
+ try {
197
+ const paymentResponse = await paymentMethod.initiatePayment({
198
+ customersSlug,
199
+ data: {
200
+ billingAddress,
201
+ cart,
202
+ currency,
203
+ customerEmail,
204
+ shippingAddress
205
+ },
206
+ req,
207
+ transactionsSlug
208
+ });
209
+ return Response.json(paymentResponse);
210
+ } catch (error) {
211
+ payload.logger.error(error, 'Error initiating payment.');
212
+ return Response.json({
213
+ message: 'Error initiating payment.'
214
+ }, {
215
+ status: 500
216
+ });
217
+ }
218
+ };
219
+
220
+ //# sourceMappingURL=initiatePayment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/endpoints/initiatePayment.ts"],"sourcesContent":["import { addDataAndFileToRequest, type DefaultDocumentIDType, type Endpoint } from 'payload'\n\nimport type {\n CurrenciesConfig,\n PaymentAdapter,\n ProductsValidation,\n SanitizedEcommercePluginConfig,\n} from '../types.js'\n\nimport { defaultProductsValidation } from '../utilities/defaultProductsValidation.js'\n\ntype Args = {\n /**\n * The slug of the carts collection, defaults to 'carts'.\n */\n cartsSlug?: string\n currenciesConfig: CurrenciesConfig\n /**\n * The slug of the customers collection, defaults to 'users'.\n */\n customersSlug?: string\n /**\n * Track inventory stock for the products and variants.\n * Accepts an object to override the default field name.\n */\n inventory?: SanitizedEcommercePluginConfig['inventory']\n paymentMethod: PaymentAdapter\n /**\n * The slug of the products collection, defaults to 'products'.\n */\n productsSlug?: string\n /**\n * Customise the validation used for checking products or variants before a transaction is created.\n */\n productsValidation?: ProductsValidation\n /**\n * The slug of the transactions collection, defaults to 'transactions'.\n */\n transactionsSlug?: string\n /**\n * The slug of the variants collection, defaults to 'variants'.\n */\n variantsSlug?: string\n}\n\ntype InitiatePayment = (args: Args) => Endpoint['handler']\n\n/**\n * Handles the endpoint for initiating payments. We will handle checking the amount and product and variant prices here before it is sent to the payment provider.\n * This is the first step in the payment process.\n */\nexport const initiatePaymentHandler: InitiatePayment =\n ({\n cartsSlug = 'carts',\n currenciesConfig,\n customersSlug = 'users',\n paymentMethod,\n productsSlug = 'products',\n productsValidation,\n transactionsSlug = 'transactions',\n variantsSlug = 'variants',\n }) =>\n async (req) => {\n await addDataAndFileToRequest(req)\n const data = req.data\n const payload = req.payload\n const user = req.user\n\n let currency: string = currenciesConfig.defaultCurrency\n let cartID: DefaultDocumentIDType = data?.cartID\n let cart = undefined\n const billingAddress = data?.billingAddress\n const shippingAddress = data?.shippingAddress\n\n let customerEmail: string = user?.email ?? ''\n\n if (user) {\n if (user.cart?.docs && Array.isArray(user.cart.docs) && user.cart.docs.length > 0) {\n if (!cartID && user.cart.docs[0]) {\n // Use the user's cart instead\n if (typeof user.cart.docs[0] === 'object') {\n cartID = user.cart.docs[0].id\n cart = user.cart.docs[0]\n } else {\n cartID = user.cart.docs[0]\n }\n }\n }\n } else {\n // Get the email from the data if user is not available\n if (data?.customerEmail && typeof data.customerEmail === 'string') {\n customerEmail = data.customerEmail\n } else {\n return Response.json(\n {\n message: 'A customer email is required to make a purchase.',\n },\n {\n status: 400,\n },\n )\n }\n }\n\n if (!cart) {\n if (cartID) {\n cart = await payload.findByID({\n id: cartID,\n collection: cartsSlug,\n depth: 2,\n overrideAccess: false,\n select: {\n id: true,\n currency: true,\n customerEmail: true,\n items: true,\n subtotal: true,\n },\n user,\n })\n\n if (!cart) {\n return Response.json(\n {\n message: `Cart with ID ${cartID} not found.`,\n },\n {\n status: 404,\n },\n )\n }\n } else {\n return Response.json(\n {\n message: 'Cart ID is required.',\n },\n {\n status: 400,\n },\n )\n }\n }\n\n if (cart.currency && typeof cart.currency === 'string') {\n currency = cart.currency\n }\n\n // Ensure the currency is provided or inferred in some way\n if (!currency) {\n return Response.json(\n {\n message: 'Currency is required.',\n },\n {\n status: 400,\n },\n )\n }\n\n // Ensure the selected currency is supported\n if (\n !currenciesConfig.supportedCurrencies.find(\n (c) => c.code.toLocaleLowerCase() === currency.toLocaleLowerCase(),\n )\n ) {\n return Response.json(\n {\n message: `Currency ${currency} is not supported.`,\n },\n {\n status: 400,\n },\n )\n }\n\n // Verify the cart is available and items are present in an array\n if (!cart || !cart.items || !Array.isArray(cart.items) || cart.items.length === 0) {\n return Response.json(\n {\n message: 'Cart is required and must contain at least one item.',\n },\n {\n status: 400,\n },\n )\n }\n\n for (const item of cart.items) {\n // Target field to check the price based on the currency so we can validate the total\n const priceField = `priceIn${currency.toUpperCase()}`\n const quantity = item.quantity || 1\n\n // If the item has a product but no variant, we assume the product has a price in the specified currency\n if (item.product && !item.variant) {\n const id = typeof item.product === 'object' ? item.product.id : item.product\n\n const product = await payload.findByID({\n id,\n collection: productsSlug,\n depth: 0,\n select: {\n inventory: true,\n [priceField]: true,\n },\n })\n\n if (!product) {\n return Response.json(\n {\n message: `Product with ID ${item.product} not found.`,\n },\n {\n status: 404,\n },\n )\n }\n\n try {\n if (productsValidation) {\n await productsValidation({ currenciesConfig, currency, product, quantity })\n } else {\n await defaultProductsValidation({\n currenciesConfig,\n currency,\n product,\n quantity,\n })\n }\n } catch (error) {\n payload.logger.error(\n error,\n 'Error validating product or variant during payment initiation.',\n )\n\n return Response.json(\n {\n message: error,\n ...(error instanceof Error ? { cause: error.cause } : {}),\n },\n {\n status: 400,\n },\n )\n }\n\n if (item.variant) {\n const id = typeof item.variant === 'object' ? item.variant.id : item.variant\n\n const variant = await payload.findByID({\n id,\n collection: variantsSlug,\n depth: 0,\n select: {\n inventory: true,\n [priceField]: true,\n },\n })\n\n if (!variant) {\n return Response.json(\n {\n message: `Variant with ID ${item.variant} not found.`,\n },\n {\n status: 404,\n },\n )\n }\n\n try {\n if (productsValidation) {\n await productsValidation({\n currenciesConfig,\n currency,\n product: item.product,\n quantity,\n variant,\n })\n } else {\n await defaultProductsValidation({\n currenciesConfig,\n currency,\n product: item.product,\n quantity,\n variant,\n })\n }\n } catch (error) {\n payload.logger.error(\n error,\n 'Error validating product or variant during payment initiation.',\n )\n\n return Response.json(\n {\n message: error,\n },\n {\n status: 400,\n },\n )\n }\n }\n }\n }\n\n try {\n const paymentResponse = await paymentMethod.initiatePayment({\n customersSlug,\n data: {\n billingAddress,\n cart,\n currency,\n customerEmail,\n shippingAddress,\n },\n req,\n transactionsSlug,\n })\n\n return Response.json(paymentResponse)\n } catch (error) {\n payload.logger.error(error, 'Error initiating payment.')\n\n return Response.json(\n {\n message: 'Error initiating payment.',\n },\n {\n status: 500,\n },\n )\n }\n }\n"],"names":["addDataAndFileToRequest","defaultProductsValidation","initiatePaymentHandler","cartsSlug","currenciesConfig","customersSlug","paymentMethod","productsSlug","productsValidation","transactionsSlug","variantsSlug","req","data","payload","user","currency","defaultCurrency","cartID","cart","undefined","billingAddress","shippingAddress","customerEmail","email","docs","Array","isArray","length","id","Response","json","message","status","findByID","collection","depth","overrideAccess","select","items","subtotal","supportedCurrencies","find","c","code","toLocaleLowerCase","item","priceField","toUpperCase","quantity","product","variant","inventory","error","logger","Error","cause","paymentResponse","initiatePayment"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { PriceCell } from '../../ui/PriceCell/index.js';
2
+ export { PriceRowLabel } from '../../ui/PriceRowLabel/index.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export { PriceCell } from '../../ui/PriceCell/index.js';
2
+ export { PriceRowLabel } from '../../ui/PriceRowLabel/index.js';
3
+
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/exports/client/index.ts"],"sourcesContent":["export { PriceCell } from '../../ui/PriceCell/index.js'\nexport { PriceRowLabel } from '../../ui/PriceRowLabel/index.js'\n"],"names":["PriceCell","PriceRowLabel"],"mappings":"AAAA,SAASA,SAAS,QAAQ,8BAA6B;AACvD,SAASC,aAAa,QAAQ,kCAAiC"}
@@ -0,0 +1,4 @@
1
+ export { defaultCountries } from '../../collections/addresses/defaultCountries.js';
2
+ export { EUR, GBP, USD } from '../../currencies/index.js';
3
+ export { EcommerceProvider, useAddresses, useCart, useCurrency, useEcommerce, usePayments, } from '../../react/provider/index.js';
4
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/exports/client/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAA;AAClF,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AAEzD,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,MAAM,+BAA+B,CAAA"}
@@ -0,0 +1,5 @@
1
+ export { defaultCountries } from '../../collections/addresses/defaultCountries.js';
2
+ export { EUR, GBP, USD } from '../../currencies/index.js';
3
+ export { EcommerceProvider, useAddresses, useCart, useCurrency, useEcommerce, usePayments } from '../../react/provider/index.js';
4
+
5
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/exports/client/react.ts"],"sourcesContent":["export { defaultCountries } from '../../collections/addresses/defaultCountries.js'\nexport { EUR, GBP, USD } from '../../currencies/index.js'\n\nexport {\n EcommerceProvider,\n useAddresses,\n useCart,\n useCurrency,\n useEcommerce,\n usePayments,\n} from '../../react/provider/index.js'\n"],"names":["defaultCountries","EUR","GBP","USD","EcommerceProvider","useAddresses","useCart","useCurrency","useEcommerce","usePayments"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,kDAAiD;AAClF,SAASC,GAAG,EAAEC,GAAG,EAAEC,GAAG,QAAQ,4BAA2B;AAEzD,SACEC,iBAAiB,EACjBC,YAAY,EACZC,OAAO,EACPC,WAAW,EACXC,YAAY,EACZC,WAAW,QACN,gCAA+B"}
@@ -0,0 +1,2 @@
1
+ export { stripeAdapter, stripeAdapterClient } from '../../payments/adapters/stripe/index.js';
2
+ //# sourceMappingURL=stripe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../../src/exports/payments/stripe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { stripeAdapter, stripeAdapterClient } from '../../payments/adapters/stripe/index.js';
2
+
3
+ //# sourceMappingURL=stripe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/exports/payments/stripe.ts"],"sourcesContent":["export { stripeAdapter, stripeAdapterClient } from '../../payments/adapters/stripe/index.js'\n"],"names":["stripeAdapter","stripeAdapterClient"],"mappings":"AAAA,SAASA,aAAa,EAAEC,mBAAmB,QAAQ,0CAAyC"}
@@ -0,0 +1,3 @@
1
+ export { PriceInput } from '../ui/PriceInput/index.js';
2
+ export { VariantOptionsSelector } from '../ui/VariantOptionsSelector/index.js';
3
+ //# sourceMappingURL=rsc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rsc.d.ts","sourceRoot":"","sources":["../../src/exports/rsc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export { PriceInput } from '../ui/PriceInput/index.js';
2
+ export { VariantOptionsSelector } from '../ui/VariantOptionsSelector/index.js';
3
+
4
+ //# sourceMappingURL=rsc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/exports/rsc.ts"],"sourcesContent":["export { PriceInput } from '../ui/PriceInput/index.js'\nexport { VariantOptionsSelector } from '../ui/VariantOptionsSelector/index.js'\n"],"names":["PriceInput","VariantOptionsSelector"],"mappings":"AAAA,SAASA,UAAU,QAAQ,4BAA2B;AACtD,SAASC,sBAAsB,QAAQ,wCAAuC"}
@@ -0,0 +1,2 @@
1
+ export { en } from '../translations/en.js';
2
+ //# sourceMappingURL=translations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../src/exports/translations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { en } from '../translations/en.js';
2
+
3
+ //# sourceMappingURL=translations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/exports/translations.ts"],"sourcesContent":["export { en } from '../translations/en.js'\n"],"names":["en"],"mappings":"AAAA,SAASA,EAAE,QAAQ,wBAAuB"}
@@ -0,0 +1,2 @@
1
+ export type { Cart, CollectionOverride, CurrenciesConfig, EcommercePluginConfig } from '../types.js';
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/exports/types.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA"}