{"title":"Batch Account Updater","category":"default","creationDate":1672392480,"content":"<p>With Batch Account Updater, you can send batch files to get updates for your shoppers' cards. We obtain the updates from Visa and Mastercard and send you batch response files with the new card details.<\/p>\n<div class=\"notices green\">\n<p>Integrating with our Batch Account Updater requires additional configuration steps. 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> before you begin.<\/p>\n<\/div>\n<p>To update shopper card details through the Batch Account Updater:<\/p>\n<ol>\n<li>Send a batch request file, or an API call if you only need an update for a single card.<\/li>\n<li>Receive the response in the batch file.<\/li>\n<li>Update the card details through a payments request.<\/li>\n<\/ol>\n<h2>Set up an SFTP server<\/h2>\n<p>You need to have an SFTP server set up to send and receive the batch files.<\/p>\n<p>To set up an SFTP directory, 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>. You need to provide your IP address, and SSH and PGP keys. For more information, see <a href=\"\/pt\/development-resources\/batch-processing\/advanced-sftp-batch-files\">Advanced SFTP batch files<\/a>.<\/p>\n<h2 id=\"request-and-response\">Use batch request files<\/h2>\n<p>The process of sending a batch request file and receiving updates in the batch result file is as follows:<\/p>\n<ol>\n<li>\n<p>Generate a <a href=\"\/pt\/development-resources\/batch-processing\/advanced-sftp-batch-files\/batch-request-file\/accountupdater-request-file\">batch request file<\/a> and upload it to your SFTP directory.<\/p>\n<p>The following is a sample Account Updater batch request file:<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Batch request file'\" :id=\"''\" :code-data='[{\"language\":\"csv\",\"tabTitle\":\"\",\"content\":\"FH,1.0,TEST,Company,TestCompany,Default,1,ws@Company.TestCompany,AccountUpdater,FileHeaderEchoData\\nBH,1,BlockHeaderEchoData\\nL,1,MerchantAccount,TestMerchant,AccountUpdater,MerchantReference1,EchoData1\\nSL,1,AccountUpdaterSingle,4111111111111111,06,2016,737,CardHolderName,,,\\nL,2,MerchantAccount,TestMerchant,AccountUpdater,MerchantReference2,EchoData2\\nSL,1,AccountUpdaterSingle,5444444444444444,03,2017,,CardHolderName,,,\\nL,3,MerchantAccount,TestMerchant,AccountUpdater,MerchantReference3,EchoData3\\nSL,1,AccountUpdaterRecurring,ShopperReference3,LATEST\\nL,4,MerchantAccount,TestMerchant,AccountUpdater,MerchantReference4,EchoData4\\nSL,1,AccountUpdaterRecurring,ShopperReference4,LATEST\\nL,5,MerchantAccount,TestMerchant,AccountUpdater,MerchantReference5,EchoData5\\nSL,1,AccountUpdaterSingle,4444111111111111,11,2015,737,CardHolderName,,,\\nL,6,MerchantAccount,TestMerchant,AccountUpdater,MerchantReference6,EchoData6\\nSL,1,AccountUpdaterSingle,5444111144444444,01,2018,,CardHolderName,,,\\nBT,6\\nFT,1\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>After receiving the batch request file, we run validation checks and generate a batch acknowledgement file (ACK).<\/p>\n<\/li>\n<li>\n<p>Optionally check the results of the validation check in the <a href=\"\/pt\/development-resources\/batch-processing\/advanced-sftp-batch-files\/batch-acknowledgement-file\">ACK file<\/a>.<\/p>\n<p>When the batch request files are successfully validated, we obtain the updated card information from Visa and Mastercard and add the updated information to a batch result file. This process takes minimum  two days from when you receive the ACK file.<\/p>\n<\/li>\n<li>\n<p>Fetch the <a href=\"\/pt\/development-resources\/batch-processing\/advanced-sftp-batch-files\/batch-result-file\/accountupdater-result-file\">batch result file<\/a> to retrieve the updated card information.<\/p>\n<p>The following is a sample Account Updater batch response file:<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Batch response file'\" :id=\"''\" :code-data='[{\"language\":\"sh\",\"tabTitle\":\"\",\"content\":\"FH,1.0,TEST,Company,TestCompany,Default,1,ws@Company.TestCompany,AccountUpdater,FileHeaderEchoData\\nBH,1,BlockHeaderEchoData\\nL,1,MerchantAccount,TestMerchant,ScheduleAccountUpdater,MerchantReference1,Success,EchoData\\nSL,1,AccountUpdaterResult,221234321234543H,Submitted,NoChange,2013-11-13,,,,,\\nL,2,MerchantAccount,TestMerchant,ScheduleAccountUpdater,MerchantReference2,Success,\\nSL,1,AccountUpdaterResult,221234321234543K,Submitted,CloseAccount,2013-11-13,,,,,\\nL,3,MerchantAccount,TestMerchant,ScheduleAccountUpdater,MerchantReference3,Success,EchoData\\nSL,1,AccountUpdaterResult,221234321234543J,Submitted,PANChanged,2013-11-13,D123456789123456,07,2018,,\\nL,4,MerchantAccount,TestMerchant,ScheduleAccountUpdater,MerchantReference4,Success,EchoData\\nSL,1,AccountUpdaterResult,221234321234543F,Submitted,CardExpiryChanged,2013-09-15,F098765432112345,03,2017,,\\nL,5,MerchantAccount,TestMerchant,ScheduleAccountUpdater,MerchantReference5,Success,EchoData\\nSL,1,AccountUpdaterResult,221234321234543T,Submitted,Error,2013-09-15,,,,,\\nL,6,MerchantAccount,TestMerchant,ScheduleAccountUpdater,MerchantReference6,Success,EchoData\\nSL,1,AccountUpdaterResult,221234321234543E,Not Submitted,Error,,,,,No registered account,\\nBT,6\\nFT,1\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Based on the batch result file, update the old card details.<\/p>\n<ul>\n<li>If you are tokenizing with Adyen, the token will always stay the same, but you need to <a href=\"#update-card-details\">update the old card details through a payment request<\/a>.<\/li>\n<li>If you are not tokenizing with Adyen, you need to update the old card details in your own system.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h2>Use API calls<\/h2>\n<p>To receive account updates for a single card, you can send an API request instead of a batch request file.<\/p>\n<ol>\n<li>\n<p>Make a POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Recurring\/latest\/post\/scheduleAccountUpdater\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/scheduleAccountUpdater<\/a> request, specifying either:<\/p>\n<ul>\n<li>Card data: all fields in the <code>card<\/code> object are mandatory.<\/li>\n<li>Adyen token data: the <code>shopperReference<\/code> and <code>selectedRecurringDetailReference<\/code> fields are mandatory.<\/li>\n<\/ul>\n\n<div id=\"tabBqtIk\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Account Updater request with card data&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Request with card data&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;merchantAccount\\\\\\&quot;: \\\\\\&quot;YOUR_MERCHANT_ACCOUNT\\\\\\&quot;,\\\\n   \\\\\\&quot;reference\\\\\\&quot;: \\\\\\&quot;YOUR_REFERENCE\\\\\\&quot;,\\\\n   \\\\\\&quot;card\\\\\\&quot;: {\\\\n      \\\\\\&quot;expiryMonth\\\\\\&quot;: \\\\\\&quot;10\\\\\\&quot;,\\\\n      \\\\\\&quot;expiryYear\\\\\\&quot;: 2020,\\\\n      \\\\\\&quot;holderName\\\\\\&quot;: \\\\\\&quot;Adyen Test\\\\\\&quot;,\\\\n      \\\\\\&quot;number\\\\\\&quot;: \\\\\\&quot;4111111111111111\\\\\\&quot;\\\\n   }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;account_updater_request_with_card_data_0_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Account Updater request with token data&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Request with token data&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;merchantAccount\\\\\\&quot;: \\\\\\&quot;YOUR_MERCHANT_ACCOUNT\\\\\\&quot;,\\\\n   \\\\\\&quot;reference\\\\\\&quot;: \\\\\\&quot;YOUR_REFERENCE\\\\\\&quot;,\\\\n   \\\\\\&quot;shopperReference\\\\\\&quot;: \\\\\\&quot;YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j\\\\\\&quot;,\\\\n   \\\\\\&quot;selectedRecurringDetailReference\\\\\\&quot;: \\\\\\&quot;8814232895168272\\\\\\&quot;\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;account_updater_request_with_token_data_1_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='false'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<p>The response indicates we received your request.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n   \\\"pspReference\\\":\\\"FKSPNCQ8HXSKGK82\\\",\\n   \\\"result\\\":\\\"Success\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>We now forward the request to Visa and Mastercard.<\/p>\n<\/li>\n<li>\n<p>Fetch the <a href=\"\/pt\/development-resources\/batch-processing\/advanced-sftp-batch-files\/batch-result-file\/accountupdater-result-file\">batch result file<\/a> to retrieve the updated card information.<\/p>\n<ul>\n<li>The result file is encrypted when you use the API.<\/li>\n<li>The file name follows this format: <code>AccountUpdater_AutoUpdates_result_YYYY-MM-DD_enc<\/code><\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Based on the batch result file, update the old card details.<\/p>\n<ul>\n<li>If you are tokenizing with Adyen, the token will always stay the same, but you need to <a href=\"#update-card-details\">update the old card details through a payment request<\/a>.<\/li>\n<li>If you are not tokenizing with Adyen, you need to update the old card details in your own system.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h2>Account Updater statuses<\/h2>\n<p>When we perform an account update, we send a status in the batch result file. The status indicates what action you need to take based on what changed in the card details.<\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Status<\/strong><\/th>\n<th><strong>Alternative values for the status<\/strong><\/th>\n<th><strong>Description<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>NoChange<\/code><\/td>\n<td><ul><li markdown=\"1\"><code>EitherExpiryChangedOrNoChange<\/code><\/li><li markdown=\"1\"><code>InvalidAmount<\/code><\/li><li markdown=\"1\"><code>TxInvalid<\/code><li markdown=\"1\"><code>RecordIdentifierInvalid<\/code><\/li><li markdown=\"1\"><code>BinNotParticipating<\/code><\/li><li markdown=\"1\"><code>CreditCardNumberInvalid<\/code><\/li><li markdown=\"1\"><code>CreditCardNumberNotFound<\/code><\/li><li markdown=\"1\"><code>IssuerNotSubscribed<\/code><\/li><li markdown=\"1\"><code>NoMatchFound<\/code><\/li><li markdown=\"1\"><code>UnknownResponseCodeProvided<\/code><\/li><li markdown=\"1\"><code>GenericTokenUseError<\/code><\/li><li markdown=\"1\"><code>InvalidCreditCard<\/code><\/li><li markdown=\"1\"><code>InvalidExpirationDate<\/code><\/li><li markdown=\"1\"><code>MerchantIsNotAuthorisedToUseTokens<\/code><\/li><li markdown=\"1\"><code>TokenIsInvalid<\/code><\/li><li markdown=\"1\"><code>TokenWasNotFound<\/code><\/li><\/ul><\/td>\n<td>The card has not changed.<\/td>\n<\/tr>\n<tr>\n<td><code>CloseAccount<\/code><\/td>\n<td><ul><li markdown=\"1\"><code>CloseAccount<\/code><\/li><li markdown=\"1\"><code>CloseAccountThisAccountOnly<\/code><\/li><\/ul><\/td>\n<td>The account has been permanently closed by the issuing bank.<\/td>\n<\/tr>\n<tr>\n<td><code>PANChanged<\/code><\/td>\n<td><ul><li markdown=\"1\"><code>CardChanged<\/code><\/li><\/ul><\/td>\n<td>The account number has changed.<\/td>\n<\/tr>\n<tr>\n<td><code>CardExpiryChanged<\/code><\/td>\n<td><\/td>\n<td>The expiry date of the card has changed.<\/td>\n<\/tr>\n<tr>\n<td><code>ContactCardAccountHolder<\/code><\/td>\n<td><\/td>\n<td>(Visa only) The card has a new account number, expiry date, or both, but the shopper has asked the issuer to not share updated card details.<\/td>\n<\/tr>\n<tr>\n<td><code>Error<\/code><\/td>\n<td><ul><li markdown=\"1\"><code>MerchantIdInvalid<\/code><\/li><li markdown=\"1\"><code>MerchantIdNotEnabled<\/code><\/li><\/ul><\/td>\n<td>Our Account Updater process experienced an error.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"update-card-details\">Update old card details<\/h2>\n<p>There are three scenarios that can occur as a result of an account update:<\/p>\n<ul>\n<li><a href=\"#no-updates\">No updates on the card<\/a>.<\/li>\n<li><a href=\"#card-details-updated\">Card details are updated<\/a>.<\/li>\n<li><a href=\"#card-details-are-disabled\">Card details are disabled<\/a>.<\/li>\n<\/ul>\n<div class=\"notices yellow\">\n<p>To enable this flow, 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>. Not doing so will result in an API error when attempting the update.<\/p>\n<\/div>\n<h3 id=\"no-updates\">No updates on the card<\/h3>\n<p>If there are no updates on the card, you do not need to take any further actions and all the card details remain unchanged.<\/p>\n<h3 id=\"card-details-updated\">Card details are updated<\/h3>\n<p>You can receive updates of the following information on your shoppers' cards:<\/p>\n<ul>\n<li>Card number<\/li>\n<li>Expiry date of the card<\/li>\n<li>Both card number and expiry date<\/li>\n<\/ul>\n<p>The following examples show how you can update card details through a payment request.<\/p>\n\n<div id=\"tabLbMNf\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Update card number&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;Make sure that you include the new &lt;code&gt;alias&lt;\\\/code&gt; in the &lt;code&gt;paymentMethod.number&lt;\\\/code&gt; field when you update the card number.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Payment request to update card number&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;amount\\\\\\&quot;: {\\\\n     \\\\\\&quot;currency\\\\\\&quot;: \\\\\\&quot;USD\\\\\\&quot;,\\\\n     \\\\\\&quot;value\\\\\\&quot;: 1000\\\\n   },\\\\n   \\\\\\&quot;reference\\\\\\&quot;: \\\\\\&quot;YOUR_PAYMENT_REFERENCE\\\\\\&quot;,\\\\n   \\\\\\&quot;paymentMethod\\\\\\&quot;: {\\\\n      \\\\\\&quot;storedPaymentMethodId\\\\\\&quot;: \\\\\\&quot;8415693365216824\\\\\\&quot;,\\\\n      \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;scheme\\\\\\&quot;,\\\\n      \\\\\\&quot;number\\\\\\&quot;: \\\\\\&quot;A549761438794558\\\\\\&quot;,\\\\n      \\\\\\&quot;expiryMonth\\\\\\&quot;: \\\\\\&quot;10\\\\\\&quot;,\\\\n      \\\\\\&quot;expiryYear\\\\\\&quot;: \\\\\\&quot;2020\\\\\\&quot;\\\\n   },\\\\n  \\\\\\&quot;returnUrl\\\\\\&quot;: \\\\\\&quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/...\\\\\\&quot;,\\\\n  \\\\\\&quot;merchantAccount\\\\\\&quot;: \\\\\\&quot;YOUR_MERCHANT_ACCOUNT\\\\\\&quot;,\\\\n  \\\\\\&quot;shopperReference\\\\\\&quot;:\\\\\\&quot;YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j\\\\\\&quot;,\\\\n  \\\\\\&quot;shopperInteraction\\\\\\&quot;:\\\\\\&quot;ContAuth\\\\\\&quot;\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;update_card_number_0_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Update card expiry&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Payment request to update card expiry&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;amount\\\\\\&quot;: {\\\\n      \\\\\\&quot;currency\\\\\\&quot;: \\\\\\&quot;USD\\\\\\&quot;,\\\\n      \\\\\\&quot;value\\\\\\&quot;: 1000\\\\n   },\\\\n   \\\\\\&quot;reference\\\\\\&quot;: \\\\\\&quot;YOUR_PAYMENT_REFERENCE\\\\\\&quot;,\\\\n   \\\\\\&quot;paymentMethod\\\\\\&quot;: {\\\\n      \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;scheme\\\\\\&quot;,\\\\n      \\\\\\&quot;storedPaymentMethodId\\\\\\&quot;: \\\\\\&quot;8415693365216824\\\\\\&quot;,\\\\n      \\\\\\&quot;expiryMonth\\\\\\&quot;: \\\\\\&quot;10\\\\\\&quot;,\\\\n      \\\\\\&quot;expiryYear\\\\\\&quot;: \\\\\\&quot;2020\\\\\\&quot;\\\\n   },\\\\n   \\\\\\&quot;returnUrl\\\\\\&quot;: \\\\\\&quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/...\\\\\\&quot;,\\\\n   \\\\\\&quot;merchantAccount\\\\\\&quot;: \\\\\\&quot;YOUR_MERCHANT_ACCOUNT\\\\\\&quot;,\\\\n   \\\\\\&quot;shopperReference\\\\\\&quot;:\\\\\\&quot;YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j\\\\\\&quot;,\\\\n   \\\\\\&quot;shopperInteraction\\\\\\&quot;:\\\\\\&quot;ContAuth\\\\\\&quot;\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;update_card_expiry_1_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='false'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h3 id=\"card-details-are-disabled\">Card details are disabled<\/h3>\n<p>You can get an update that certain cards have been disabled. This can occur if the card is reported as stolen, or if the shopper informed the bank they no longer authorize transactions from you. We do not delete the <code>storedPaymentMethodId<\/code> or <code>recurringDetailReference<\/code>. Instead we provide the update to you, and you need to delete the card details.<\/p>\n<p>For instructions, see <a href=\"\/pt\/online-payments\/tokenization\/managing-tokens#delete-stored-details\">Delete stored payment details<\/a>.<\/p>\n<h2>Get a report on card updates<\/h2>\n<p>The <a href=\"\/pt\/reporting\/account-updater-results\">Account Updater results report<\/a> shows a summary of Account Updater results from a particular period of time. Use this report to check the outcomes and statuses of account updates, and get a summary of both Real Time Account Updater and Batch Account Updater results. You can also analyze the fees charged for the Account Updater.<\/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\/tokenization\"\n                        target=\"_self\"\n                        >\n                    Tokenization\n                <\/a><\/li><li><a href=\"\/online-payments\/account-updater\/real-time-account-updater\"\n                        target=\"_self\"\n                        >\n                    Real Time Account Updater\n                <\/a><\/li><li><a href=\"\/online-payments\/tokenization\/managing-tokens\"\n                        target=\"_self\"\n                        >\n                    Managing tokens\n                <\/a><\/li><li><a href=\"\/reporting\/account-updater-results-report\"\n                        target=\"_self\"\n                        >\n                    Account Updater results report\n                <\/a><\/li><\/ul><\/div>\n\n","url":"https:\/\/docs.adyen.com\/pt\/online-payments\/account-updater\/batch-account-updater","articleFields":{"description":"Learn how you can update card information through the Batch Account Updater.","last_edit_on":"04-10-2024 16:17","feedback_component":true,"filters_component":false,"page_id":"054ad256-183f-4b9d-aa8f-5e2bb0b0d04d","decision_tree":"[]"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/online-payments\/account-updater\/batch-account-updater","title":"Batch Account Updater","content":"With Batch Account Updater, you can send batch files to get updates for your shoppers' cards. We obtain the updates from Visa and Mastercard and send you batch response files with the new card details.\n\nIntegrating with our Batch Account Updater requires additional configuration steps. Contact our Support Team before you begin.\n\nTo update shopper card details through the Batch Account Updater:\n\nSend a batch request file, or an API call if you only need an update for a single card.\nReceive the response in the batch file.\nUpdate the card details through a payments request.\n\nSet up an SFTP server\nYou need to have an SFTP server set up to send and receive the batch files.\nTo set up an SFTP directory, contact our Support Team. You need to provide your IP address, and SSH and PGP keys. For more information, see Advanced SFTP batch files.\nUse batch request files\nThe process of sending a batch request file and receiving updates in the batch result file is as follows:\n\n\nGenerate a batch request file and upload it to your SFTP directory.\nThe following is a sample Account Updater batch request file:\n\n\n\nAfter receiving the batch request file, we run validation checks and generate a batch acknowledgement file (ACK).\n\n\nOptionally check the results of the validation check in the ACK file.\nWhen the batch request files are successfully validated, we obtain the updated card information from Visa and Mastercard and add the updated information to a batch result file. This process takes minimum  two days from when you receive the ACK file.\n\n\nFetch the batch result file to retrieve the updated card information.\nThe following is a sample Account Updater batch response file:\n\n\n\n\n\nBased on the batch result file, update the old card details.\n\nIf you are tokenizing with Adyen, the token will always stay the same, but you need to update the old card details through a payment request.\nIf you are not tokenizing with Adyen, you need to update the old card details in your own system.\n\n\n\nUse API calls\nTo receive account updates for a single card, you can send an API request instead of a batch request file.\n\n\nMake a POST  \/scheduleAccountUpdater request, specifying either:\n\nCard data: all fields in the card object are mandatory.\nAdyen token data: the shopperReference and selectedRecurringDetailReference fields are mandatory.\n\n\n\n    \n        \n        \n    \n\n\nThe response indicates we received your request.\n\n\n\nWe now forward the request to Visa and Mastercard.\n\n\nFetch the batch result file to retrieve the updated card information.\n\nThe result file is encrypted when you use the API.\nThe file name follows this format: AccountUpdater_AutoUpdates_result_YYYY-MM-DD_enc\n\n\n\nBased on the batch result file, update the old card details.\n\nIf you are tokenizing with Adyen, the token will always stay the same, but you need to update the old card details through a payment request.\nIf you are not tokenizing with Adyen, you need to update the old card details in your own system.\n\n\n\nAccount Updater statuses\nWhen we perform an account update, we send a status in the batch result file. The status indicates what action you need to take based on what changed in the card details.\n\n\n\nStatus\nAlternative values for the status\nDescription\n\n\n\n\nNoChange\nEitherExpiryChangedOrNoChangeInvalidAmountTxInvalidRecordIdentifierInvalidBinNotParticipatingCreditCardNumberInvalidCreditCardNumberNotFoundIssuerNotSubscribedNoMatchFoundUnknownResponseCodeProvidedGenericTokenUseErrorInvalidCreditCardInvalidExpirationDateMerchantIsNotAuthorisedToUseTokensTokenIsInvalidTokenWasNotFound\nThe card has not changed.\n\n\nCloseAccount\nCloseAccountCloseAccountThisAccountOnly\nThe account has been permanently closed by the issuing bank.\n\n\nPANChanged\nCardChanged\nThe account number has changed.\n\n\nCardExpiryChanged\n\nThe expiry date of the card has changed.\n\n\nContactCardAccountHolder\n\n(Visa only) The card has a new account number, expiry date, or both, but the shopper has asked the issuer to not share updated card details.\n\n\nError\nMerchantIdInvalidMerchantIdNotEnabled\nOur Account Updater process experienced an error.\n\n\n\nUpdate old card details\nThere are three scenarios that can occur as a result of an account update:\n\nNo updates on the card.\nCard details are updated.\nCard details are disabled.\n\n\nTo enable this flow, contact our Support Team. Not doing so will result in an API error when attempting the update.\n\nNo updates on the card\nIf there are no updates on the card, you do not need to take any further actions and all the card details remain unchanged.\nCard details are updated\nYou can receive updates of the following information on your shoppers' cards:\n\nCard number\nExpiry date of the card\nBoth card number and expiry date\n\nThe following examples show how you can update card details through a payment request.\n\n\n    \n        \n        \n    \n\n\nCard details are disabled\nYou can get an update that certain cards have been disabled. This can occur if the card is reported as stolen, or if the shopper informed the bank they no longer authorize transactions from you. We do not delete the storedPaymentMethodId or recurringDetailReference. Instead we provide the update to you, and you need to delete the card details.\nFor instructions, see Delete stored payment details.\nGet a report on card updates\nThe Account Updater results report shows a summary of Account Updater results from a particular period of time. Use this report to check the outcomes and statuses of account updates, and get a summary of both Real Time Account Updater and Batch Account Updater results. You can also analyze the fees charged for the Account Updater.\nSee also\n\n\n                    Tokenization\n                \n                    Real Time Account Updater\n                \n                    Managing tokens\n                \n                    Account Updater results report\n                \n\n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Online payments","lvl2":"Account Updater","lvl3":"Batch Account Updater"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/online-payments","lvl2":"https:\/\/docs.adyen.com\/pt\/online-payments\/account-updater","lvl3":"\/pt\/online-payments\/account-updater\/batch-account-updater"},"levels":4,"category":"Online Payments","category_color":"green","tags":["Batch","Account","Updater"]}}
