{"title":"Pre-Authorized Debit Canada for API only","category":"default","creationDate":1776961628,"content":"<p>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.<\/p>\n<p>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.<\/p>\n<h2>Requirements<\/h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Requirement<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Integration type<\/strong><\/td>\n<td style=\"text-align: left;\">Make sure that you have an existing <a href=\"\/pt\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&amp;integration=API%20only\">API-only integration<\/a>.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Checkout API<\/strong><\/td>\n<td style=\"text-align: left;\">Make sure that you use Checkout API v69 or later.<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Webhooks<\/strong><\/td>\n<td style=\"text-align: left;\">Subscribe to <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Webhooks\/1\/post\/DIRECT_DEBIT_NOTICE_OF_CHANGE_NOTIFICATION\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Direct Debit Notice of Change Notification<\/a> webhooks to receive a notification when a shopper has outdated banking details.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Setup steps<\/strong><\/td>\n<td style=\"text-align: left;\"> Before you begin: <ul><li markdown=\"1\">Contact our <a href=\"https:\/\/ca-test.adyen.com\/ca\/ca\/contactUs\/support.shtml?form=other\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Support Team<\/a> to add PADs Canada in your Customer Area.<\/li> <li markdown=\"1\">Make sure you have a way to <a href=\"\/pt\/payment-methods\/pad#mandate\">get a mandate<\/a> (consent) from the shopper.<\/li> <\/ul> <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>How it works<\/h2>\n<ol>\n<li>The shopper selects PADs Canada as the payment method.<\/li>\n<li>The shopper enters their details in the <a href=\"#build-your-payment-form\">payment form that you build<\/a>.<\/li>\n<li>You collect the shopper's mandate (consent) for the PAD.<\/li>\n<li>When you make the payment request, you <a href=\"#add-additional-parameters\">include additional information about the shopper's bank account<\/a>.<\/li>\n<\/ol>\n<h2 id=\"build-your-payment-form\">Build your payment form<\/h2>\n<p>Include fields to collect the following information from your shopper in the payment form.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Field<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">Bank account number<\/td>\n<td style=\"text-align: left;\">The Canadian bank account number from which the payment will be debited. <br\/><br\/> Format: numeric. <br\/>Minimum length: 7<br\/>Maximum length: 12 <br\/><br\/> Example: <code>123456789012<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Bank location ID<\/td>\n<td style=\"text-align: left;\">The five-digit code that identifies the branch where the account was opened. <br\/><br\/>Example: <code>16001<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Bank code<\/td>\n<td style=\"text-align: left;\">The three-digit code that identifies the bank. <br\/><br\/>Example: <code>621<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Account owner's name<\/td>\n<td style=\"text-align: left;\">\"John Smith\"<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>You also need to obtain the shopper's <a href=\"\/pt\/payment-methods\/pad#mandate\">mandate<\/a>.<\/p>\n<h2>Get PADs Canada as an available payment method<\/h2>\n<p>When you make the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/paymentMethods\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/paymentMethods<\/a> to <a href=\"\/pt\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&amp;integration=API%20only#get-available-payment-methods\">get available payment methods<\/a>, specify the following so that PADs Canada is included in the response.<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Values<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/paymentMethods#request-countryCode\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">countryCode<\/a><\/td>\n<td><span translate=\"no\"><strong><strong>CA<\/strong><\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/paymentMethods#request-amount-currency\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">amount.currency<\/a><\/td>\n<td><span translate=\"no\"><strong><strong>CAD<\/strong><\/strong><\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example request for available payment methods'\" :id=\"'payment-methods-request'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/paymentMethods \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'idempotency-key: YOUR_IDEMPOTENCY_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-X POST\\n-d '{\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;countryCode\\&quot;: \\&quot;CA\\&quot;,\\n   \\&quot;amount\\&quot;: {\\n      \\&quot;currency\\&quot;: \\&quot;CAD\\&quot;,\\n\\t  \\&quot;value\\&quot;: 1000\\n   },\\n   \\&quot;shopperLocale\\&quot;: \\&quot;en-US\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example response with PADs Canada available'\" :id=\"'payment-methods-response'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"paymentMethods\\\": [\\n        {\\n            \\\"name\\\": \\\"PAD Canada\\\",\\n            \\\"type\\\": \\\"eft_directdebit_CA\\\"\\n        }\\n    ]\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h2 id=\"add-additional-parameters\">Add additional parameters to your \/payments request<\/h2>\n<p>When you <a href=\"\/pt\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&amp;integration=API%20only#make-a-payment\">make a payment<\/a>, add the following parameters:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: center;\">Required<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>paymentMethod.type<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>eft_directdebit_CA<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>paymentMethod.bankAccountNumber<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The Canadian bank account number.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>paymentMethod.bankLocationId<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The five-digit code that identifies the branch where the account was opened.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>paymentMethod.bankCode<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The three-digit code that identifies the bank.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>paymentMethod.ownerName<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The name on the bank account.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-billingAddress\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">billingAddress<\/a><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">The account owner's address information.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><a href=\"\/pt\/online-payments\/tokenization\/create-tokens\">Tokenization parameters<\/a><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">We do not recommend using PADs for one-off payments. <br> Follow the instructions in <a href=\"\/pt\/online-payments\/tokenization\/create-tokens\">Create tokens<\/a> to create a token with the shopper's initial payment, and then use that token in the subsequent recurring PADs. <br> To create a token, add the tokenization parameters <code>recurringProcessingModel<\/code>, <code>shopperInteraction<\/code>, <code>shopperReference<\/code>, and <code>storePaymentMethod<\/code>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Note that you need to <a href=\"\/pt\/payment-methods\/pad\/#mandate\">get a mandate<\/a> (consent) from the shopper for the payment or series of recurring payments.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example payment request with tokenization'\" :id=\"'payments-tokenize-request'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'idempotency-key: YOUR_IDEMPOTENCY_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-X POST\\n-d '{\\n   \\&quot;amount\\&quot;:{\\n      \\&quot;currency\\&quot;:\\&quot;CAD\\&quot;,\\n      \\&quot;value\\&quot;:\\&quot;1000\\&quot;\\n   },\\n   \\&quot;merchantAccount\\&quot;:\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;paymentMethod\\&quot;:{\\n      \\&quot;type\\&quot;:\\&quot;eft_directdebit_CA\\&quot;,\\n      \\&quot;bankAccountNumber\\&quot;:\\&quot;1234567890\\&quot;,\\n      \\&quot;bankLocationId\\&quot;:\\&quot;16001\\&quot;,\\n      \\&quot;bankCode\\&quot;:\\&quot;621\\&quot;,\\n      \\&quot;ownerName\\&quot;:\\&quot;John Smith\\&quot;\\n   },\\n   \\&quot;reference\\&quot;:\\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n   \\&quot;returnUrl\\&quot;:\\&quot;https:\\\/\\\/your-company.com\\\/...\\&quot;,\\n   \\&quot;billingAddress\\&quot;:{\\n      \\&quot;houseNumberOrName\\&quot;:\\&quot;50\\&quot;,\\n      \\&quot;street\\&quot;:\\&quot;Test Street\\&quot;,\\n      \\&quot;city\\&quot;:\\&quot;Amsterdam\\&quot;,\\n      \\&quot;stateOrProvince\\&quot;:\\&quot;WW\\&quot;,\\n      \\&quot;postalCode\\&quot;:\\&quot;12010\\&quot;,\\n      \\&quot;country\\&quot;:\\&quot;CA\\&quot;\\n   },\\n   \\&quot;recurringProcessingModel\\&quot;:\\&quot;Subscription\\&quot;,\\n   \\&quot;shopperInteraction\\&quot;: \\&quot;Ecommerce\\&quot;,\\n   \\&quot;shopperReference\\&quot;:\\&quot;YOUR_UNIQUE_SHOPPER_ID\\&quot;,\\n   \\&quot;storePaymentMethod\\&quot;: \\&quot;true\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>In the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> response, note the following:<\/p>\n<ul>\n<li>\n<p><code>additionalData<\/code>: an object with the following details to save in your system.<\/p>\n<ul>\n<li><code>eft_directdebit_CA.mandateId<\/code>: the ID we generated for the shopper's PAD agreement.<\/li>\n<li><code>eft_directdebit_CA.dateOfSignature<\/code>: the date of the initial payment request, which is considered to be the date that the shopper accepted the PAD agreement.<\/li>\n<li><code>tokenization.storedPaymentMethodId<\/code>: the token to use in subsequent recurring PADs.<\/li>\n<li><code>tokenization.shopperReference<\/code>: your unique ID for the shopper, to use in subsequent recurring PADs.<\/li>\n<\/ul>\n<div class=\"notices green\">\n<p>The <code>tokenization<\/code> response parameters are only included if the payment request contained the parameters to create a token, and in your Customer Area under <strong>Developers<\/strong> &gt; <strong>Additional data<\/strong> you enabled <strong>Recurring details<\/strong>.<\/p>\n<\/div>\n<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example response for a successful payment'\" :id=\"'payments-response'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"amount\\\": {\\n        \\\"currency\\\": \\\"CAD\\\",\\n        \\\"value\\\": 1000\\n    },\\n    \\\"resultCode\\\": \\\"Authorised\\\",\\n    \\\"paymentMethod\\\": {\\n        \\\"type\\\": \\\"eft_directdebit_CA\\\"\\n    },\\n    \\\"additionalData\\\": {\\n        \\\"eft_directdebit_CA.mandateId\\\": \\\"R6TK93X6ZB9H6MCZ\\\",\\n        \\\"eft_directdebit_CA.sequenceType\\\": \\\"First\\\",\\n        \\\"eft_directdebit_CA.dateOfSignature\\\": \\\"2024-12-04\\\",\\n        \\\"tokenization.shopperReference\\\": \\\"YOUR_UNIQUE_SHOPPER_ID\\\",\\n        \\\"tokenization.storedPaymentMethodId\\\": \\\"THHXC44L6XW2F8CZ\\\"\\n    },\\n    \\\"pspReference\\\": \\\"R6TK93X6ZB9H6MCZ\\\",\\n    \\\"merchantReference\\\": \\\"YOUR_ORDER_NUMBER\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h2 id=\"present-the-payment-result\">Present the payment result<\/h2>\n<p>Use the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#responses-200-resultCode\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">resultCode<\/a> that you received in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> response to present the payment result to your shopper.<\/p>\n<p>The <code>resultCode<\/code> values you can receive for PAD are:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">resultCode<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<th style=\"text-align: left;\">Action to take<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>Authorised<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">The payment has been successfully received by Adyen. <br> 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 <a href=\"\/pt\/reporting\/settlement-reconciliation\/transaction-level\/settlement-details-report\/\">Settlement Detail Report<\/a>. If it fails, you will receive a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Webhooks\/latest\/post\/NOTIFICATION_OF_CHARGEBACK\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">NOTIFICATION_OF_CHARGEBACK<\/a>.<\/td>\n<td style=\"text-align: left;\">Inform the shopper that the payment was successful.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>Refused<\/strong><\/span><\/td>\n<td style=\"text-align: left;\">The payment was refused.<\/td>\n<td style=\"text-align: left;\">Ask the shopper to try the payment again using a different payment method.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Recurring payments<\/h2>\n<p>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.<\/p>\n<div class=\"notices red\">\n<p>You are required to obtain a <a href=\"\/pt\/payment-methods\/pad\/#mandate\">mandate<\/a> from the shopper if you intend to make future recurring payments.<\/p>\n<\/div>\n<p>To make recurring payments, refer to <a href=\"\/pt\/online-payments\/tokenization\">Tokenization<\/a> to:<\/p>\n<ul>\n<li>Enable the Recurring tokens life cycle events webhook.<\/li>\n<li>Create a token through the initial payment (see <a href=\"#add-additional-parameters\">Add additional parameters<\/a> above).<\/li>\n<li>Pay with the token in subsequent payments. Note that you do not need to include the mandate ID in the recurring payment request.<\/li>\n<li>Manage tokens.<\/li>\n<\/ul>\n<h2>Test and go live<\/h2>\n<p>You can test Pre-Authorized Debit Canada payments as well as chargebacks.<\/p>\n<h3>Test the payment flow<\/h3>\n<p>Test your integration by making test payments using the <code>bankAccountNumber<\/code>, <code>bankLocationId<\/code>, <code>bankCode<\/code> and <code>ownerName<\/code> of a real Canadian bank account. That account will not be debited.<\/p>\n<p>You can also use the following test credentials:<\/p>\n<ul>\n<li>Account holder name: <strong>TEST<\/strong><\/li>\n<li>Account number: <strong>00257596<\/strong><\/li>\n<li>Institution number: <strong>002<\/strong><\/li>\n<li>Transit number: <strong>57596<\/strong><\/li>\n<\/ul>\n<h3 id=\"chargebacks\">Test the chargeback flow<\/h3>\n<p>You can test the return flow by making test payments with an <code>ownerName<\/code> value that consists of <strong>chargeback:<\/strong> followed by a PAD return <a href=\"#return-reason-code\">reason code<\/a>. For example, <strong>chargeback:05<\/strong>. The other account details to use are the same as when testing payments.<\/p>\n<p>Note that in the test environment the return flow goes directly to the Chargeback stage.<\/p>\n<h4 id=\"return-reason-code\">Return reason codes<\/h4>\n<p>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.<\/p>\n<div class=\"sticky-table-container\">\n    \n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Reason code<\/th>\n<th style=\"text-align: left;\">Reason<\/th>\n<th style=\"text-align: left;\">Description \/ Resolution<\/th>\n<th style=\"text-align: center;\">Retry?<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">01<\/td>\n<td style=\"text-align: left;\">NSF (Debit Only)<\/td>\n<td style=\"text-align: left;\">Non-sufficient funds (NSF). You can retry the transaction once within 30 days of the original authorization date.<\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/> <strong>max&nbsp;1x<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">02<\/td>\n<td style=\"text-align: left;\">Account not found<\/td>\n<td style=\"text-align: left;\">The provided account information is incorrect. Retrying the transaction is not allowed.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">03<\/td>\n<td style=\"text-align: left;\">Payment Stopped\/Recalled<\/td>\n<td style=\"text-align: left;\">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.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">05<\/td>\n<td style=\"text-align: left;\">Account Closed<\/td>\n<td style=\"text-align: left;\">The customer's bank account has been closed. Retrying the transaction is not allowed.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">07<\/td>\n<td style=\"text-align: left;\">No Debit Allowed<\/td>\n<td style=\"text-align: left;\">The provided bank account cannot be used for EFT PADs. Ask the customer for permission to charge a different, EFT PAD-enabled bank account.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">08<\/td>\n<td style=\"text-align: left;\">Funds Not Cleared (Debit Only)<\/td>\n<td style=\"text-align: left;\">Insufficient funds. You can retry the transaction once within 30 days of the original authorization date.<\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/> <strong>max&nbsp;1x<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">09<\/td>\n<td style=\"text-align: left;\">Currency\/Account Mismatch<\/td>\n<td style=\"text-align: left;\">The transaction currency does not match the currency of the bank account. Retrying the transaction is not allowed.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">10<\/td>\n<td style=\"text-align: left;\">Payor\/Payee Deceased<\/td>\n<td style=\"text-align: left;\">Contact the bank of the deceased account holder or account beneficiary.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">11<\/td>\n<td style=\"text-align: left;\">Account Frozen<\/td>\n<td style=\"text-align: left;\">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.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">12<\/td>\n<td style=\"text-align: left;\">Invalid\/Incorrect Account No.<\/td>\n<td style=\"text-align: left;\">The provided account number is incorrect. Retrying the transaction is not allowed.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">14<\/td>\n<td style=\"text-align: left;\">Incorrect Payor\/Payee Name<\/td>\n<td style=\"text-align: left;\">The provided name of the account holder or beneficiary is incorrect. Retrying the transaction is not allowed.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">15<\/td>\n<td style=\"text-align: left;\">No Agreement Existed<\/td>\n<td style=\"text-align: left;\">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.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">16<\/td>\n<td style=\"text-align: left;\">Not According to Agreement - Personal<\/td>\n<td style=\"text-align: left;\">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.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">17<\/td>\n<td style=\"text-align: left;\">Agreement Revoked - Personal<\/td>\n<td style=\"text-align: left;\">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.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">18<\/td>\n<td style=\"text-align: left;\">No Confirmation\/Pre-Notification - Personal<\/td>\n<td style=\"text-align: left;\">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.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">19<\/td>\n<td style=\"text-align: left;\">Not According to Agreement - Business<\/td>\n<td style=\"text-align: left;\">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.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">20<\/td>\n<td style=\"text-align: left;\">Agreement Revoked - Business<\/td>\n<td style=\"text-align: left;\">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.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">21<\/td>\n<td style=\"text-align: left;\">No Confirmation\/Pre-Notification - Business<\/td>\n<td style=\"text-align: left;\">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.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">82<\/td>\n<td style=\"text-align: left;\">Interbank Reject - Invalid Institution Number<\/td>\n<td style=\"text-align: left;\">The bank's institution number and\/or branch transit number is invalid, or the bank does not accept PADs.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">90<\/td>\n<td style=\"text-align: left;\">Institution in Default<\/td>\n<td style=\"text-align: left;\">The customer's bank has failed to fulfill its obligations. Retrying the transaction is not allowed.<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<\/div>\n\n<h3>Go live<\/h3>\n<p>Before going live, contact our <a href=\"https:\/\/ca-test.adyen.com\/ca\/ca\/contactUs\/support.shtml?form=other\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Support Team<\/a> to add PADs Canada in your live Customer Area.<\/p>\n<h2 id=\"see-also\">See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&amp;integration=API%20only\"\n                        target=\"_self\"\n                        >\n                    API-only integration guide\n                <\/a><\/li><li><a href=\"\/development-resources\/webhooks\"\n                        target=\"_self\"\n                        >\n                    Webhooks\n                <\/a><\/li><li><a href=\"\/online-payments\/tokenization\"\n                        target=\"_self\"\n                        >\n                    Tokenization\n                <\/a><\/li><li><a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/CheckoutService\/latest\/overview\"\n                        target=\"_blank\"\n                         class=\"external\">\n                    API Explorer\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/payment-methods\/pad\/api-only","articleFields":{"description":"Add Pre-Authorized Debit Canada (PADs Canada) to your API-only integration.","never_cache_twig":true,"parameters":{"flow":"Advanced","integration_guide_url":"\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&integration=API%20only","payment_method":"PADs Canada","payment_method_type":"eft_directdebit_CA","payment_method_type_capitalized":"Eft_directdebit_ca","tx_variant":"eft_directdebit_CA","tx_variant_capitalized":"Eft_directdebit_ca","country_codes":"<strong>CA<\/strong>","currency_codes":"<strong>CAD<\/strong>","additional_api":"true","api_version":"69","action_type":"none","pm_directory":"pad","contact":"true"}},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/payment-methods\/pad\/api-only","title":"Pre-Authorized Debit Canada for API only","content":"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.\nIf 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.\nRequirements\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nMake sure that you have an existing API-only integration.\n\n\n\nCheckout API\nMake sure that you use Checkout API v69 or later.\n \n\n\nWebhooks\nSubscribe to Direct Debit Notice of Change Notification webhooks to receive a notification when a shopper has outdated banking details.\n\n\nSetup steps\n 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.  \n\n\n\nHow it works\n\nThe shopper selects PADs Canada as the payment method.\nThe shopper enters their details in the payment form that you build.\nYou collect the shopper's mandate (consent) for the PAD.\nWhen you make the payment request, you include additional information about the shopper's bank account.\n\nBuild your payment form\nInclude fields to collect the following information from your shopper in the payment form.\n\n\n\nField\nDescription\n\n\n\n\nBank account number\nThe Canadian bank account number from which the payment will be debited.  Format: numeric. Minimum length: 7Maximum length: 12  Example: 123456789012\n\n\nBank location ID\nThe five-digit code that identifies the branch where the account was opened. Example: 16001\n\n\nBank code\nThe three-digit code that identifies the bank. Example: 621\n\n\nAccount owner's name\n\"John Smith\"\n\n\n\nYou also need to obtain the shopper's mandate.\nGet PADs Canada as an available payment method\nWhen you make the  \/paymentMethods to get available payment methods, specify the following so that PADs Canada is included in the response.\n\n\n\nParameter\nValues\n\n\n\n\n countryCode\nCA\n\n\n amount.currency\nCAD\n\n\n\n\n    \n\n\n    \n\nAdd additional parameters to your \/payments request\nWhen you make a payment, add the following parameters:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\npaymentMethod.type\n\neft_directdebit_CA\n\n\npaymentMethod.bankAccountNumber\n\nThe Canadian bank account number.\n\n\npaymentMethod.bankLocationId\n\nThe five-digit code that identifies the branch where the account was opened.\n\n\npaymentMethod.bankCode\n\nThe three-digit code that identifies the bank.\n\n\npaymentMethod.ownerName\n\nThe name on the bank account.\n\n\n billingAddress\n\nThe account owner's address information.\n\n\nTokenization parameters\n\nWe do not recommend using PADs for one-off payments.  Follow the instructions in 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.\n\n\n\nNote that you need to get a mandate (consent) from the shopper for the payment or series of recurring payments.\n\n    \n\nIn the  \/payments response, note the following:\n\n\nadditionalData: an object with the following details to save in your system.\n\neft_directdebit_CA.mandateId: the ID we generated for the shopper's PAD agreement.\neft_directdebit_CA.dateOfSignature: the date of the initial payment request, which is considered to be the date that the shopper accepted the PAD agreement.\ntokenization.storedPaymentMethodId: the token to use in subsequent recurring PADs.\ntokenization.shopperReference: your unique ID for the shopper, to use in subsequent recurring PADs.\n\n\nThe tokenization response parameters are only included if the payment request contained the parameters to create a token, and in your Customer Area under Developers &gt; Additional data you enabled Recurring details.\n\n\n\n\n    \n\nPresent the payment result\nUse the  resultCode that you received in the  \/payments response to present the payment result to your shopper.\nThe resultCode values you can receive for PAD are:\n\n\n\nresultCode\nDescription\nAction to take\n\n\n\n\nAuthorised\nThe 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.\nInform the shopper that the payment was successful.\n\n\nRefused\nThe payment was refused.\nAsk the shopper to try the payment again using a different payment method.\n\n\n\nRecurring payments\nPre-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.\n\nYou are required to obtain a mandate from the shopper if you intend to make future recurring payments.\n\nTo make recurring payments, refer to Tokenization to:\n\nEnable the Recurring tokens life cycle events webhook.\nCreate a token through the initial payment (see Add additional parameters above).\nPay with the token in subsequent payments. Note that you do not need to include the mandate ID in the recurring payment request.\nManage tokens.\n\nTest and go live\nYou can test Pre-Authorized Debit Canada payments as well as chargebacks.\nTest the payment flow\nTest 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.\nYou can also use the following test credentials:\n\nAccount holder name: TEST\nAccount number: 00257596\nInstitution number: 002\nTransit number: 57596\n\nTest the chargeback flow\nYou 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.\nNote that in the test environment the return flow goes directly to the Chargeback stage.\nReturn reason codes\nUse 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.\n\n    \n\n\n\nReason code\nReason\nDescription \/ Resolution\nRetry?\n\n\n\n\n01\nNSF (Debit Only)\nNon-sufficient funds (NSF). You can retry the transaction once within 30 days of the original authorization date.\n max&nbsp;1x\n\n\n02\nAccount not found\nThe provided account information is incorrect. Retrying the transaction is not allowed.\n\n\n\n03\nPayment Stopped\/Recalled\nThe 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.\n\n\n\n05\nAccount Closed\nThe customer's bank account has been closed. Retrying the transaction is not allowed.\n\n\n\n07\nNo Debit Allowed\nThe provided bank account cannot be used for EFT PADs. Ask the customer for permission to charge a different, EFT PAD-enabled bank account.\n\n\n\n08\nFunds Not Cleared (Debit Only)\nInsufficient funds. You can retry the transaction once within 30 days of the original authorization date.\n max&nbsp;1x\n\n\n09\nCurrency\/Account Mismatch\nThe transaction currency does not match the currency of the bank account. Retrying the transaction is not allowed.\n\n\n\n10\nPayor\/Payee Deceased\nContact the bank of the deceased account holder or account beneficiary.\n\n\n\n11\nAccount Frozen\nContact 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.\n\n\n\n12\nInvalid\/Incorrect Account No.\nThe provided account number is incorrect. Retrying the transaction is not allowed.\n\n\n\n14\nIncorrect Payor\/Payee Name\nThe provided name of the account holder or beneficiary is incorrect. Retrying the transaction is not allowed.\n\n\n\n15\nNo Agreement Existed\nThe 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.\n\n\n\n16\nNot According to Agreement - Personal\nThe 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.\n\n\n\n17\nAgreement Revoked - Personal\nThe 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.\n\n\n\n18\nNo Confirmation\/Pre-Notification - Personal\nThe 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.\n\n\n\n19\nNot According to Agreement - Business\nThe 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.\n\n\n\n20\nAgreement Revoked - Business\nThe 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.\n\n\n\n21\nNo Confirmation\/Pre-Notification - Business\nThe 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.\n\n\n\n82\nInterbank Reject - Invalid Institution Number\nThe bank's institution number and\/or branch transit number is invalid, or the bank does not accept PADs.\n\n\n\n90\nInstitution in Default\nThe customer's bank has failed to fulfill its obligations. Retrying the transaction is not allowed.\n\n\n\n\n\n\n\nGo live\nBefore going live, contact our Support Team to add PADs Canada in your live Customer Area.\nSee also\n\n\n                    API-only integration guide\n                \n                    Webhooks\n                \n                    Tokenization\n                \n                    API Explorer\n                \n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Payment methods","lvl2":"Pre-Authorized Debit Canada","lvl3":"Pre-Authorized Debit Canada for API only"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/payment-methods","lvl2":"https:\/\/docs.adyen.com\/pt\/payment-methods\/pad","lvl3":"\/pt\/payment-methods\/pad\/api-only"},"levels":4,"category":"Payment method","category_color":"green","tags":["Pre-Authorized","Debit","Canada"]},"articleFiles":{"payment-methods-response.json":"<p alt=\"\">payment-methods-response.json<\/p>","payments-response.json":"<p alt=\"\">payments-response.json<\/p>"}}
