@payloadcms/plugin-ecommerce 0.0.1-beta.0 → 3.57.0-internal.46327a6
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/addresses/createAddressesCollection.d.ts +21 -0
- package/dist/collections/addresses/createAddressesCollection.d.ts.map +1 -0
- package/dist/collections/addresses/createAddressesCollection.js +71 -0
- package/dist/collections/addresses/createAddressesCollection.js.map +1 -0
- package/dist/collections/addresses/defaultAddressFields.d.ts +3 -0
- package/dist/collections/addresses/defaultAddressFields.d.ts.map +1 -0
- package/dist/collections/addresses/defaultAddressFields.js +72 -0
- package/dist/collections/addresses/defaultAddressFields.js.map +1 -0
- package/dist/collections/addresses/defaultCountries.d.ts +9 -0
- package/dist/collections/addresses/defaultCountries.d.ts.map +1 -0
- package/dist/collections/addresses/defaultCountries.js +169 -0
- package/dist/collections/addresses/defaultCountries.js.map +1 -0
- package/dist/collections/addresses/hooks/beforeChange.d.ts +8 -0
- package/dist/collections/addresses/hooks/beforeChange.d.ts.map +1 -0
- package/dist/collections/addresses/hooks/beforeChange.js +12 -0
- package/dist/collections/addresses/hooks/beforeChange.js.map +1 -0
- package/dist/collections/carts/beforeChange.d.ts +8 -0
- package/dist/collections/carts/beforeChange.d.ts.map +1 -0
- package/dist/collections/carts/beforeChange.js +37 -0
- package/dist/collections/carts/beforeChange.js.map +1 -0
- package/dist/collections/carts/createCartsCollection.d.ts +29 -0
- package/dist/collections/carts/createCartsCollection.d.ts.map +1 -0
- package/dist/collections/carts/createCartsCollection.js +138 -0
- package/dist/collections/carts/createCartsCollection.js.map +1 -0
- package/dist/collections/carts/statusBeforeRead.d.ts +3 -0
- package/dist/collections/carts/statusBeforeRead.d.ts.map +1 -0
- package/dist/collections/carts/statusBeforeRead.js +18 -0
- package/dist/collections/carts/statusBeforeRead.js.map +1 -0
- package/dist/collections/orders/createOrdersCollection.d.ts +34 -0
- package/dist/collections/orders/createOrdersCollection.d.ts.map +1 -0
- package/dist/collections/orders/createOrdersCollection.js +162 -0
- package/dist/collections/orders/createOrdersCollection.js.map +1 -0
- package/dist/collections/products/createProductsCollection.d.ts +26 -0
- package/dist/collections/products/createProductsCollection.d.ts.map +1 -0
- package/dist/collections/products/createProductsCollection.js +62 -0
- package/dist/collections/products/createProductsCollection.js.map +1 -0
- package/dist/collections/transactions/createTransactionsCollection.d.ts +40 -0
- package/dist/collections/transactions/createTransactionsCollection.d.ts.map +1 -0
- package/dist/collections/transactions/createTransactionsCollection.js +157 -0
- package/dist/collections/transactions/createTransactionsCollection.js.map +1 -0
- package/dist/collections/variants/createVariantOptionsCollection.d.ts +15 -0
- package/dist/collections/variants/createVariantOptionsCollection.d.ts.map +1 -0
- package/dist/collections/variants/createVariantOptionsCollection.js +53 -0
- package/dist/collections/variants/createVariantOptionsCollection.js.map +1 -0
- package/dist/collections/variants/createVariantTypesCollection.d.ts +15 -0
- package/dist/collections/variants/createVariantTypesCollection.d.ts.map +1 -0
- package/dist/collections/variants/createVariantTypesCollection.js +49 -0
- package/dist/collections/variants/createVariantTypesCollection.js.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.d.ts +8 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.d.ts.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js +38 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.d.ts +7 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.d.ts.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js +53 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js.map +1 -0
- package/dist/collections/variants/createVariantsCollection/index.d.ts +24 -0
- package/dist/collections/variants/createVariantsCollection/index.d.ts.map +1 -0
- package/dist/collections/variants/createVariantsCollection/index.js +101 -0
- package/dist/collections/variants/createVariantsCollection/index.js.map +1 -0
- package/dist/currencies/index.d.ts +5 -0
- package/dist/currencies/index.d.ts.map +1 -0
- package/dist/currencies/index.js +20 -0
- package/dist/currencies/index.js.map +1 -0
- package/dist/endpoints/confirmOrder.d.ts +42 -0
- package/dist/endpoints/confirmOrder.d.ts.map +1 -0
- package/dist/endpoints/confirmOrder.js +143 -0
- package/dist/endpoints/confirmOrder.js.map +1 -0
- package/dist/endpoints/initiatePayment.d.ts +43 -0
- package/dist/endpoints/initiatePayment.d.ts.map +1 -0
- package/dist/endpoints/initiatePayment.js +220 -0
- package/dist/endpoints/initiatePayment.js.map +1 -0
- package/dist/exports/client/index.d.ts +3 -0
- package/dist/exports/client/index.d.ts.map +1 -0
- package/dist/exports/client/index.js +4 -0
- package/dist/exports/client/index.js.map +1 -0
- package/dist/exports/client/react.d.ts +4 -0
- package/dist/exports/client/react.d.ts.map +1 -0
- package/dist/exports/client/react.js +5 -0
- package/dist/exports/client/react.js.map +1 -0
- package/dist/exports/payments/stripe.d.ts +2 -0
- package/dist/exports/payments/stripe.d.ts.map +1 -0
- package/dist/exports/payments/stripe.js +3 -0
- package/dist/exports/payments/stripe.js.map +1 -0
- package/dist/exports/rsc.d.ts +3 -0
- package/dist/exports/rsc.d.ts.map +1 -0
- package/dist/exports/rsc.js +4 -0
- package/dist/exports/rsc.js.map +1 -0
- package/dist/exports/translations.d.ts +2 -0
- package/dist/exports/translations.d.ts.map +1 -0
- package/dist/exports/translations.js +3 -0
- package/dist/exports/translations.js.map +1 -0
- package/dist/exports/types.d.ts +2 -0
- package/dist/exports/types.d.ts.map +1 -0
- package/dist/exports/types.js +3 -0
- package/dist/exports/types.js.map +1 -0
- package/dist/fields/amountField.d.ts +13 -0
- package/dist/fields/amountField.d.ts.map +1 -0
- package/dist/fields/amountField.js +33 -0
- package/dist/fields/amountField.js.map +1 -0
- package/dist/fields/cartItemsField.d.ts +26 -0
- package/dist/fields/cartItemsField.d.ts.map +1 -0
- package/dist/fields/cartItemsField.js +55 -0
- package/dist/fields/cartItemsField.js.map +1 -0
- package/dist/fields/currencyField.d.ts +9 -0
- package/dist/fields/currencyField.d.ts.map +1 -0
- package/dist/fields/currencyField.js +29 -0
- package/dist/fields/currencyField.js.map +1 -0
- package/dist/fields/inventoryField.d.ts +7 -0
- package/dist/fields/inventoryField.d.ts.map +1 -0
- package/dist/fields/inventoryField.js +16 -0
- package/dist/fields/inventoryField.js.map +1 -0
- package/dist/fields/pricesField.d.ts +12 -0
- package/dist/fields/pricesField.d.ts.map +1 -0
- package/dist/fields/pricesField.js +54 -0
- package/dist/fields/pricesField.js.map +1 -0
- package/dist/fields/statusField.d.ts +8 -0
- package/dist/fields/statusField.d.ts.map +1 -0
- package/dist/fields/statusField.js +49 -0
- package/dist/fields/statusField.js.map +1 -0
- package/dist/fields/variantsFields.d.ts +14 -0
- package/dist/fields/variantsFields.d.ts.map +1 -0
- package/dist/fields/variantsFields.js +48 -0
- package/dist/fields/variantsFields.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +238 -0
- package/dist/index.js.map +1 -0
- package/dist/payments/adapters/stripe/confirmOrder.d.ts +11 -0
- package/dist/payments/adapters/stripe/confirmOrder.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/confirmOrder.js +101 -0
- package/dist/payments/adapters/stripe/confirmOrder.js.map +1 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.d.ts +13 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.js +53 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.js.map +1 -0
- package/dist/payments/adapters/stripe/index.d.ts +60 -0
- package/dist/payments/adapters/stripe/index.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/index.js +68 -0
- package/dist/payments/adapters/stripe/index.js.map +1 -0
- package/dist/payments/adapters/stripe/initiatePayment.d.ts +11 -0
- package/dist/payments/adapters/stripe/initiatePayment.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/initiatePayment.js +102 -0
- package/dist/payments/adapters/stripe/initiatePayment.js.map +1 -0
- package/dist/react/provider/index.d.ts +41 -0
- package/dist/react/provider/index.d.ts.map +1 -0
- package/dist/react/provider/index.js +791 -0
- package/dist/react/provider/index.js.map +1 -0
- package/dist/react/provider/types.d.ts +171 -0
- package/dist/react/provider/types.d.ts.map +1 -0
- package/dist/react/provider/types.js +3 -0
- package/dist/react/provider/types.js.map +1 -0
- package/dist/react/provider/utilities.d.ts +9 -0
- package/dist/react/provider/utilities.d.ts.map +1 -0
- package/dist/react/provider/utilities.js +13 -0
- package/dist/react/provider/utilities.js.map +1 -0
- package/dist/translations/en.d.ts +3 -0
- package/dist/translations/en.d.ts.map +1 -0
- package/dist/translations/en.js +86 -0
- package/dist/translations/en.js.map +1 -0
- package/dist/translations/index.d.ts +7 -0
- package/dist/translations/index.d.ts.map +1 -0
- package/dist/translations/index.js +6 -0
- package/dist/translations/index.js.map +1 -0
- package/dist/types.d.ts +658 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/PriceCell/index.d.ts +12 -0
- package/dist/ui/PriceCell/index.d.ts.map +1 -0
- package/dist/ui/PriceCell/index.js +38 -0
- package/dist/ui/PriceCell/index.js.map +1 -0
- package/dist/ui/PriceInput/FormattedInput.d.ts +17 -0
- package/dist/ui/PriceInput/FormattedInput.d.ts.map +1 -0
- package/dist/ui/PriceInput/FormattedInput.js +146 -0
- package/dist/ui/PriceInput/FormattedInput.js.map +1 -0
- package/{src/ui/PriceInput/index.scss → dist/ui/PriceInput/index.css} +7 -0
- package/dist/ui/PriceInput/index.d.ts +11 -0
- package/dist/ui/PriceInput/index.d.ts.map +1 -0
- package/dist/ui/PriceInput/index.js +20 -0
- package/dist/ui/PriceInput/index.js.map +1 -0
- package/dist/ui/PriceRowLabel/index.d.ts +8 -0
- package/dist/ui/PriceRowLabel/index.d.ts.map +1 -0
- package/dist/ui/PriceRowLabel/index.js +66 -0
- package/dist/ui/PriceRowLabel/index.js.map +1 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.d.ts +8 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.d.ts.map +1 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.js +28 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.js.map +1 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.d.ts +13 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.d.ts.map +1 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.js +71 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.js.map +1 -0
- package/dist/ui/VariantOptionsSelector/index.d.ts +6 -0
- package/dist/ui/VariantOptionsSelector/index.d.ts.map +1 -0
- package/dist/ui/VariantOptionsSelector/index.js +78 -0
- package/dist/ui/VariantOptionsSelector/index.js.map +1 -0
- package/dist/ui/utilities.d.ts +16 -0
- package/dist/ui/utilities.d.ts.map +1 -0
- package/dist/ui/utilities.js +26 -0
- package/dist/ui/utilities.js.map +1 -0
- package/dist/utilities/defaultProductsValidation.d.ts +3 -0
- package/dist/utilities/defaultProductsValidation.d.ts.map +1 -0
- package/dist/utilities/defaultProductsValidation.js +40 -0
- package/dist/utilities/defaultProductsValidation.js.map +1 -0
- package/dist/utilities/errorCodes.d.ts +3 -0
- package/dist/utilities/errorCodes.d.ts.map +1 -0
- package/dist/utilities/errorCodes.js +4 -0
- package/dist/utilities/errorCodes.js.map +1 -0
- package/dist/utilities/getCollectionSlugMap.d.ts +11 -0
- package/dist/utilities/getCollectionSlugMap.d.ts.map +1 -0
- package/dist/utilities/getCollectionSlugMap.js +25 -0
- package/dist/utilities/getCollectionSlugMap.js.map +1 -0
- package/dist/utilities/sanitizePluginConfig.d.ts +7 -0
- package/dist/utilities/sanitizePluginConfig.d.ts.map +1 -0
- package/dist/utilities/sanitizePluginConfig.js +67 -0
- package/dist/utilities/sanitizePluginConfig.js.map +1 -0
- package/package.json +98 -1
- package/.prettierignore +0 -12
- package/.swcrc +0 -24
- package/eslint.config.js +0 -18
- package/src/addresses/addressesCollection.ts +0 -76
- package/src/addresses/defaultAddressFields.ts +0 -83
- package/src/addresses/defaultCountries.ts +0 -50
- package/src/carts/beforeChange.ts +0 -51
- package/src/carts/cartsCollection.ts +0 -146
- package/src/currencies/index.ts +0 -29
- package/src/endpoints/confirmOrder.ts +0 -312
- package/src/endpoints/initiatePayment.ts +0 -322
- package/src/exports/addresses.ts +0 -2
- package/src/exports/currencies.ts +0 -1
- package/src/exports/fields.ts +0 -5
- package/src/exports/orders.ts +0 -1
- package/src/exports/payments/stripe.ts +0 -1
- package/src/exports/plugin.ts +0 -1
- package/src/exports/products.ts +0 -1
- package/src/exports/react.ts +0 -8
- package/src/exports/transactions.ts +0 -1
- package/src/exports/translations.ts +0 -1
- package/src/exports/types.ts +0 -7
- package/src/exports/ui.ts +0 -3
- package/src/exports/variants.ts +0 -5
- package/src/fields/amountField.ts +0 -43
- package/src/fields/cartItemsField.ts +0 -84
- package/src/fields/currencyField.ts +0 -39
- package/src/fields/inventoryField.ts +0 -22
- package/src/fields/pricesField.ts +0 -65
- package/src/fields/statusField.ts +0 -57
- package/src/fields/variantsFields.ts +0 -56
- package/src/index.ts +0 -275
- package/src/orders/ordersCollection.ts +0 -157
- package/src/payments/adapters/stripe/confirmOrder.ts +0 -123
- package/src/payments/adapters/stripe/endpoints/webhooks.ts +0 -69
- package/src/payments/adapters/stripe/index.ts +0 -135
- package/src/payments/adapters/stripe/initiatePayment.ts +0 -131
- package/src/products/productsCollection.ts +0 -78
- package/src/react/provider/index.tsx +0 -893
- package/src/react/provider/types.ts +0 -184
- package/src/react/provider/utilities.ts +0 -22
- package/src/transactions/transactionsCollection.ts +0 -166
- package/src/translations/en.ts +0 -64
- package/src/translations/index.ts +0 -11
- package/src/types.ts +0 -403
- package/src/ui/PriceInput/FormattedInput.tsx +0 -134
- package/src/ui/PriceInput/index.tsx +0 -43
- package/src/ui/PriceInput/utilities.ts +0 -46
- package/src/ui/PriceRowLabel/index.tsx +0 -56
- package/src/ui/VariantOptionsSelector/ErrorBox.tsx +0 -27
- package/src/ui/VariantOptionsSelector/OptionsSelect.tsx +0 -78
- package/src/ui/VariantOptionsSelector/index.tsx +0 -83
- package/src/utilities/defaultProductsValidation.ts +0 -42
- package/src/utilities/errorCodes.ts +0 -14
- package/src/utilities/getCollectionSlugMap.ts +0 -84
- package/src/utilities/sanitizePluginConfig.ts +0 -80
- package/src/variants/variantOptionsCollection.ts +0 -59
- package/src/variants/variantTypesCollection.ts +0 -55
- package/src/variants/variantsCollection/hooks/beforeChange.ts +0 -47
- package/src/variants/variantsCollection/hooks/validateOptions.ts +0 -72
- package/src/variants/variantsCollection/index.ts +0 -119
- package/tsconfig.json +0 -7
- package/tsconfig.tsbuildinfo +0 -1
- /package/{src → dist}/translations/translation-schema.json +0 -0
- /package/{src → dist}/ui/PriceRowLabel/index.css +0 -0
- /package/{src → dist}/ui/VariantOptionsSelector/index.css +0 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { confirmOrder } from './confirmOrder.js';
|
|
2
|
+
import { webhooksEndpoint } from './endpoints/webhooks.js';
|
|
3
|
+
import { initiatePayment } from './initiatePayment.js';
|
|
4
|
+
export const stripeAdapter = (props)=>{
|
|
5
|
+
const { apiVersion, appInfo, groupOverrides, secretKey, webhooks, webhookSecret } = props;
|
|
6
|
+
const label = props?.label || 'Stripe';
|
|
7
|
+
const baseFields = [
|
|
8
|
+
{
|
|
9
|
+
name: 'customerID',
|
|
10
|
+
type: 'text',
|
|
11
|
+
label: 'Stripe Customer ID'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'paymentIntentID',
|
|
15
|
+
type: 'text',
|
|
16
|
+
label: 'Stripe PaymentIntent ID'
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
const groupField = {
|
|
20
|
+
name: 'stripe',
|
|
21
|
+
type: 'group',
|
|
22
|
+
...groupOverrides,
|
|
23
|
+
admin: {
|
|
24
|
+
condition: (data)=>{
|
|
25
|
+
const path = 'paymentMethod';
|
|
26
|
+
return data?.[path] === 'stripe';
|
|
27
|
+
},
|
|
28
|
+
...groupOverrides?.admin
|
|
29
|
+
},
|
|
30
|
+
fields: groupOverrides?.fields && typeof groupOverrides?.fields === 'function' ? groupOverrides.fields({
|
|
31
|
+
defaultFields: baseFields
|
|
32
|
+
}) : baseFields
|
|
33
|
+
};
|
|
34
|
+
return {
|
|
35
|
+
name: 'stripe',
|
|
36
|
+
confirmOrder: confirmOrder({
|
|
37
|
+
apiVersion,
|
|
38
|
+
appInfo,
|
|
39
|
+
secretKey
|
|
40
|
+
}),
|
|
41
|
+
endpoints: [
|
|
42
|
+
webhooksEndpoint({
|
|
43
|
+
apiVersion,
|
|
44
|
+
appInfo,
|
|
45
|
+
secretKey,
|
|
46
|
+
webhooks,
|
|
47
|
+
webhookSecret
|
|
48
|
+
})
|
|
49
|
+
],
|
|
50
|
+
group: groupField,
|
|
51
|
+
initiatePayment: initiatePayment({
|
|
52
|
+
apiVersion,
|
|
53
|
+
appInfo,
|
|
54
|
+
secretKey
|
|
55
|
+
}),
|
|
56
|
+
label
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
export const stripeAdapterClient = (props)=>{
|
|
60
|
+
return {
|
|
61
|
+
name: 'stripe',
|
|
62
|
+
confirmOrder: true,
|
|
63
|
+
initiatePayment: true,
|
|
64
|
+
label: 'Card'
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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.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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Stripe from 'stripe';
|
|
2
|
+
import type { PaymentAdapter } from '../../../types.js';
|
|
3
|
+
import type { StripeAdapterArgs } from './index.js';
|
|
4
|
+
type Props = {
|
|
5
|
+
apiVersion?: Stripe.StripeConfig['apiVersion'];
|
|
6
|
+
appInfo?: Stripe.StripeConfig['appInfo'];
|
|
7
|
+
secretKey: StripeAdapterArgs['secretKey'];
|
|
8
|
+
};
|
|
9
|
+
export declare const initiatePayment: (props: Props) => NonNullable<PaymentAdapter>['initiatePayment'];
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=initiatePayment.d.ts.map
|
|
@@ -0,0 +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,mBAAmB,CAAA;AACvD,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,CAuH1F,CAAA"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import Stripe from 'stripe';
|
|
2
|
+
export const initiatePayment = (props)=>async ({ data, req, transactionsSlug })=>{
|
|
3
|
+
const payload = req.payload;
|
|
4
|
+
const { apiVersion, appInfo, secretKey } = props || {};
|
|
5
|
+
const customerEmail = data.customerEmail;
|
|
6
|
+
const currency = data.currency;
|
|
7
|
+
const cart = data.cart;
|
|
8
|
+
const amount = cart.subtotal;
|
|
9
|
+
const billingAddressFromData = data.billingAddress;
|
|
10
|
+
const shippingAddressFromData = data.shippingAddress;
|
|
11
|
+
if (!secretKey) {
|
|
12
|
+
throw new Error('Stripe secret key is required.');
|
|
13
|
+
}
|
|
14
|
+
if (!currency) {
|
|
15
|
+
throw new Error('Currency is required.');
|
|
16
|
+
}
|
|
17
|
+
if (!cart || !cart.items || cart.items.length === 0) {
|
|
18
|
+
throw new Error('Cart is empty or not provided.');
|
|
19
|
+
}
|
|
20
|
+
if (!customerEmail || typeof customerEmail !== 'string') {
|
|
21
|
+
throw new Error('A valid customer email is required to make a purchase.');
|
|
22
|
+
}
|
|
23
|
+
if (!amount || typeof amount !== 'number' || amount <= 0) {
|
|
24
|
+
throw new Error('A valid amount is required to initiate a payment.');
|
|
25
|
+
}
|
|
26
|
+
const stripe = new Stripe(secretKey, {
|
|
27
|
+
// API version can only be the latest, stripe recommends ts ignoring it
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
29
|
+
// @ts-ignore - ignoring since possible versions are not type safe, only the latest version is recognised
|
|
30
|
+
apiVersion: apiVersion || '2025-06-30.preview',
|
|
31
|
+
appInfo: appInfo || {
|
|
32
|
+
name: 'Stripe Payload Plugin',
|
|
33
|
+
url: 'https://payloadcms.com'
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
try {
|
|
37
|
+
let customer = (await stripe.customers.list({
|
|
38
|
+
email: customerEmail
|
|
39
|
+
})).data[0];
|
|
40
|
+
if (!customer?.id) {
|
|
41
|
+
customer = await stripe.customers.create({
|
|
42
|
+
email: customerEmail
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
const flattenedCart = cart.items.map((item)=>{
|
|
46
|
+
const productID = typeof item.product === 'object' ? item.product.id : item.product;
|
|
47
|
+
const variantID = item.variant ? typeof item.variant === 'object' ? item.variant.id : item.variant : undefined;
|
|
48
|
+
return {
|
|
49
|
+
product: productID,
|
|
50
|
+
quantity: item.quantity,
|
|
51
|
+
variant: variantID
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
const shippingAddressAsString = JSON.stringify(shippingAddressFromData);
|
|
55
|
+
const paymentIntent = await stripe.paymentIntents.create({
|
|
56
|
+
amount,
|
|
57
|
+
automatic_payment_methods: {
|
|
58
|
+
enabled: true
|
|
59
|
+
},
|
|
60
|
+
currency,
|
|
61
|
+
customer: customer.id,
|
|
62
|
+
metadata: {
|
|
63
|
+
cartID: cart.id,
|
|
64
|
+
cartItemsSnapshot: JSON.stringify(flattenedCart),
|
|
65
|
+
shippingAddress: shippingAddressAsString
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
// Create a transaction for the payment intent in the database
|
|
69
|
+
const transaction = await payload.create({
|
|
70
|
+
collection: transactionsSlug,
|
|
71
|
+
data: {
|
|
72
|
+
...req.user ? {
|
|
73
|
+
customer: req.user.id
|
|
74
|
+
} : {
|
|
75
|
+
customerEmail
|
|
76
|
+
},
|
|
77
|
+
amount: paymentIntent.amount,
|
|
78
|
+
billingAddress: billingAddressFromData,
|
|
79
|
+
cart: cart.id,
|
|
80
|
+
currency: paymentIntent.currency.toUpperCase(),
|
|
81
|
+
items: flattenedCart,
|
|
82
|
+
paymentMethod: 'stripe',
|
|
83
|
+
status: 'pending',
|
|
84
|
+
stripe: {
|
|
85
|
+
customerID: customer.id,
|
|
86
|
+
paymentIntentID: paymentIntent.id
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
const returnData = {
|
|
91
|
+
clientSecret: paymentIntent.client_secret || '',
|
|
92
|
+
message: 'Payment initiated successfully',
|
|
93
|
+
paymentIntentID: paymentIntent.id
|
|
94
|
+
};
|
|
95
|
+
return returnData;
|
|
96
|
+
} catch (error) {
|
|
97
|
+
payload.logger.error(error, 'Error initiating payment with Stripe');
|
|
98
|
+
throw new Error(error instanceof Error ? error.message : 'Unknown error initiating payment');
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
//# sourceMappingURL=initiatePayment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/payments/adapters/stripe/initiatePayment.ts"],"sourcesContent":["import Stripe from 'stripe'\n\nimport type { PaymentAdapter } from '../../../types.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 = cart.subtotal\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 return {\n product: productID,\n quantity: item.quantity,\n 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 },\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 })\n\n const returnData: InitiatePaymentReturnType = {\n clientSecret: paymentIntent.client_secret || '',\n message: 'Payment initiated successfully',\n paymentIntentID: paymentIntent.id,\n }\n\n return returnData\n } catch (error) {\n payload.logger.error(error, '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","amount","subtotal","billingAddressFromData","billingAddress","shippingAddressFromData","shippingAddress","Error","items","length","stripe","name","url","customer","customers","list","email","id","create","flattenedCart","map","item","productID","product","variantID","variant","undefined","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","error","logger"],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { DefaultDocumentIDType, TypedCollection } from 'payload';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { Currency } from '../../types.js';
|
|
4
|
+
import type { ContextProps, EcommerceContext as EcommerceContextType } from './types.js';
|
|
5
|
+
export declare const EcommerceProvider: React.FC<ContextProps>;
|
|
6
|
+
export declare const useEcommerce: () => EcommerceContextType;
|
|
7
|
+
export declare const useCurrency: () => {
|
|
8
|
+
currency: Currency;
|
|
9
|
+
formatCurrency: (value?: null | number, options?: {
|
|
10
|
+
currency?: Currency;
|
|
11
|
+
}) => string;
|
|
12
|
+
setCurrency: (currency: string) => void;
|
|
13
|
+
supportedCurrencies: Currency[];
|
|
14
|
+
};
|
|
15
|
+
export declare const useCart: () => {
|
|
16
|
+
addItem: (item: {
|
|
17
|
+
product: DefaultDocumentIDType;
|
|
18
|
+
variant?: DefaultDocumentIDType;
|
|
19
|
+
}, quantity?: number) => Promise<void>;
|
|
20
|
+
cart: (import("payload").JsonObject & import("payload").TypeWithID) | undefined;
|
|
21
|
+
clearCart: () => Promise<void>;
|
|
22
|
+
decrementItem: (item: DefaultDocumentIDType) => Promise<void>;
|
|
23
|
+
incrementItem: (item: DefaultDocumentIDType) => Promise<void>;
|
|
24
|
+
removeItem: (item: DefaultDocumentIDType) => Promise<void>;
|
|
25
|
+
};
|
|
26
|
+
export declare const usePayments: () => {
|
|
27
|
+
confirmOrder: (paymentMethodID: string, options?: {
|
|
28
|
+
additionalData: Record<string, unknown>;
|
|
29
|
+
}) => Promise<unknown>;
|
|
30
|
+
initiatePayment: (paymentMethodID: string, options?: {
|
|
31
|
+
additionalData: Record<string, unknown>;
|
|
32
|
+
}) => Promise<unknown>;
|
|
33
|
+
paymentMethods: import("../../types.js").PaymentAdapterClient[];
|
|
34
|
+
selectedPaymentMethod: string | null | undefined;
|
|
35
|
+
};
|
|
36
|
+
export declare const useAddresses: () => {
|
|
37
|
+
addresses: (import("payload").JsonObject & import("payload").TypeWithID)[] | undefined;
|
|
38
|
+
createAddress: (data: Partial<TypedCollection["addresses"]>) => Promise<void>;
|
|
39
|
+
updateAddress: (addressID: DefaultDocumentIDType, data: Partial<TypedCollection["addresses"]>) => Promise<void>;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/provider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAkB,eAAe,EAAa,MAAM,SAAS,CAAA;AAIhG,OAAO,KAAgF,MAAM,OAAO,CAAA;AAEpG,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAuCxF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA0vBpD,CAAA;AAED,eAAO,MAAM,YAAY,4BAQxB,CAAA;AAED,eAAO,MAAM,WAAW;;6BAIX,IAAI,GAAG,MAAM,YAAY;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,KAAG,MAAM;;;CAkCrE,CAAA;AAED,eAAO,MAAM,OAAO;;;;;;;;;;CAQnB,CAAA;AAED,eAAO,MAAM,WAAW;;;;;;;;;CAQvB,CAAA;AAED,eAAO,MAAM,YAAY;;;;CAQxB,CAAA"}
|