Breaking changes
Transfers are now split into payouts and transfers Breaking changes
What’s new
Splits the Transfer object into Payout and Transfer. The Payout object represents money moving from a Stripe account to an external account (bank or debit card). The Transfer object now only represents money moving between Stripe accounts on a Connect platform. For more details, see Transfer Payout Split.
Impact
Introduces a clearer distinction between payouts to external accounts and transfers between Stripe accounts on a Connect platform. You can now manage these two types of transactions more specifically, with payouts for external transfers and transfers for internal platform movements.
Changes
| Parameters | Change | Resources or endpoints |
|---|---|---|
| transfer_schedule transfer_statement_descriptor transfers_enabled | Removed | Account |
| amount_reversed reversaled reversals transfer_group | Removed | Payout |
| date recipient | Removed | Payout Transfer |
| failure_code failure_message method statement_descriptor status type | Removed | Transfer |
| Fields | Change | From → to |
| Payout. application_fee Transfer. application_fee | Changed | string → expandable($ApplicationFee) |
| Payout. bank_account | Changed | nullable(map(string: string)) → $BankAccount |
| Payout. card | Changed | nullable(map(string: string)) → $Card |
| Payout. source_transaction | Changed | string → expandable($Charge) |
Upgrade
- View your current API version in Workbench.
- If you use an SDK, upgrade to the corresponding SDK version for this API version.
- If you don’t use an SDK, update your API requests to include Stripe-Version: 2017-04-06
- Upgrade the API version used for webhook endpoints .
- Test your integration against the new version.
- If you use Connect, test your Connect integration .
- In Workbench, perform the upgrade . You can roll back the version for 72 hours.
Learn more about Stripe API upgrades.
