--- title: "Stripe Checkout" slug: "stripe-checkout" updated: 2026-04-13T20:40:38Z published: 2026-04-13T20:40:38Z canonical: "docs.blackthorn.io/stripe-checkout" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.blackthorn.io/llms.txt > Use this file to discover all available pages before exploring further. # Stripe Checkout Stripe Checkout is a solution prepackaged from Stripe. We've added an integration so users will be able to utilize its functionality right from Salesforce. Read more about Stripe Checkout [here](https://stripe.com/payments/checkout). ![H_02_18_Stripe checkout 1](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/H_02_18_Stripe%20checkout%201.png) ## Prerequisites 1. Contact [Blackthorn Support](https://community.blackthorn.io/s/support) to share your org ID. Support will use it to enable Stripe Checkout from the backend. This applies to both Sandbox and Production. 2. The PayLink package must be installed and configured in your org. Use the Payments Setup Wizard to install PayLink if you haven't already. 3. Stripe Checkout must be used with Payment Gateways with the **Provider** set to "Stripe". ## Configure PayLink ### Add Stripe Checkout to the PayLink Configuration Object 1. Navigate to the PayLink Configuration object in Setup. 2. Click the Fields and Relationships tab. 3. Click the link for the **Allowed Payment Methods** field. 4. Go to the Values section. 5. Click **New**. 6. Add "Stripe Checkout" to the text box. 7. Click **Save**. ### Set the Value on the Paylink Configuration Record 1. Navigate to the Paylink Configuration record that you will use for your Stripe Checkout Transactions. 2. Click **Edit** (the pencil icon) next to the **Allowed Payment Methods** field. 3. Move "Stripe Checkout" to the Chosen column. 4. Click **Save**. ## Configure the Payment Gateway ### Update Your Page Layout 1. Navigate to the Payment Gateway object in Setup. 2. Click the Page Layouts tab. 3. Click the Payment Gateway Layout link. 4. Add the **Accepted Checkout Payment Methods** field to the Page Layout. 5. Click **Save**. ### Set Values on the Payment Gateway Object 1. Navigate to the Stripe Payment Gateway that will be used for Stripe Checkout. 2. Select your required values for the following fields. - **Default Currency** - **Default Country** 3. Edit the **Accepted Checkout Payment Methods** field to include the Payment Method to be used for Stripe Checkout. The supported payment method types for Stripe Checkout are [here](https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_method_types). NOTE: Stripe updates this list periodically. **Payment Method Limitations:** Certain payment methods like Sepa Debit only work with certain currencies (EUR). Check out this payment method [fact sheet](https://stripe.com/payments/payment-methods-guide#payment-methods-fact-sheets) to review the limitations of each payment method type. ## Add Permissions to Access Encrypted Data 1. Go to Permission Sets in Setup. 2. Click **New**. 3. Enter "Access Encrypted Data" in the **Label** field. 4. Click **Save**. 5. Navigate to System Permissions. 6. Click **Edit**. 7. Check the **View Encrypted Data** checkbox. 8. Save the permission set. 9. Navigate to the user record in Setup for the person who authenticated the PayLink app. This is the person who clicked the **Authenticate** button while running the PayLink setup wizard. 10. Add the new permission set to their user record. ## Assign the Proper Page Layout to the Corresponding Record Type 1. Navigate to Setup. 2. Click the Object Manager tab. 3. In the Quick Find box, enter and click "Payment Method." 4. Click the Page Layouts tab. 5. Click **Page Layout Assignment**. 6. Click **Edit Assignment**. 7. Set the **Page Layout to Use** to "Other" and confirm that the "Other" column lists "Other" for each relevant profile. 8. Click **Save**. ![H_02_18_Stripe checkout 2](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/H_02_18_Stripe%20checkout%202.png) ## Setup Webhooks If you haven't already setup webhooks in your org you'll want to do this. Stripe Checkout utilizes data that is brought into the org via webhooks. Related records like Payment Method and Payment Gateway Customer are attached to the Transaction **AFTER** the webhooks process. Check out this guide for setting up [Webhooks](/v1/docs/webhooks). ## Enable SCA If you are using [Strong Customer Authentication (SCA)](https://docs.blackthorn.io/docs/sca) and Stripe Checkout with Events, you must also enable the SCA feature. To enable SCA in your org, complete the following steps. 1. Click the **Gear** icon. 2. Click **Setup**. 3. In the Quick Find box, enter and click "Custom Settings." 4. Click **Manage** next to Blackthorn Pay - Trigger Settings. 5. Click **Edit**. 6. Set **Enable SCA** = "True" (checked).![H_02_22_enable sca in org](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/H_02_22_enable%20sca%20in%20org.png) 7. Click **Save**. ## Access Stripe Checkout from PayLink 1. Create a Transaction record. 2. At a minimum set the following: - **Amount** - **Payment Gateway** (Must be a Payment Gateway connected to Stripe) - **PayLink Configuration** (Must be the PayLink Configuration with Stripe Checkout set as an  **Allowed Payment Methods**.) 3. Click the PayLink URL populated in the **PayLink** field. ## Complete a Stripe Checkout with PayLink 1. Wait for the PayLink page to load. 2. Click **PAY**. 3. Wait for Stripe Checkout to load. 4. Complete the Stripe Checkout form. 5. Observe the success page. 6. Observe the Paylink fields "Amount Paid" and "Paid on" are displayed. *Quick Help: If you aren’t redirected to Stripe Checkout after clicking **PAY** from the PayLink, you may need to reauthorize your Payment Gateway. Open the related Payment Gateway record and click **Connect to Gateway**.* [Embedded content](https://www.loom.com/embed/9e4c6a7402fd4ff89edac141151a7256) ## Stripe Checkout Considerations ### Existing Payment Methods Currently, Payment Method records created in Stripe Checkout cannot be reused for additional Transactions or updated through Blackthorn. This includes capturing an authorized one-time payment. We understand this does not create a new Transaction, but it does change the status of an existing one-time payment. Therefore, these are considered "one-time" Payment Methods, which can only be refunded through Blackthorn Payments. ### Stripe Payment Method Types The Payment Method object includes the **Type** field, which identifies the payment method type used for Stripe Checkout. This field differs from the Payment Method’s **Record Type** field. For example, say you use iDEAL to complete a Stripe Checkout transaction. After the Payment Method record is created and the webhook has been processed, you will see that the Payment Method’s **Record Type** = "Other" and **Type** = "Ideal." [Click here](https://docs.stripe.com/payments/payment-methods/overview) to see a list of Stripe-supported payment method types. We are working to incorporate most of the Stripe-supported payment method types into our solution; however, we will not support AfterPay / ClearPay. ### Apple Pay and Google Pay To see the option for Apple Pay or Google Pay in Stripe Checkout you must view Stripe Checkout from a supported device. Discover more about wallets [here](https://stripe.com/docs/payments/wallets). Example: To view the **Apple Pay** button in Stripe Checkout you must use an iOS device AND have your Apple Wallet configured. #### Iframes If you are using an iframe with Stripe Checkout, follow the steps in Stripe’s [“Register domains for payment methods” article](https://docs.stripe.com/payments/payment-methods/pmd-registration?dashboard-or-api=dashboard#using-an-iframe) to configure the domain. Per Stripe's Payment Request Button docs, users can also use “allow="payment *" (with the asterisk). For some users in the UK, adding the asterisk helps stop Google pay and Apple Pay from appearing. The asterisk delegates payment permission to all nested cross-origin frames, which matters because Stripe loads its own iframes for Google Pay (pay.google.com) and Apple Pay. Without the asterisk, permission stops at the Blackthorn origin and doesn't propagate down. ## Currency Errors If, while using Stripe Checkout, you encounter and error on the Transaction record that refers to currency there is a workaround available while we develop a long-term solution. Currently, only USD, EUR, and GBP are added to the package as values available on the Payment Intent object. You'll need to add values following the instructions below for any currency outside of those values. What you'll see on the Transaction record: - **Error Message** = "Insert failed. First exception on row 0; first error: INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST, Currency: bad value for restricted picklist field: cny: [bt_stripe_Currency_c]" - **Error Parameter** = "The Transaction/Payment Intent was captured in Stripe but failed to save correctly in Salesforce." The above errors were displayed when attempting to use Stripe Checkout with the AliPay Payment Method **Type** and a Transaction with the **Currency ISO** = "CNY". **How Do You Resolve?** You'll want to add the desired currency value to the **Currency** picklist on the Payment Intent object. 1. Navigate to Setup -> Object Manager -> Payment Intent -> Fields & Relationships -> Currency. 2. Click **New** in the Values section. 3. Add the **Currency** value to the list of picklist values. (ex: "CNY") 4. Click **Save**. ![H_02_18_Stripe checkout 3](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/H_02_18_Stripe%20checkout%203.png)