Payments in Embeddables are handled via Stripe, with a dedicated Stripe component that is integrated deeply into our platform.

Keys and IDs that you’ll need

  1. Your Stripe Publishable Key - grab this from the API Keys section of your Stripe Dashboard.
  2. A Restricted Key generated in Stripe (also from the API Keys page in Stripe), with the following scopes/permissions:
    Restricted Key - required scopes:
    • Customers: Write
    • Payment Intents: Write
    • Setup Intents: Write
    • Checkout Session: Write
    • Credit notes: Read
    • Subscriptions: Write
  3. Any Price IDs for specific products you want to offer - grab these from the Products page in Stripe.

Setting up Stripe

The following are the minimum steps required to add a Stripe component to your Embeddable:
1

Add your Stripe credentials

  • Go to SettingsCredentials & Endpoints in your Embeddables dashboard.
  • In the Stripe Credentials section, click + New Stripe Credential.
  • Choose the Key Type (Publishable Key or Restricted Key).
  • Select the Live Environment.
  • Add a Label to help identify the credential (e.g., “Stripe Live Publishable Key”).
  • Enter your Value (the actual Stripe key). (See above for details on the keys to grab/generate).
  • Click Create to save the credential.
You can also add credentials for the Test environment if you want to - if so, these will be used when in test mode instead of the default Embeddables-provided test keys.
2

Add a Stripe component to your Embeddable

  • In the Builder, switch to the checkout page that should contain the Stripe component.
  • Select a Container to insert the Stripe component into, or a copmonent that it should be added next to.
  • Open the + left-hand sidebar, and select Stripe from the list of components.
3

Choose the type of payment you want to accept

  • Under Checkout mode, select one of the following options:
    • Payment: If you’re accepting only one-time payments, or want to place a hold on a user’s card.
    • Setup: For setting up a user’s payment method to take payments in the future.
    • Subscription: If your line items will include at least one recurring payment.
Please note that Stripe only supports placing a hold on one-time payments, not recurring payments.
4

Choose which payment methods you want to accept

  • Under Payment methods, select the payment methods you want to accept, from the following options:
    • Credit card
    • Link (Stripe’s own quick purchase login system)
    • US Bank Account
    • Buy now, pay later services: Afterpay/Clearpay, Klarna, Affirm
You need to have the relevant payment methods enabled in your Stripe account in order for them to appear for users.
5

Add line items to the checkout

  • There are two different types of line item that you can add:
    1. Price ID: This corresponds to a product and price that you’ve already created in Stripe.
    Make sure to grab the Price ID from Stripe, rather than the Product ID.
    1. Custom line item: This lets you manually enter an amount, currency and name for the line item in Embeddables.
  • Both types of line item require you to enter a quantity.
If you need your line items to be dynamic (i.e. change based on the user’s answers, like what plan they select), see the Add dynamic line items section below.
6

Include the customer email address (and, optionally, phone number)

  • To insert the user’s given email address into the Stripe checkout, add the key name of the component you use to collect the user’s email, using Templating (e.g. {{email}}).
  • You can optionally collect a user’s phone number, using the same method.
By default, Stripe’s credit card fields will also include Country and Zipcode / Postal Code fields.These are all Stripe needs for a customer billing address, so you don’t need to provide any billing address fields.

Optional: Additional Stripe configurations

These features are not required in order to successfully accept payments, but they can be useful in different scenarios.

Troubleshooting