← All articles

October 11, 2026 · Muhammad Umar · More by Muhammad Umar

Stripe Global Payouts: Per-Currency Default Payout Methods

Stripe's Accounts v2 API now maps a default payout method per currency, not one platform default. What breaks if you used default_outbound_destination.

A per-currency default, not a single platform default

On 2026-08-26, Stripe added defaults.payout_methods to the Account object in the Accounts v2 API, currently in public preview. It's a per-currency hash mapping ISO currency codes to Payout Method IDs — set it keyed by lowercase currency code, for example {"usd": "usba_test_..."}, and Global Payouts uses that mapping to decide which payout method to use for a given currency. Passing an empty string for a currency unsets its default. At payout time, if you create a payout in a currency that has a recipient default set, you can omit PayoutMethod entirely; specifying one explicitly overrides the default for that single payout only.

Why a per-currency map, specifically

This exists because of a constraint introduced in the 2026-03-25 multicurrency update: each v2 Payout Method supports exactly one currency. There's no bank account object that pays out in both USD and EUR — to let a recipient receive payouts in more than one currency, a platform has to create a separate Payout Method per currency, which is also why currency became a required, breaking parameter when creating v2 Payout Method credentials. Once a recipient can hold several single-currency Payout Methods, "the recipient's default payout method" stops being a single value and has to become a map.

What changes if you used default_outbound_destination

Older integrations set a recipient's default through configuration.recipient.default_outbound_destination. That field still exists, and Stripe states that any values already set through it are automatically reflected into defaults.payout_methods on the same Account object — existing integrations keep working as-is. But anything you write going forward needs to target defaults.payout_methods directly.

Where this applies, and where it doesn't

Two scope limits are worth building around rather than discovering later. First, this is public preview — it requires the Stripe-Version: 2026-08-26.preview header, or an SDK built against it, not a GA feature. Second, Stripe's own multicurrency changelog states that v2 money-movement flows — OutboundPayments, OutboundTransfers, and InboundTransfers — don't support multicurrency Payout Methods at all; they only work with Payout Methods set up in their local currency. The per-currency default is scoped to Global Payouts, not a blanket multicurrency upgrade across every v2 money-movement API.

Sources

Payments & Marketplaces

ASSOSIATIX works on this every day. See our Custom Shopify App Development service

$./start-project.sh

READY TO BUILD
WHAT'S NEXT?

Tell us where you are and where you want to go. We'll help you choose the right path—storefront, system, product, or a focused growth sprint.