Stripe prepared Product Purchase

This function allows you to use an existing Stripe product's SKUs that could be purchased inside your flow.



This method does not support metadata.


Enabling Checkout

You need to enable the Checkout client-only integration within the Stripe Checkout settings.

One-time purchase products supports only One-time purchase products. Double check you have chosen the proper option when creating a new Stripe product.

Usage example

async payload => { 
  const url = await payments.preparedPurchase.stripe({
    key: 'your_stripe_publishable_key',
    locale: 'nl',
    collectAddress: true,
    submitType: 'donate',
    items: [
        sku: 'sku_of_your_product', quantity: 1
        sku: 'sku_of_your_another_product', quantity: 3
    onSuccess: {
      eventName: 'bought',
      params: [
        new Param('category', 'clothes')
    onFailure: {
      eventName: 'not bought',
      params: [
        new Param('category', 'clothes')
  const buttons = new Buttons('Purchase my items')
  buttons.addButton(new Button({
    label: 'Click to purchase',
    type: 'payment',
    value: url

  const message = new Message(`Purchase items here ${url}`)

  return message


keystringpk_test_XXXXXXXXXXXYour Stripe Publishable KeyYes
collectAddressbooleantrueWhether Checkout should collect customer's address
localestringnlBy default, Checkout detects the locale of the customer’s browser and displays a translated version of the page in their language, if it is supported. You can also provide a specific locale for Checkout to use instead
submitTypestringdonateSubmit type of payment session
button.labelstringClick to purchaseLabel of the confirmation button

Success and Failure params

You can include onSuccess and onFailure configuration which will be used in corresponding situations.

eventNamestringboughEvent name to trigger when items are successfully bought / purchase is rejected
paramsarraynew Param('productiId', 112234)Parameters that are set when the items are bought / purchase is rejected


The multiple select is based on a number of items. Each individual item should contain sku and quantity properties.


skustringsku_XXXXXXXXXXXSKU of your productYes
quantitynumber1Amount of items to be purchasedYes