Skip to main content

StripePluginOptions

Configuration options for the Stripe payments plugin.

Signature

storeCustomersInStripe

propertyboolean
Default:false

If set to true, a Customer object will be created in Stripe - if it doesn't already exist - for authenticated users, which prevents payment methods attached to other Customers to be used with the same PaymentIntent. This is done by adding a custom field to the Customer entity to store the Stripe customer ID, so switching this on will require a database migration / synchronization.

metadata

property( injector: Injector, ctx: RequestContext, order: Order, ) => Stripe.MetadataParam | Promise<Stripe.MetadataParam>v1.9.7

Attach extra metadata to Stripe payment intent creation call.

Example

Ts

Note: If the paymentIntentCreateParams is also used and returns a metadata key, then the values returned by both functions will be merged.

paymentIntentCreateParams

property( injector: Injector, ctx: RequestContext, order: Order, ) => AdditionalPaymentIntentCreateParams | Promise<AdditionalPaymentIntentCreateParams>v2.1.0

Provide additional parameters to the Stripe payment intent creation. By default, the plugin will already pass the amount, currency, customer and automatic_payment_methods: { enabled: true } parameters.

For example, if you want to provide a description for the payment intent, you can do so like this:

Example

Ts

requestOptions

property( injector: Injector, ctx: RequestContext, order: Order, ) => AdditionalRequestOptions | Promise<AdditionalRequestOptions>v3.1.0

Provide additional options to the Stripe payment intent creation. By default, the plugin will already pass the idempotencyKey parameter.

For example, if you want to provide a stripeAccount for the payment intent, you can do so like this:

Example

Ts

customerCreateParams

property( injector: Injector, ctx: RequestContext, order: Order, ) => AdditionalCustomerCreateParams | Promise<AdditionalCustomerCreateParams>v2.1.0

Provide additional parameters to the Stripe customer creation. By default, the plugin will already pass the email and name parameters.

For example, if you want to provide an address for the customer:

Example

Ts

skipPaymentIntentsWithoutExpectedMetadata

propertyboolean

If your Stripe account also generates payment intents which are independent of Vendure orders, you can set this to true to skip processing those payment intents.

Was this chapter helpful?
Report Issue
Edited Mar 31, 2026ยทEdit this page