Payment-method icon

Pre-Authorized Debit Canada for API only

Add Pre-Authorized Debit Canada (PADs Canada) to your API-only integration.

You can add Pre-Authorized Debit Canada (PADs Canada) to your existing integration. The following instructions show only what you must add to your integration specifically for PADs Canada.

If an instruction on this page corresponds with a step in the main integration guide, it includes a link to that corresponding step of the main integration guide.

Requirements

Requirement Description
Integration type Make sure that you have an existing API-only integration.
Checkout API Make sure that you use Checkout API v69 or later.
Setup steps Before you begin:
  • Contact our Support Team to add PADs Canada in your Customer Area.
  • Make sure you have a way to get a mandate (consent) from the shopper.

How it works

  1. The shopper selects PADs Canada as the payment method.
  2. The shopper enters their details in the payment form that you build.
  3. You collect the shopper's mandate (consent) for the PAD.
  4. When you make the payment request, you include additional information about the shopper's bank account.

Build your payment form

Include fields to collect the following information from your shopper in the payment form.

Field Description
Bank account number The Canadian bank account number from which the payment will be debited.

Format: numeric.
Minimum length: 7
Maximum length: 12

Example: 123456789012
Bank location ID The five-digit code that identifies the branch where the account was opened.

Example: 16001
Bank code The three-digit code that identifies the bank.

Example: 621
Account owner's name "John Smith"

You also need to obtain the shopper's mandate.

Get PADs Canada as an available payment method

When you make the /paymentMethods to get available payment methods, specify the following so that PADs Canada is included in the response.

Parameter Values
countryCode CA
amount.currency CAD

Add additional parameters to your /payments request

When you make a payment, add the following parameters:

Parameter Required Description
paymentMethod.type -white_check_mark- eft_directdebit_CA
paymentMethod.bankAccountNumber -white_check_mark- The Canadian bank account number.
paymentMethod.bankLocationId -white_check_mark- The five-digit code that identifies the branch where the account was opened.
paymentMethod.bankCode -white_check_mark- The three-digit code that identifies the bank.
paymentMethod.ownerName -white_check_mark- The name on the bank account.
billingAddress The account owner's address information.
Tokenization parameters We do not recommend using PADs for one-off payments.
Follow the instructions in Create and use tokens with the Advanced flow to create a token with the shopper's initial payment, and then use that token in the subsequent recurring PADs.
To create a token, add the tokenization parameters recurringProcessingModel, shopperInteraction, shopperReference, and storePaymentMethod.

Note that you need to get a mandate (consent) from the shopper for the payment or series of recurring payments.

In the /payments response, note the following:

  • additionalData: an object with the following details to save in your system.

    • eft_directdebit_CA.mandateId: the ID we generated for the shopper's PAD agreement.
    • eft_directdebit_CA.dateOfSignature: the date of the initial payment request, which is considered to be the date that the shopper accepted the PAD agreement.
    • tokenization.storedPaymentMethodId: the token to use in subsequent recurring PADs.
    • tokenization.shopperReference: your unique ID for the shopper, to use in subsequent recurring PADs.

    The tokenization response parameters are only included if the payment request contained the parameters to create a token, and in your Customer Area under Developers > Additional data you enabled Recurring details.

Present the payment result

Use the resultCode that you received in the /payments response to present the payment result to your shopper.

The resultCode values you can receive for PAD are:

resultCode Description Action to take
Authorised The payment has been successfully received by Adyen.
It may take up to five business days to know whether the payment was authorized by the bank. If the payment is successful, it will appear in the Settlement Detail Report. If it fails, you will receive a NOTIFICATION_OF_CHARGEBACK.
Inform the shopper that the payment was successful.
Refused The payment was refused. Ask the shopper to try the payment again using a different payment method.

Recurring payments

Pre-Authorized Debit Canada supports tokenization of the shopper's payment details for recurring transactions. Due to the risk of chargebacks, we do not recommend using PADs for one-off payments.

You are required to obtain a mandate from the shopper if you intend to make future recurring payments.

To make recurring payments, refer to Tokenization to:

  • Enable the Recurring tokens life cycle events webhook.
  • Create a token through the initial payment (see Add additional parameters above).
  • Pay with the token in subsequent payments. Note that you do not need to include the mandate ID in the recurring payment request.
  • Manage tokens.

Test and go live

You can test Pre-Authorized Debit Canada payments as well as chargebacks.

Test the payment flow

Test your integration by making test payments using the bankAccountNumber, bankLocationId, bankCode and ownerName of a real Canadian bank account. That account will not be debited.

Test the chargeback flow

You can test the return flow by making test payments with an ownerName value that consists of chargeback: followed by a PAD return reason code. For example, chargeback:05. The other account details to use are the same as when testing payments.

Note that in the test environment the return flow goes directly to the Chargeback stage.

Return reason codes

Use the following table with the most common PAD return reason codes to determine what the code means and if it is allowed to retry a returned payment.

Reason code Reason Description / Resolution Retry?
01 NSF (Debit Only) Non-sufficient funds (NSF). You can retry the transaction once within 30 days of the original authorization date. -white_check_mark- max 1x
02 Account not found The provided account information is incorrect. Retrying the transaction is not allowed. -x-
03 Payment Stopped/Recalled The customer instructed their bank to not honor a payment they previously authorized. Resolve the issue with the customer. When initiating a new transaction, get a new PAD agreement from the customer. If you are going to debit the same account, make sure the customer's bank stops blocking transactions from your company to this account. -x-
05 Account Closed The customer's bank account has been closed. Retrying the transaction is not allowed. -x-
07 No Debit Allowed The provided bank account cannot be used for EFT PADs. Ask the customer for permission to charge a different, EFT PAD-enabled bank account. -x-
08 Funds Not Cleared (Debit Only) Insufficient funds. You can retry the transaction once within 30 days of the original authorization date. -white_check_mark- max 1x
09 Currency/Account Mismatch The transaction currency does not match the currency of the bank account. Retrying the transaction is not allowed. -x-
10 Payor/Payee Deceased Contact the bank of the deceased account holder or account beneficiary. -x-
11 Account Frozen Contact your customer to obtain a different form of payment. The bank account cannot be used while it is frozen. This return code should be a red flag for your business. If you see this code, do your due diligence around verifying the identity of your customer. -x-
12 Invalid/Incorrect Account No. The provided account number is incorrect. Retrying the transaction is not allowed. -x-
14 Incorrect Payor/Payee Name The provided name of the account holder or beneficiary is incorrect. Retrying the transaction is not allowed. -x-
15 No Agreement Existed The customer informed their bank they did not give authorization for the transaction. Suspend any recurring transactions and resolve the issue with the customer. If you are going to debit the same account for a new transaction, make sure the customer's bank stops blocking transactions from your company to this account. -x-
16 Not According to Agreement - Personal The customer informed their bank that the payment is not in accordance with their personal PAD agreement. Suspend any recurring transactions and resolve the issue with the customer. -x-
17 Agreement Revoked - Personal The customer informed their bank they revoked their personal PAD agreement for the transaction. Suspend any recurring transactions and resolve the issue with the customer. If you are going to debit the same account for a new transaction, make sure the customer's bank stops blocking transactions from your company to this account. -x-
18 No Confirmation/Pre-Notification - Personal The consumer you tried to charge informed their bank they did not receive a confirmation or notification about the transaction. Suspend any recurring transactions and resolve the issue with the customer. If you are going to debit the same account for a new transaction, make sure the customer's bank stops blocking transactions from your company to this account. -x-
19 Not According to Agreement - Business The customer informed their bank that the payment is not in accordance with their business PAD agreement. Suspend any recurring transactions and resolve the issue with the customer. -x-
20 Agreement Revoked - Business The customer informed their bank they revoked their business PAD agreement for the transaction. Suspend any recurring transactions and resolve the issue with the customer. If you are going to debit the same account for a new transaction, make sure the customer's bank stops blocking transactions from your company to this account. -x-
21 No Confirmation/Pre-Notification - Business The company you tried to charge informed their bank they did not receive a confirmation or notification about the transaction. Suspend any recurring transactions and resolve the issue with the customer. If you are going to debit the same account for a new transaction, make sure the customer's bank stops blocking transactions from your company to this account. -x-
82 Interbank Reject - Invalid Institution Number The bank's institution number and/or branch transit number is invalid, or the bank does not accept PADs. -x-
90 Institution in Default The customer's bank has failed to fulfill its obligations. Retrying the transaction is not allowed. -x-

Go live

Before going live, contact our Support Team to add PADs Canada in your live Customer Area.

See also