Stripe Balance Debit Agreement

A Stripe Balance Debit Agreement represents the permission for a Stripe account to debit funds from another Stripe account’s balance. The debit agreement token can be passed in payment_method_options to create a Stripe Balance payment method and mandate via SetupIntent or PaymentIntent APIs.

Was this section helpful?YesNo
Create a StripeBalanceDebitAgreement
POST/v1/stripe_balance_debit_agreements
Retrieve a StripeBalanceDebitAgreement
GET/v1/stripe_balance_debit_agreements/:id
Revoke a StripeBalanceDebitAgreement
POST/v1/stripe_balance_debit_agreements/:id/revoke

The StripeBalanceDebitAgreement object

Attributes

  • idstring

    Unique identifier for the object.

  • objectstring

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

  • financial_accountnullable string

    The ID of the financial account that is authorized to be debited.

  • livemodeboolean

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

  • multi_usenullable object

    If this is a multi_use debit agreement, this hash contains details about the agreement.

  • seller_network_business_profilestring

    The ID of the seller network business profile associated with this debit agreement.

  • single_usenullable object

    If this is a single_use debit agreement, this hash contains details about the agreement.

  • statusenum

    The status of the debit agreement.

    Possible enum values
    active

    The debit agreement is active and can be used to create payment methods.

    expired

    The debit agreement has expired due to single-use consumption.

    pending

    The debit agreement has been created and is pending activation.

    revoked

    The debit agreement has been revoked by the granting account.

The StripeBalanceDebitAgreement object
{
"id": "sbda_1Na5YT2eZvKYlo2Ctn7SPPuy",
"object": "stripe_balance_debit_agreement",
"financial_account": "",
"livemode": false,
"multi_use": null,
"seller_network_business_profile": "snbp_1Na5YT2eZvKYlo2Ctn7SPPuz",
"single_use": {
"amount": 1000,
"currency": "usd"
},
"status": "active"
}

Create a StripeBalanceDebitAgreement

POST /v1/stripe_balance_debit_agreements

Creates a Stripe Balance Debit Agreement granting permission to debit from a financial account’s balance via the Stripe Balance payment method. The returned token can be used in payment_method_options[stripe_balance][mandate_options] to generate a payment method and mandate.

Parameters

  • seller_network_business_profilestringRequired

    The ID of the seller network business profile being granted permission to debit.

  • financial_accountstring

    The ID of the financial account to debit.

  • multi_useobject

    If this is a multi_use debit agreement, this hash contains details about the agreement.

  • single_useobject

    If this is a single_use debit agreement, this hash contains details about the agreement.

Returns

Returns a StripeBalanceDebitAgreement object.

cURL
curl https://api.stripe.com/v1/stripe_balance_debit_agreements \
-u "sk_test_VePHdqK...NInc7u56JBrQsk_test_VePHdqKTYQjKNInc7u56JBrQ:" \
-d financial_account= \
-d seller_network_business_profile=snbp_1Na5YT2eZvKYlo2Ctn7SPPuz \
-d "single_use[amount]=1000" \
-d "single_use[currency]=usd"
Response
{
"id": "sbda_1Na5YT2eZvKYlo2Ctn7SPPuy",
"object": "stripe_balance_debit_agreement",
"financial_account": "",
"livemode": false,
"multi_use": null,
"seller_network_business_profile": "snbp_1Na5YT2eZvKYlo2Ctn7SPPuz",
"single_use": {
"amount": 1000,
"currency": "usd"
},
"status": "pending"
}