Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
Overview
Billing
OverviewAbout the Billing APIs
Subscriptions
    Overview
    How subscriptions work
    Get started
    Quickstart
    Plan an integration
    Build an integration
    Use cases
    About subscriptions
    Enable billing mode
    Subscription event definitions
    Entitlements
    Subscription invoices
    Subscription schedules
    Recurring pricing models
    Strong Customer Authentication (SCA)
    Set up subscriptions
    Configure collection methods
    Embed a pricing table
    Set quantities
    Set billing cycles
    Manage subscriptions
    Migrate subscriptions to Stripe
    Subscribe to multiple items
    Backdate subscriptions
    Set trial periods
    Handle subscriptions with deferred payment
    Apply coupons
    Modify subscriptions
    Manage subscription payment methods
      ACH Direct Debit
      Amazon Pay
      Bacs Direct Debit in the UK
      Bank transfer
      BECS Direct Debit in Australia
      Cash App Pay
      PayPal
      Revolut Pay
      Korean Cards
      Kakao Pay
      Naver Pay
      Pre-authorized debit in Canada
      SEPA Direct Debit in the EU
      iDEAL with SEPA Direct Debit
      Bancontact with SEPA Direct Debit
    Analytics
Invoicing
Usage-based billing
Quotes
Customer management
Billing with other products
Revenue recovery
Automations
Test your integration
Tax
Overview
Use Stripe tax
Manage compliance
Reporting
Overview
Select a report
Configure reports
Reports API
Reports for multiple accounts
Revenue recognition
Data
OverviewSchema
Custom reports
Data Pipeline
Data management
HomeRevenueSubscriptionsManage subscription payment methods

Set up a subscription with bank transfers

Learn how to create and charge for a subscription with bank transfers.

Use this guide to set up a subscription using bank transfers as a payment method.

Create a product and price
Dashboard
Server-side

Products and Prices are core resources for Subscriptions. Create a product and a recurring price. Save the price ID—you’ll need it later in this guide.

Create or retrieve a customer
Server-side

To start, create a customer with a valid email address, if one doesn’t already exist. The valid email address ensures that the customer can receive invoices you send to them. Funds from bank transfers are held in the customer’s cash balance, so you have to associate a Customer object with each bank transfer subscription.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d name="Jenny Rosen" \ --data-urlencode email="jenny.rosen@example.com"

Create the subscription
Server-side

Create the subscription using the customer ID and price ID from the previous steps.

  • Set collection_method to send_invoice.
  • Set days_until_due to configure how many days the customer has to pay the invoice.
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer={{CUSTOMER_ID}} \ -d "items[0][price]"={{PRICE_ID}} \ -d collection_method=send_invoice \ -d days_until_due=30 \ -d "payment_settings[payment_method_types][0]"=customer_balance

An invoice is sent to the customer when the Subscription is due. The invoice is marked as paid if the customer has enough funds in their cash balance. Otherwise, it contains the necessary information needed for the customer to push funds from their bank account. This invoice also has a link to the Hosted Invoice Page. Subsequent invoices use the price you created in the first step.

Learn more about bank transfer invoices.

OptionalCreate a subscription schedule
Server-side

Test your integration

Use the Stripe Dashboard or CLI to simulate an inbound transfer of funds.

As soon as you receive a fund, Stripe performs automatic or manual reconciliation of the invoice.

Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Join our early access program.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc