# Stripe app for Salesforce Platform invocations This guide hands you actionable code examples, that walk you through essential tasks like creating Stripe customers, initiating checkout sessions, and listing existing customers—all directly from Salesforce. Geared toward Salesforce administrators, developers, and anyone interested in seamless Stripe-Salesforce integrations, these examples utilize custom Apex classes for class based invocations using Stripe API calls. Whether you’re building a new e-commerce solution or upgrading your payment workflows, this guide equips you with the tools you need for efficient Stripe operations in Salesforce. ## Create a Customer in Stripe The following code example creates a Stripe [Customer](https://docs.stripe.com/api/customers.md) with a `name`, `email`, and `metadata` set. #### Java ```java // Step 1: Initialize an instance of the stripeGC.v01_CreateCustomers.V1 class stripeGC.CreateCustomers.V1 params = new stripeGC.CreateCustomers.V1(); List paramsCollection = new List{ params }; // Step 2: Set the accountRecordId parameter to the record ID of the Stripe Account you wish to connect to params.accountRecordId = 'a028B0000029RhlQAE'; // Step 3: Set the metadata field stripeGC.Metadata metadata = new stripeGC.Metadata(); metadata.listAdditionalStringField = new List{ new stripeGC.AdditionalString('AccountID', 'abc123') }; params.metadata = metadata; // Step 4: Set the name field params.name = 'Tim Smith'; // Step 5: Set the email field params.email = 'example@example.com'; // Step 6: Call the stripeGC.v01_PostCustomers.postCustomers_2022_11_15 method List customers = stripeGC.v01_CreateCustomers.createCustomers_2022_11_15(paramsCollection); ``` ## Create a Checkout Session The following code example creates a Checkout session in Stripe: #### Java ```java // Step 1: Initialize an instance of the stripeGC.v01_CreateCheckoutSessions.V1 class stripeGC.CreateCheckoutSessions.V1 params = new stripeGC.CreateCheckoutSessions.V1(); List paramsCollection = new List{ params }; // Step 2: Set the accountRecordId parameter to the record ID of the Stripe Account you wish to connect to params.accountRecordId = 'a028B0000029RhlQAE'; // Step 3: Set the checkout line items stripeGC.CreateCheckoutSessionsReqLineItem cliparams = new stripeGC.CreateCheckoutSessionsReqLineItem(); cliparams.price = 'price_1NhcVkBSPQ8HL343ZNsBp'; //price id from Stripe. cliparams.quantity = 1; List cliparamlist = new List(); cliparamlist.add(cliparams); params.lineItems = cliparamlist; // Step 4: Set mode,successurl,client ref fields params.mode = 'payment'; params.successUrl = 'https://stripe.com'; params.clientReferenceId = 'abcd123'; // Step 5: Call the stripeGC.v01_CreateCheckoutSessions.CreateCheckoutSessions_2022_11_15 method List results = stripeGC.v01_CreateCheckoutSessions.createCheckoutSessions_2022_11_15(paramsCollection); ``` ### List Customers The following code example lists all of your customers that are stored in Stripe: ```java // Step 1: Initialize an instance of the stripeGC.v01_ListCustomers.V1 class stripeGC.ListCustomers.V1 params = new stripeGC.ListCustomers.V1(); List paramsCollection = new List{ params }; // Step 2: Set the accountRecordId parameter to the record ID of the Stripe Account you wish to connect to params.accountRecordId = 'a028B0000029RhlQAE'; // Step 3: Call the stripeGC.v01_ListCustomers.listCustomers_2022_11_15 method List results = stripeGC.v01_ListCustomers.listCustomers_2022_11_15(paramsCollection); System.debug(results[0]); ``` ## See also - [Installation guide](https://docs.stripe.com/use-stripe-apps/stripe-app-for-salesforce/installation-guide.md) - [Enablement videos](https://docs.stripe.com/use-stripe-apps/stripe-app-for-salesforce/training.md) - [Configure events](https://docs.stripe.com/use-stripe-apps/stripe-app-for-salesforce/configure-events.md)