Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
About Stripe payments
Upgrade your integration
Payments analytics
Online payments
OverviewFind your use caseManaged Payments
Use Payment Links
Build a checkout page
Build an advanced integration
Build an in-app integration
Payment methods
Add payment methods
    Overview
    Payment method integration options
    Manage default payment methods in the Dashboard
    Payment method types
    Cards
    Pay with Stripe balance
    Bank debits
      ACH Direct Debit
      Bacs Direct Debit
      Pre-authorized debit in Canada
      Australia BECS Direct Debit
      New Zeland BECS Direct Debit
        Accept a payment
        Save bank details
        Migrate from another processor
      SEPA Direct Debit
    Bank redirects
    Bank transfers
    Credit transfers (Sources)
    Buy now, pay later
    Real-time payments
    Vouchers
    Wallets
    Enable local payment methods by country
    Custom payment methods
Manage payment methods
Faster checkout with Link
Payment interfaces
Payment Links
Checkout
Web Elements
In-app Elements
Payment scenarios
Custom payment flows
Flexible acquiring
Orchestration
In-person payments
Terminal
Other Stripe products
Financial Connections
Crypto
Climate
HomePaymentsAdd payment methodsBank debitsNew Zeland BECS Direct Debit

Migrate from another processor

Migrate bank accounts from another payment processor with the Payment Methods API.

Copy page

The Direct Debit Authority is the mandate that the customer gives to authorize the debit of the customer’s account. Before you migrate, make sure that you retain a copy of the Direct Debit Authority for each customer that you plan to migrate. Stripe might require you to provide copies of the Authorities, and you must do so promptly. Keep in mind that you continue to be responsible for any disputes opened before the migration.

Migration notification

Inform your customers about the migration before it happens. You must include the following information:

  • The name of your new processor: Stripe New Zealand Limited (direct debit authority code: 3143978)
  • The date when the transfer occurs (that is, when the migration will complete and when Stripe will start processing the direct debit payments)
  • Your customer support contact details

Tell your customers that no further action is required from them, unless they choose to cancel the mandate.

First Debit Notification

Inform your customers after you successfully process the first payment post-migration. You must send this notification in addition to the automatic notification that Stripe sends after successfully importing your customer bank account details.

Stripe notifications

Stripe automatically notifies your customers after successfully importing your customer bank account details. See mandate confirmation emails for more information.

In addition, Stripe also notifies your customers on each of the new payments post-migration. See pre-debit notification emails for more information.

If you’ve turned off automatic notifications by Stripe, you must notify your customers. Specific requirements apply for these requirements, see mandate confirmation emails and pre-debit notification emails for more information.

Manually migrate bank accounts from another payment processor

For each of your customers and bank accounts, create a SetupIntent:

  1. Create a new Customer object or retrieve an existing one to associate with this bank account.
Command Line
cURL
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
  1. Create and confirm a SetupIntent with your saved bank account details and the date of your customer’s original authorization to debit the account.
Command Line
cURL
curl https://api.stripe.com/v1/setup_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Version: 2025-04-30.basil; nz_bank_account_beta=v2" \ -d customer={{CUSTOMER_ID}} \ -d confirm=true \ -d "payment_method_data[type]"=nz_bank_account \ -d "payment_method_data[nz_bank_account][bank_code]"={{BANK_CODE}} \ -d "payment_method_data[nz_bank_account][branch_code]"={{BRANCH_CODE}} \ -d "payment_method_data[nz_bank_account][account_number]"={{ACCOUNT_NUMBER}} \ -d "payment_method_data[nz_bank_account][suffix]"={{SUFFIX}} \ -d "mandate_data[customer_acceptance][type]"=offline \ -d "mandate_data[customer_acceptance][accepted_at]"=1692821946
  1. Retrieve and store the PaymentMethod ID from the response to use for future payments. You can also retrieve it by listing all PaymentMethods for the customer.
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