Search...
APIJSLog inGet started in sandbox
Airwallex logo
Home
Platform APIs
Connected Accounts
Accounts
Payments
Transactional FX
Payouts
Issuing
Back to home
OverviewUnderstanding Global Treasury
Market & infrastructure coverage
Use cases
Receive funds
Add funds via direct debits from Linked Accounts
Direct debit schemes and mandate requirements
Australia (AU_BECS_DEBIT)Australia (AU_PAYTO_DEBIT)United States (US_ACH_DEBIT)United States (US_FEDWIRE_DEBIT)United Kingdom (GB_BACS_DEBIT)Europe SEPA (EU_SEPA_DEBIT)
Canada (CA_EFT_DEBIT)Hong Kong (HK_FPS_DEBIT)Singapore (SG_EGIRO_DEBIT)New Zealand (NZ_BECS_DEBIT)
Retrieve your depositsDirect debit deposit statusesDirect debit deposit error codesUnderstanding direct debit flight times and funding limits
Receive bank transfers to Global Accounts
Receive via Airwallex Pay
Revenue and fees
Test and go live

Europe SEPA (EU_SEPA_DEBIT)

Before you begin

Settlement times

eu sepa direct debit settlement time

As indicated above, SEPA Core direct debit takes 6-7 business days to settle, depending on submission before/after the cut-off time. Therefore, we recommend leaving some buffer time ahead of the cut-off to avoid delays.

Customers who wish to accelerate the settlement time may apply for our Faster Direct Debit offering, which offers a shortened settlement time of 1-2 business days, and will settle before 11:30 AM CET. To enable this capability, please contact your Account Manager and confirm our terms, conditions, and fees.

Mandate requirements

To add funds via SEPA Core direct debit, your customers must first link their Europe (SEPA) external bank accounts, as outlined in Linked Accounts.

Before any SEPA direct debit is processed, the owner of the external bank account must authorize Airwallex to directly debit the account on your behalf, in compliance with the SEPA Core Rules. A copy of the authorization will be sent by Airwallex via email to the bank account owner, and is stored and made available to be shared with the customer at all times.

The following is a guide to building your native product experience for your customers to link their external bank account and sign the mandate/agreement.

1. Linking an external bank account

The title should clearly inform your customers that they are linking an external bank account to set up direct debit.

You must ask the external bank account owner for:

  • Bank account name
  • IBAN
  • Bank account owner email address

2. Confirmation of account details and direct debit authorization

The customers should be given a prompt to confirm that their bank account details are correct before submitting the Linked Bank Account.

The following text must be displayed:

Direct Debit Mandate

By signing this mandate form, you authorize (A) Airwallex (Netherlands) B.V. to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with the instructions from Airwallex (Netherlands) B.V.. As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. Your rights are explained in a statement that you can obtain from your bank.

3. Confirmation of direct debit set up

It is recommended that you provide a confirmation page to your customers at the end of the process to inform them that direct debit has been successfully set up for the Linked Bank Account.

API instructions

1. Create Linked Account with direct debit mandate

Referring to Linked Account requirements for direct debit, both BUSINESS and INDIVIDUAL Linked Account types are supported for SEPA direct debit in the SEPA region.

Micro-deposit and Open Banking are both available for this scheme. Please follow the instructions in Create a Linked Account and submit the required mandate information under the mandate object.

Example request for Linked Account created using micro-deposit verification

Shell

If you are registered as a platform account, you can call this endpoint on behalf of your customers by specifying the open ID in the x-on-behalf-of header.

Example response

JSON

Example request for Linked Account created using Open Banking verification

Shell

If you are registered as a platform account, you can call this endpoint on behalf of your customers by specifying the open ID in the x-on-behalf-of header.

Example response

JSON

Example request

Shell

If you are registered as a platform account, you can call this endpoint on behalf of your customers by specifying the open ID in the x-on-behalf-of header.

2. Create direct debit deposit

Before creating a direct debit deposit, please ensure that you have a sufficient funding limit by checking your available funding limit.

If the Linked Account was created using Open Banking verification, you may use Check available balance API to ensure that the Linked Account has sufficient balance before initiating a direct debit deposit.

Next, follow the instructions outlined in Create a direct debit deposit. Please note that the direct debit deposit reference for SEPA direct debit should not exceed 140 characters.

Example request

Shell

If you are registered as a platform account, you can call this endpoint on behalf of your customers by specifying the open ID in the x-on-behalf-of header.

Clearing system error codes

To help you handle exceptions systematically, this page provides a comprehensive list of all possible clearing system errors and detailed descriptions when the Linked Accounts or a direct debit deposit from Linked Accounts are in failure statuses.

We recommend using the Airwallex error code or the iso_code for systematic exception handling. The code from provider_failure_details can be used for troubleshooting against the clearing system rules, but it is not advised for systematic handling because the clearing system may update it from time to time.

Linked Account error codes

codeiso codeprovider failure details code description
not_allowed_currencyAM03NARRPayment to the bank account under the specified currency is not allowed. Contact the payer’s bank for further instructions.
otherNARRNARRPayment to the bank account is not allowed. Contact the payer’s bank for further instructions.

Direct debit deposit error codes

codeiso codeprovider failure details codedescription
incorrect_account_numberAC01AC01The payer’s bank account number is invalid. Please confirm the account number with the payer.
closed_account_numberAC04AC04The payer’s bank account is closed. Contact the payer to reopen the account, or create a new mandate to charge a different bank account.
blocked_accountAC06AC06The bank account has been blocked for SEPA direct debits. Contact the payer to remove the block, or create a new mandate to charge a different bank account.
transaction_forbiddenAG01AG01SEPA direct debits cannot be created under the payer’s bank account type. Contact the payer or payer’s bank for further information.
not_allowed_amountAM02AM02The payer sets a limit with its bank and the direct debit deposit amount is greater than the limit.
insufficient_fundsAM04AM04The balance in the Linked Account is insufficient. Please ensure funds are added to the Linked Account and retry.
duplicationAM05AM05A duplicate direct debit deposit has been created. Make sure you have not submitted duplicate deposits before contacting your account manager for further information.
debtor_bank_is_not_registeredDNORDNORThe payer’s bank is not registered as a clearing system member (CSM) in the SEPA direct debit system. Contact the payer’s bank for further information.
settlement_failedED05ED05The settlement of the transaction has failed. Contact the payer’s bank for the failure reason.
no_mandateMD01MD01The direct debit mandate is not present. Please confirm that the payer or payer's bank has not cancelled the mandate before contacting your account manager for further information.
end_customer_deceasedMD07MD07You cannot create a direct debit against the payer’s bank account because the payer is deceased. Contact the payer’s bank for further instructions.
not_specified_reason_customer_generatedMS02MS02The payer refuses the direct debit after receiving the pre-notification. Reason has not been specified. Contact the payer for further information.
not_specified_reason_agent_generatedMS03MS03Rejection or return reason has not been specified by the payer’s bank, usually due to data protection concerns. Contact the payer’s bank for further information.
bank_identifier_incorrectRC01RC01The payer’s BIC code is invalid. Please confirm the BIC with the payer.
missing_debtor_account_or_identificationRR01RR01Specification of the payer’s IBAN or unique identification needed for regulatory requirements is insufficient. Contact your account manager for further information.
missing_debtor_name_or_addressRR02RR02Specification of the payer’s name, or address needed for regulatory requirements is insufficient. Contact your account manager for further information.
regulatory_reasonRR04RR04The transaction is rejected or returned for regulatory reasons. Contact your account manager for further information.
specific_service_offered_by_debtor_agentSL01SL01The direct debit conflicts with specific account instructions placed by the payer's bank. E.g. Direct debit frequency limitation. Contact the payer's bank for further information.
debtor_bank_not_permitted_to_receive_direct_debitsNARRXT79The payer’s bank is not allowed to receive direct debits. Contact the payer’s bank for further information.
invalid_use_of_bicNARRXT90Non-SEPACOM participants cannot send direct debit instructions to the payer's bank. Contact the payer's bank for further information.
bank_not_part_of_closed_user_groupNARRXT91Non-SEPACOM participants cannot send direct debit instructions to the payer's bank. Contact the payer's bank for further information.
Was this page helpful?
On this page
  • Before you begin
  • Mandate requirements
  • API instructions
  • Clearing system error codes
Was this page helpful?