Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
About Stripe payments
Upgrade your integration
Payments analytics
Online payments
OverviewFind your use caseManaged Payments
Use Payment Links
Build a checkout page
Build an advanced integration
Build an in-app integration
Payment Methods
Add payment methods
Manage payment methods
Faster checkout with Link
Payment interfaces
Payment Links
Checkout
Web Elements
In-app Elements
Payment scenarios
Custom payment flows
Flexible acquiring
Orchestration
    Overview
    Route payments to multiple processors
    Manage rules
In-person payments
Terminal
Other Stripe products
Financial Connections
Crypto
Climate
HomePaymentsOrchestration

Route payments to multiple processorsPrivate preview

Use Orchestration to route payments across your payment processors.

Copy page

Want access to Orchestration?

Orchestration is in private preview. Share your email address to request access.

Orchestration lets you configure payment processor selection using rules you create in the Dashboard. You can route payments based on conditions such as card country, currency, amount, and more. You can also view analytics for payment success rates and accepted payment volume across processors.

Before you begin

To access Orchestration, contact your Stripe representative who can guide you through the following steps:

  • Confirm that Stripe supports the destination processor.
  • Onboard your Stripe account with Orchestration. You need to provide API keys for your destination processor in the Stripe Dashboard.
  • Confirm your Stripe integration supports Orchestration. Your Stripe representative can assist as you go live.

Add test rules in a sandbox
Dashboard

Rules contain the conditions and actions for routing payments to a specific processor.

  1. Create a sandbox if you don’t have an existing one. You use the sandbox to add and test rules before going live.
  2. On the Orchestration page in the Dashboard, click Add rules.
  3. Add rules with a condition that routes the payment to one of the available processors if the Card country is equal to United Kingdom. Add an action to route the payment to Stripe if the condition isn’t met.
  4. Click Activate test rules.

Create a PaymentIntent
Server-side

Note

You can also configure payments created by Billing, Checkout Sessions, Payment Links, or in the Dashboard to follow your rules. These payments automatically create a PaymentIntent. Contact your Stripe representative to configure these automatically-created PaymentIntents to use Orchestration.

When you create a PaymentIntent, include the payments_orchestration parameter to enable Orchestration.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=500 \ -d currency=usd \ -d "payment_method_types[]"=card \ -d payment_method=pm_card_visa \ -d "payments_orchestration[enabled]"=true \ -d confirm=true

Orchestration doesn’t support the Setup Intents API and flexible acquiring features on other processors. For transactions that involve a 3D Secure request, you’re responsible for providing Stripe with the Acquirer BIN that corresponds to the processor you route those transactions to. Check with your Stripe representative if you’re unsure whether Orchestration supports the features you use.

Verify your test rules
Server-side
Dashboard

Use test cards to make sure Stripe routes payments to the processors specified by your rules. For example, to test if payments route to the processor you selected when the card country equals the United Kingdom, you can use the test payment method pm_card_gb:

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=12345 \ -d currency=gbp \ -d "payment_method_types[]"=card \ -d payment_method=pm_card_gb \ -d "payments_orchestration[enabled]"=true \ -d confirm=true

After creating a test payment, view the details page for your payment to see which processor the payment routed to. On the payment details page, you can see the processor under Processor. Recent activity also shows the processor and the rules that routed the payment. Click the link to view the rules that routed this payment.

The Payment Record contains the execution history for payments where Orchestration is enabled. Retrieve the Payment Record using its ID from the PaymentIntent.

Command Line
cURL
curl https://api.stripe.com/v1/payment_records/{{PAYMENT_RECORD_ID}} \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Alternatively, enter the Payment Record ID in the Inspector in Workbench.

Verify which processor the payment routed to by viewing the processor_details hash:

Payment Record object
{ "id": "pr_123456", "object": "payment_record", "amount_authorized": { "currency": "gbp", "value": 12345 }, ... "processor_details": { "type": "processor_a", ... }, ... }

OptionalUpdate your reporting back end
Server-side

OptionalUpdate your webhook handler
Server-side

Add rules for your live integration
Dashboard

After testing your integration, exit your sandbox and add rules for your live integration. Orchestration is enabled as soon as you activate your rules. Learn about other conditions and actions to route payments.

Monitor processor performance

After enabling Orchestration for your live payments, use the Dashboard to monitor performance for your processors.

  • On the Orchestration overview page, access performance analytics and payment success rates across your processors. You can filter this data to see performance by currency, card brand, card country, card type, or transaction type.
  • On the Payment details page, view processor information for an individual payment.
  • On the Payments analytics page, analyse your overall payment success rate to find out where payments fail. Use the processor filter to view only the payments routed through a specific processor.

The Dashboard doesn’t currently display balance summary and activity reports, dispute status, or receipts for payments processed on other processors. Data can take up to 2 days to populate. The Orchestration data that we share in the Dashboard relies on data provided by you and your other processors.

Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access programme.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc