--- title: "Pre-Authorized Debit Canada Web Component" description: "Add Pre-Authorized Debit Canada (PADs Canada) to your Components integration." url: "https://docs.adyen.com/payment-methods/pad/web-component" source_url: "https://docs.adyen.com/payment-methods/pad/web-component.md" canonical: "https://docs.adyen.com/payment-methods/pad/web-component" last_modified: "2026-05-23T12:56:20+02:00" language: "en" --- # Pre-Authorized Debit Canada Web Component Add Pre-Authorized Debit Canada (PADs Canada) to your Components integration. [View source](/payment-methods/pad/web-component.md) 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. What you must add depends on the [server-side flow](/online-payments/build-your-integration) that your integration uses: ## Sessions flow Component ### Before-You-Begin ## Requirements | Requirement | Description | | | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | | **Integration type** | Make sure that you have an existing Sessions flow [Web Components integration](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components). | | | **Checkout API** | Make sure that you use Checkout API v69 or later. | | | **Webhooks** | Subscribe to [DIRECT\_DEBIT\_NOTICE\_OF\_CHANGE\_NOTIFICATION](https://docs.adyen.com/api-explorer/Webhooks/latest/post/DIRECT_DEBIT_NOTICE_OF_CHANGE_NOTIFICATION) webhooks to receive a notification when a shopper has outdated banking details. | | | **Setup steps** | Before you begin:- Contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to add PADs Canada in your Customer Area. - Make sure you have a way to [get a mandate](/payment-methods/pad#mandate) (consent) from the shopper. | | ### Import ## Import PADs Canada When you [import Adyen Web](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components#get-adyen-web), include `PreAuthorizedDebitCanada`. **Import** ```javascript import { AdyenCheckout, PreAuthorizedDebitCanada } from '@adyen/adyen-web'; ``` ### Add-Configuration ## Add additional configuration for PADs Canada You do not need to add any configuration parameters for PADs Canada. ### Initialize ## Initialize the Component for PADs Canada To [initialize](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components#initialize-the-payment-session) PADs Canada, use the `PreAuthorizedDebitCanada` class. **Initialize the Component** ```javascript const preAuthorizedDebitCanadaComponent = new PreAuthorizedDebitCanada(checkout); // Mount the Component to a containter. preAuthorizedDebitCanadaComponent.mount('#preAuthorizedDebitCanadaComponent-container') ``` ### Add-Parameters-Sessions-Request ## Add additional parameters to your /sessions request When you [create a payment session](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components#create-a-payment-session), add the following parameters: | Parameter | Required | Description | | ---------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | [billingAddress](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions#request-billingAddress) | | The account owner's address information. | | [Tokenization parameters](/online-payments/tokenization/create-tokens) | | We do not recommend using PADs for one-off payments. Follow the instructions in [Create tokens](/online-payments/tokenization/create-tokens) to create a token with the shopper's initial payment, and then [make a payment with the](/online-payments/tokenization/make-token-payments#make-a-one-click-payment) 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](/payment-methods/pad/#mandate) (consent) from the shopper for the payment or series of recurring payments. **Example /sessions request with tokenization** ```bash curl https://checkout-test.adyen.com/v71/sessions \ -H 'x-API-key: ADYEN_API_KEY' \ -H 'Idempotency-Key: YOUR_IDEMPOTENCY_KEY' \ -H 'content-type: application/json' \ -X POST -d '{ "amount": { "value": 1000, "currency": "CAD" }, "merchantAccount":"ADYEN_MERCHANT_ACCOUNT", "reference": "YOUR_ORDER_NUMBER", "returnUrl": "https://your-company.com/...", "countryCode": "CA", "billingAddress":{ "houseNumberOrName":"50", "street":"Test Street", "city":"Amsterdam", "stateOrProvince":"WW", "postalCode":"12010", "country":"CA" }, "recurringProcessingModel":"Subscription", "shopperInteraction": "Ecommerce", "shopperReference":"YOUR_UNIQUE_SHOPPER_ID", "storePaymentMethod": "true" }' ``` ### Get-Outcome ## Get the payment outcome Your Components integration [gets the payment outcome](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components#get-the-payment-outcome), so you do not need to do anything additional. If you created a token, you receive it as the `storedPaymentMethodId` in a [recurring.token.created](https://docs.adyen.com/api-explorer/Tokenization-webhooks/latest/post/recurring.token.created) webhook. Save the token along with your shopper reference for use in future payments. It can 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 details report](/reporting/settlement-reconciliation/transaction-level/settlement-details-report/). If it fails, you may receive a [CHARGEBACK](https://docs.adyen.com/api-explorer/Webhooks/latest/post/CHARGEBACK). ### Recurring ## 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](/payment-methods/pad/#mandate) from the shopper if you intend to make future recurring payments. To make recurring payments, refer to [Tokenization](/online-payments/tokenization) to: * Enable the Recurring tokens life cycle events webhook. * Create a token through the initial payment (see [Add additional parameters](#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. You can also use the following test credentials: * Account holder name: **TEST** * Account number: **00257596** * Institution number: **002** * Transit number: **57596** ### 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](#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-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") **max 1x** | | 02 | Account not found | The provided account information is incorrect. Retrying the transaction is not allowed. | ![-x-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-x-") | | 05 | Account Closed | The customer's bank account has been closed. Retrying the transaction is not allowed. | ![-x-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/white_check_mark.png "-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-](/user/data/smileys/emoji/x.png "-x-") | | 10 | Payor/Payee Deceased | Contact the bank of the deceased account holder or account beneficiary. | ![-x-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-x-") | | 12 | Invalid/Incorrect Account No. | The provided account number is incorrect. Retrying the transaction is not allowed. | ![-x-](/user/data/smileys/emoji/x.png "-x-") | | 14 | Incorrect Payor/Payee Name | The provided name of the account holder or beneficiary is incorrect. Retrying the transaction is not allowed. | ![-x-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-x-") | | 90 | Institution in Default | The customer's bank has failed to fulfill its obligations. Retrying the transaction is not allowed. | ![-x-](/user/data/smileys/emoji/x.png "-x-") | ### Go live Before going live, contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to add PADs Canada in your live Customer Area. ## Advanced flow Component ## Requirements | Requirement | Description | | | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | | **Integration type** | Make sure that you have an existing Advanced flow [Web Components integration](/online-payments/build-your-integration/advanced-flow?platform=Web\&integration=Components). | | | **Checkout API** | Make sure that you use Checkout API v69 or later. | | | **Webhooks** | Subscribe to [DIRECT\_DEBIT\_NOTICE\_OF\_CHANGE\_NOTIFICATION](https://docs.adyen.com/api-explorer/Webhooks/latest/post/DIRECT_DEBIT_NOTICE_OF_CHANGE_NOTIFICATION) webhooks to receive a notification when a shopper has outdated banking details. | | | **Setup steps** | Before you begin:- Contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to add PADs Canada in your Customer Area. - Make sure you have a way to [get a mandate](/payment-methods/pad#mandate) (consent) from the shopper. | | ### Import ## Import PADs Canada When you [import Adyen Web](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=Components#get-adyen-web), include `PreAuthorizedDebitCanada`. **Import** ```javascript import { AdyenCheckout, PreAuthorizedDebitCanada } from '@adyen/adyen-web'; ``` ### Add-Configuration ## Add additional configuration for PADs Canada [Configure the Component](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=Components#configure-the-component) with the following configuration object: | Parameter | Required | Description | | ---------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------------- | | `enableStoreDetails` **[v5.24.0](/online-payments/release-notes?integration_type=web\&version=5.24.0) or later** | | Set to **true** to show the checkbox for saving the payment details. The default is **false**. | **Create a configuration object** ```javascript const preAuthorizedDebitCanadaConfiguration = { enableStoreDetails: true } ``` ### Initialize ## Initialize the Component for PADs Canada To [initialize](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=Components#initialize-the-payment-session) PADs Canada, use the `PreAuthorizedDebitCanada` class. **Initialize the Component** ```javascript // The opional configuration object for PADs Canada that you created. const preAuthorizedDebitCanadaConfiguration = { ... } const preAuthorizedDebitCanadaComponent = new PreAuthorizedDebitCanada(checkout, preAuthorizedDebitCanadaConfiguration) // Mount the Component to a container. preAuthorizedDebitCanadaComponent.mount('#preAuthorizedDebitCanada-container') ``` ### Add-Parameters-Payments-Request ## Add additional parameters to your /payments request When you [make a payment](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=Components#make-a-payment), add the following parameters to the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request: | Parameter | Required | Description | | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `paymentMethod.type` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **eft\_directdebit\_CA** | | `paymentMethod.bankAccountNumber` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The Canadian bank account number. | | `paymentMethod.bankLocationId` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The five-digit code that identifies the branch where the account was opened. | | `paymentMethod.bankCode` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The three-digit code that identifies the bank. | | `paymentMethod.ownerName` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The name on the bank account. | | [billingAddress](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments#request-billingAddress) | | The account owner's address information. | | [Tokenization parameters](/online-payments/tokenization/create-tokens) | | We do not recommend using PADs for one-off payments. Follow the instructions in [Create tokens](/online-payments/tokenization/create-tokens) 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](/payment-methods/pad/#mandate) (consent) from the shopper for the payment or series of recurring payments. **Example payment request with tokenization** ```bash curl https://checkout-test.adyen.com/v72/payments \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'idempotency-key: YOUR_IDEMPOTENCY_KEY' \ -H 'content-type: application/json' \ -X POST -d '{ "amount":{ "currency":"CAD", "value":"1000" }, "merchantAccount":"ADYEN_MERCHANT_ACCOUNT", "paymentMethod":{ "type":"eft_directdebit_CA", "bankAccountNumber":"1234567890", "bankLocationId":"16001", "bankCode":"621", "ownerName":"John Smith" }, "reference":"YOUR_ORDER_NUMBER", "returnUrl":"https://your-company.com/...", "billingAddress":{ "houseNumberOrName":"50", "street":"Test Street", "city":"Amsterdam", "stateOrProvince":"WW", "postalCode":"12010", "country":"CA" }, "recurringProcessingModel":"Subscription", "shopperInteraction": "Ecommerce", "shopperReference":"YOUR_UNIQUE_SHOPPER_ID", "storePaymentMethod": "true" }' ``` In the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/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**. **Example response for a successful payment** ```json { "amount": { "currency": "CAD", "value": 1000 }, "resultCode": "Authorised", "paymentMethod": { "type": "eft_directdebit_CA" }, "additionalData": { "eft_directdebit_CA.mandateId": "R6TK93X6ZB9H6MCZ", "eft_directdebit_CA.sequenceType": "First", "eft_directdebit_CA.dateOfSignature": "2024-12-04", "tokenization.shopperReference": "YOUR_UNIQUE_SHOPPER_ID", "tokenization.storedPaymentMethodId": "THHXC44L6XW2F8CZ" }, "pspReference": "R6TK93X6ZB9H6MCZ", "merchantReference": "YOUR_ORDER_NUMBER" } ``` ### Get-Outcome ## Get the payment outcome Your Components integration [gets the payment outcome](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=Components#get-the-payment-outcome), so you do not need to do anything additional. If you created a token, you receive it as the `storedPaymentMethodId` in a [recurring.token.created](https://docs.adyen.com/api-explorer/Tokenization-webhooks/latest/post/recurring.token.created) webhook. Save the token along with your shopper reference for use in future payments. It can 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 details report](/reporting/settlement-reconciliation/transaction-level/settlement-details-report/). If it fails, you may receive a [CHARGEBACK](https://docs.adyen.com/api-explorer/Webhooks/latest/post/CHARGEBACK). ### Recurring ## 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](/payment-methods/pad/#mandate) from the shopper if you intend to make future recurring payments. To make recurring payments, refer to [Tokenization](/online-payments/tokenization) to: * Enable the Recurring tokens life cycle events webhook. * Create a token through the initial payment (see [Add additional parameters](#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. You can also use the following test credentials: * Account holder name: **TEST** * Account number: **00257596** * Institution number: **002** * Transit number: **57596** ### 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](#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-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") **max 1x** | | 02 | Account not found | The provided account information is incorrect. Retrying the transaction is not allowed. | ![-x-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-x-") | | 05 | Account Closed | The customer's bank account has been closed. Retrying the transaction is not allowed. | ![-x-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/white_check_mark.png "-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-](/user/data/smileys/emoji/x.png "-x-") | | 10 | Payor/Payee Deceased | Contact the bank of the deceased account holder or account beneficiary. | ![-x-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-x-") | | 12 | Invalid/Incorrect Account No. | The provided account number is incorrect. Retrying the transaction is not allowed. | ![-x-](/user/data/smileys/emoji/x.png "-x-") | | 14 | Incorrect Payor/Payee Name | The provided name of the account holder or beneficiary is incorrect. Retrying the transaction is not allowed. | ![-x-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-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-](/user/data/smileys/emoji/x.png "-x-") | | 90 | Institution in Default | The customer's bank has failed to fulfill its obligations. Retrying the transaction is not allowed. | ![-x-](/user/data/smileys/emoji/x.png "-x-") | ### Go live Before going live, contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to add PADs Canada in your live Customer Area. * [Webhooks](/development-resources/webhooks) * [Tokenization](/online-payments/tokenization) * [API Explorer](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/overview)