Create an OutboundTransfer
Creates an OutboundTransfer.
Returns
Returns an OutboundTransfer object if there were no issues with OutboundTransfer creation. The status of the created OutboundTransfer object is initially marked as processing.
Parameters
amount(integer, required) Amount (in cents) to be transferred.currency(enum, required) Three-letter ISO currency code, in lowercase. Must be a supported currency.financial_account(string, required) The FinancialAccount to pull funds from.description(string, optional) An arbitrary string attached to the object. Often useful for displaying to users.destination_payment_method(string, optional) The PaymentMethod to use as the payment instrument for the OutboundTransfer.destination_payment_method_data(object, optional) Hash used to generate the PaymentMethod to be used for this OutboundTransfer. Exclusive withdestination_payment_method.destination_payment_method_data.type(enum, required) The type of the destination. Possible enum values:financial_account
destination_payment_method_data.financial_account(string, optional) Required if type is set tofinancial_account. The FinancialAccount ID to send funds to.
destination_payment_method_options(object, optional) Hash describing payment method configuration details.destination_payment_method_options.us_bank_account(object, optional) Optional fields forus_bank_account.destination_payment_method_options.us_bank_account.network(enum, optional) Specifies the network rails to be used. If not set, will default to the PaymentMethod’s preferred network. See the docs to learn more about money movement timelines for each network type. Possible enum values:achACH networkus_domestic_wireUS domestic wire network
metadata(object, optional) Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value tometadata.statement_descriptor(string, optional) Statement descriptor to be shown on the receiving end of an OutboundTransfer. Maximum 10 characters forachtransfers or 140 characters forus_domestic_wiretransfers. The default value is “transfer”. Can only include -#.$&*, spaces, and alphanumeric characters.
curl
curl https://api.stripe.com/v1/treasury/outbound_transfers \
-u "<<YOUR_SECRET_KEY>>" \
-d financial_account={{FINANCIAL_ACCOUNT_ID}} \
-d destination_payment_method=pm_1234567890 \
-d amount=500 \
-d currency=usd \
-d "description=OutboundTransfer to my external bank account"Response
json
{
"id": "obt_1Mtaaz2eZvKYlo2CUu1tWGAl",
"object": "treasury.outbound_transfer",
"amount": 500,
"cancelable": true,
"created": 1680717489,
"currency": "usd",
"description": "OutboundTransfer to my external bank account",
"destination_payment_method": "pm_1234567890",
"destination_payment_method_details": {
"billing_details": {
"address": {
"city": "San Francisco",
"country": "US",
"line1": "1234 Fake Street",
"line2": null,
"postal_code": "94102",
"state": "CA"
},
"email": null,
"name": "Jane Austen"
},
"type": "us_bank_account",
"us_bank_account": {
"account_holder_type": "company",
"account_type": "checking",
"bank_name": "STRIPE TEST BANK",
"fingerprint": "AP24Iso0btGp4N10",
"last4": "6789",
"network": "ach",
"routing_number": "110000000"
}
},
"expected_arrival_date": 1680825600,
"financial_account": "fa_1Mtaaz2eZvKYlo2CUf56sIA1",
"hosted_regulatory_receipt_url": "https://payments.stripe.com/regulatory-receipt/CBQaFwoVYWNjdF8xMDMyRDgyZVp2S1lsbzJDKLHttqEGMgYCCwVOvUY6NpO8ArWrjrz6Hxk3d8tQ4d_RvOqMTOeq6js5eE94-f-7DwBzjjD1wxIUhOyub1KFYH8QKxj9oA",
"livemode": false,
"metadata": {},
"returned_details": null,
"statement_descriptor": "transfer",
"status": "processing",
"status_transitions": {
"canceled_at": null,
"failed_at": null,
"posted_at": null,
"returned_at": null
},
"transaction": "trxn_1Mtaaz2eZvKYlo2Cn9D12psR"
}