Split Payments for Custom Checkout
In API version 64.0 and later, customers can use multiple credit cards to pay for an order through Checkout APIs. This feature is available for authenticated and guest buyers in B2B and D2C Lightning Web Runtime (LWR) stores.
To use split credit card payments, your checkout implementation must meet these requirements.
- Your store uses custom checkout or is headless.
- The Cart Calculate API is turned on.
- The High Scale Orders feature is enabled.
- Streamlined place order is enabled.
Additionally, the checkout itself must meet these requirements.
- The payment is split among multiple credit cards. No other payment types are supported.
- The cart includes only nonsubscription products.
- The payment uses standard fields, not custom ones.
If your store uses Salesforce Payments, follow the streamlined place order call sequence. In the request payload for the Prepare Payments API, include multiple payment intents for the split payment. You can specify up to 5 split payment intents. The split payment intents, which must have payment method types set to credit card, are associated with a single payment group.
For server-side split payment processing, implement these calls from an active checkout session.
- Tokenize the payment method. Make a POST request to the Commerce Webstore Payments Token resource, ensuring that you capture the credit card information in the
cardPaymentMethod
property. - Authorize the payment method. Make a POST request to the Commerce Webstore Checkout Payments resource with a
requestType
ofAuth
. Specify the payment token from the previous call. In thepaymentAmount
field, specify a value that’s less than the total amount for the cart. - Repeat steps 1 and 2. Tokenize and authorize additional payment methods until the sum of payment amounts equals the cart’s grand total amount, including tax and shipping. For example, if a cart has a grand total amount of $100, you can set up split payments of $75 and $25 on separate payment methods. Each payment authorization is aggregated under the same payment group on the cart.
- Create the order. Make a POST request to Commerce Webstore Checkout Orders. With streamlined place order enabled, validations check that the payment amount covers the full cart amount. If not, order submission is blocked. However, an order can still go through if the payment amount is greater than the cart amount. Allowing overpayment, which a merchandiser can reconcile afterward, prevents the scenario of an orphaned payment with no order.