Create an OutboundPaymentQuote object v2

Money Management
Outbound Payment Quotes
Create an OutboundPaymentQuote object

Creates an OutboundPaymentQuote usable in an OutboundPayment.

Learn more about calling API v2 endpoints.

Parameters

  • amountobjectRequired

    The “presentment amount” to be sent to the recipient.

    • amount.currencystringRequired

      A lowercase alpha3 currency code like “usd”.

    • amount.valueintegerRequired

      In minor units like 123 for 1.23 USD.

  • fromobjectRequired

    Request details about the sender of an OutboundPaymentQuote.

    • from.currencystringRequired

      Describes the FinancialAccount’s currency drawn from.

    • from.financial_accountstringRequired

      The FinancialAccount that funds were pulled from.

  • toobjectRequired

    Request details about the recipient of an OutboundPaymentQuote.

    • to.currencystring

      Describes the currency to send to the recipient. If included, this currency must match a currency supported by the destination. Can be omitted in the following cases:

      • destination only supports one currency
      • destination supports multiple currencies and one of the currencies matches the FA currency
      • destination supports multiple currencies and one of the currencies matches the presentment currency Note - when both FA currency and presentment currency are supported, we pick the FA currency to minimize FX.
    • to.payout_methodstring

      The payout method which the OutboundPayment uses to send payout.

    • to.recipientstringRequired

      To which account the OutboundPayment is sent.

  • delivery_optionsobject

    Method to be used to send the OutboundPayment.

    • delivery_options.bank_accountenum

      Method for bank account.

      Possible enum values
      automatic

      Method automatically selected by Stripe.

      local

      The group of local bank-transfer networks in the bank account’s country.

      wire

      The group of wire transfer networks in the bank account’s country.

Returns

Response attributes

  • idstring

    Unique identifier for the OutboundPaymentQuote.

  • objectstring, value is "v2.money_management.outbound_payment_quote"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • amountobject

    The “presentment amount” for the OutboundPaymentQuote.

    • amount.currencystring

      A lowercase alpha3 currency code like “usd”.

    • amount.valueinteger

      In minor units like 123 for 1.23 USD.

  • createdtimestamp

    Time at which the OutboundPaymentQuote was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z.

  • delivery_optionsnullable object

    Delivery options to be used to send the OutboundPayment.

    • delivery_options.bank_accountnullable enum

      Method for bank account.

      Possible enum values
      automatic

      Method automatically selected by Stripe.

      local

      The group of local bank-transfer networks in the bank account’s country.

      wire

      The group of wire transfer networks in the bank account’s country.

  • estimated_feesarray of objects

    The estimated fees for the OutboundPaymentQuote.

    • estimated_fees.amountobject

      The fee amount for corresponding fee type.

      • estimated_fees.amount.currencystring

        A lowercase alpha3 currency code like “usd”.

      • estimated_fees.amount.valueinteger

        In minor units like 123 for 1.23 USD.

    • estimated_fees.typeenum

      The fee type.

      Possible enum values
      cross_border_payout_fee

      The fee incurred when it’s a cross border payout.

      foreign_exchange_fee

      The fee incurred when there is a foreign exchange.

      instant_payout_fee

      The fee incurred when the payout is through instant delivery option.

      standard_payout_fee

      The standard fee for every payout.

      wire_payout_fee

      The fee incurred when the payout is through wire delivery option.

  • fromobject

    Details about the sender of an OutboundPaymentQuote.

    • from.debitedobject

      The monetary amount debited from the sender, only set on responses.

      • from.debited.currencystring

        A lowercase alpha3 currency code like “usd”.

      • from.debited.valueinteger

        In minor units like 123 for 1.23 USD.

    • from.financial_accountstring

      The FinancialAccount that funds were pulled from.

  • fx_quoteobject

    The underlying FXQuote details for the OutboundPaymentQuote.

    • fx_quote.lock_durationenum

      The duration the exchange rate lock remains valid from creation time. Allowed value is five_minutes.

      Possible enum values
      five_minutes

      Rate lock is valid for five minutes.

    • fx_quote.lock_expires_attimestamp

      Time at which the rate lock will expire, measured in seconds since the Unix epoch.

    • fx_quote.lock_statusenum

      Lock status of the quote. Transitions from active to expired once past the lock_expires_at timestamp. Value can be active or expired.

      Possible enum values
      active

      Rate lock is active.

      expired

      Rate lock is expired.

    • fx_quote.ratesmap

      Key pair: from currency Value: exchange rate going from_currency -> to_currency.

    • fx_quote.to_currencystring

      The currency that the transaction is exchanging to.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • toobject

    Details about the recipient of an OutboundPaymentQuote.

    • to.creditedobject

      The monetary amount being credited to the destination.

      • to.credited.currencystring

        A lowercase alpha3 currency code like “usd”.

      • to.credited.valueinteger

        In minor units like 123 for 1.23 USD.

    • to.payout_methodstring

      The payout method which the OutboundPayment uses to send payout.

    • to.recipientstring

      To which account the OutboundPayment is sent.

Error Codes
400outbound_payment_account_not_configured_as_recipient

Error returned when the recipient account in the OutboundPayment request is not configured as a recipient.

400outbound_payment_amount_too_large_for_payout_method

Error returned when the specified amount exceeds the payout method’s amount limits.

400outbound_payment_amount_too_large_for_selected_delivery_option

Error returned when user selected a delivery option but the specified amount exceeds the method limits.

400outbound_payment_default_payout_method_config_not_found

Error returned when a payout method is not provided in the OutboundPayment request and the recipient account does not have a default payout method.

400outbound_payment_delivery_option_not_supported

Error returned when the selected delivery option is not supported for the payout method.

400outbound_payment_from_balance_unsupported_currency

Error returned when the balance type in the OutboundPayment request does not support the provided currency.

400outbound_payment_invalid_payout_method_country

Error returned when the payout method country does not match the recipient account country.

400outbound_payment_no_suitable_delivery_options_for_large_amount

Error returned when user does not specify the delivery option or provides automatic, and the amount exceeds all the possible delivery options for this payout method.

400outbound_payment_payout_method_expired

Error returned when the provided payout method is expired.

400outbound_payment_recipient_feature_not_active

Error returned when recipient does not have the active features required to receive funds from this OutboundPayment request.

400outbound_payment_recipient_feature_not_active_for_suitable_delivery_option

Error returned when user does not specify the delivery option or provides automatic, and recipient feature is not active for suitable delivery option.

400outbound_payment_unsupported_currency

Error returned when the payout method does not support the request’s payout method currency.

404not_found

The resource wasn’t found.

404outbound_payment_from_financial_account_not_found

Error returned when financial account in the OutboundPayment request cannot be identified.

404outbound_payment_invalid_payout_method

Error returned when the payout method in the OutboundPayment request cannot be identified.

404outbound_payment_to_recipient_not_found

Error returned when the recipient account in the OutboundPayment request cannot be identified.

POST /v2/money_management/outbound_payment_quotes
curl -X POST https://api.stripe.com/v2/money_management/outbound_payment_quotes \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-05-28.preview" \
--json '{
"from": {
"financial_account": "fa_test_65R6SO61eK9ThYXegpO16R6SM1DrE9cwLCbFmOzpO7E2Fk",
"currency": "gbp"
},
"to": {
"recipient": "acct_test_61SGnR3uRIDJxlXGn66SGnR3E2SQicOtL82PNxQa8OUq",
"payout_method": "frba_test_61SGnRTvcEWKPakGS16SGnR3E2SQicOtL82PNxQa8IKG",
"currency": "eur"
},
"amount": {
"value": 1000,
"currency": "gbp"
}
}'
Response
{
"id": "obpq_test_65SH4Ui1am0VPJsl9Ht16R6SM1DrE9cwLCbFmOzpO7ESO8",
"object": "v2.money_management.outbound_payment_quote",
"amount": {
"value": 1000,
"currency": "gbp"
},
"created": "2025-03-28T17:17:45.253Z",
"delivery_options": null,
"estimated_fees": [
{
"amount": {
"value": 2,
"currency": "gbp"
},
"type": "standard_payout_fee"
},
{
"amount": {
"value": 3,
"currency": "gbp"
},
"type": "foreign_exchange_fee"
},
{
"amount": {
"value": 1.5,
"currency": "gbp"
},
"type": "cross_border_payout_fee"
}
],
"from": {
"debited": {
"value": 1000,
"currency": "gbp"
},
"financial_account": "fa_test_65R6SO61eK9ThYXegpO16R6SM1DrE9cwLCbFmOzpO7E2Fk"
},
"fx_quote": {
"lock_duration": "five_minutes",
"lock_expires_at": "2025-04-25T20:06:09.000Z",
"lock_status": "active",
"rates": {
"gbp": {
"exchange_rate": "1.19599"
}
},
"to_currency": "eur"
},
"livemode": false,
"to": {
"credited": {
"value": 1196,
"currency": "eur"
},
"payout_method": "frba_test_61SGnRTvcEWKPakGS16SGnR3E2SQicOtL82PNxQa8IKG",
"recipient": "acct_test_61SGnR3uRIDJxlXGn66SGnR3E2SQicOtL82PNxQa8OUq"
}
}