{"title":"Testing result codes and refusal reasons","category":"default","creationDate":1778684593,"content":"<div class=\"additional-info-block output-inline\">\n<h5 class=\"article__heading additional-info-block__title\">Test your in-person payments integration<\/h5><div class=\"additional-info-block__body\"><p>See <a href=\"\/point-of-sale\/testing-pos-payments\/test-card-v3\/#testing-declines\">Simulating declined payments<\/a> to learn about triggering refusal reasons with an in-person payments integration.<\/p><\/div><\/div>\n\n<p>You can test how your integration can handle different responses to make sure your integration can handle failure scenarios. In such scenarios, you receive a result code and a refusal reason that tells you why a payment request did not succeed.<\/p>\n<p>You can trigger specific refusal reasons in your payment requests to test how your integration handles failure scenarios.<\/p>\n<h2>Benefits of testing refusal reasons<\/h2>\n<p>This page describes how to trigger specific refusal reasons in your payment requests and test unhappy scenarios. There are several benefits to making sure your integration can handle unhappy flows, for example:<\/p>\n<ul>\n<li>Presenting your shoppers with specific error messages per refusal reason.<\/li>\n<li>Ensuring that you have a retry logic to handle refused payments.<\/li>\n<li>Building your order management system logic to make sure unhappy scenarios are handled correctly.<\/li>\n<\/ul>\n<h2>Trigger a refusal reason in a payment request<\/h2>\n<p>To get a specific result code and refusal reason 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, you need to include a specific value either in the <code>holderName<\/code> or <code>RequestedTestAcquirerResponseCode<\/code> field. You can find the values to use in the <a href=\"#values-for-testing-result-reasons\">Values for testing refusal reasons<\/a> table.<\/p>\n<ol>\n<li>\n<p>In the table, select the refusal reason that you want to trigger.<\/p>\n<\/li>\n<li>\n<p>Make a  <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> request, setting either of the following fields to the value corresponding to the refusal reason you want to trigger:<\/p>\n<ul>\n<li><code>paymentMethod.holderName<\/code>\n<div class=\"notices green\">\n<p>Some card-related payment methods, for example Alipay, redirect you to a simulator where you can select the payment result. In this case, the value provided as the cardholder name will be ignored.<\/p>\n<\/div><\/li>\n<li><code>additionalData.RequestedTestAcquirerResponseCode<\/code><\/li>\n<\/ul>\n<p>For example, to test getting <code>resultCode<\/code>: <span translate=\"no\"><strong>Refused<\/strong><\/span> with <code>refusalReason<\/code>: <span translate=\"no\"><strong>ExpiredCard<\/strong><\/span>, make one of the following requests.<\/p>\n\n<div id=\"tabgReq0\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Request using holder name&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Test request using holder name&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;json&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v72\\\\\\\/payments \\\\\\\\\\\\n-H&#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n  \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n  \\\\&amp;quot;value\\\\&amp;quot;: 1000\\\\n  },\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    \\\\&amp;quot;number\\\\&amp;quot;: \\\\&amp;quot;4111111111111111\\\\&amp;quot;,\\\\n    \\\\&amp;quot;expiryMonth\\\\&amp;quot;: \\\\&amp;quot;03\\\\&amp;quot;,\\\\n    \\\\&amp;quot;expiryYear\\\\&amp;quot;: \\\\&amp;quot;2030\\\\&amp;quot;,\\\\n    \\\\&amp;quot;holderName\\\\&amp;quot;: \\\\&amp;quot;CARD_EXPIRED\\\\&amp;quot;,\\\\n    \\\\&amp;quot;cvc\\\\&amp;quot;: \\\\&amp;quot;737\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/...\\\\&amp;quot;,\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;\\\\n}&#039;&amp;quot;}]\\&quot; :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;:1,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Request using acquirer response code&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Test request using acquirer response code&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;json&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v72\\\\\\\/payments \\\\\\\\\\\\n-H&#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 1000\\\\n  },\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    \\\\&amp;quot;number\\\\&amp;quot;: \\\\&amp;quot;4111111111111111\\\\&amp;quot;,\\\\n    \\\\&amp;quot;expiryMonth\\\\&amp;quot;: \\\\&amp;quot;03\\\\&amp;quot;,\\\\n    \\\\&amp;quot;expiryYear\\\\&amp;quot;: \\\\&amp;quot;2030\\\\&amp;quot;,\\\\n    \\\\&amp;quot;holderName\\\\&amp;quot;: \\\\&amp;quot;John Smith\\\\&amp;quot;,\\\\n    \\\\&amp;quot;cvc\\\\&amp;quot;: \\\\&amp;quot;737\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/...\\\\&amp;quot;,\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;additionalData\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;RequestedTestAcquirerResponseCode\\\\&amp;quot;:6\\\\n  }\\\\n}&#039;&amp;quot;}]\\&quot; :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;:1,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='false'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<\/li>\n<li>\n<p>Make sure that the response contains the <code>resultCode<\/code> and <code>refusalReason<\/code> you triggered, and that your integration handles the response as expected.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Response with refusal reason'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n  \\\"pspReference\\\": \\\"851563882585825A\\\",\\n  \\\"refusalReason\\\": \\\"Expired Card\\\",\\n  \\\"resultCode\\\": \\\"Refused\\\",\\n  \\\"refusalReasonCode\\\": \\\"6\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ol>\n<h2 id=\"values-for-testing-result-reasons\">Values for testing refusal reasons<\/h2>\n<p>The following table provides the values you need to specify  in your  <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> to trigger specific refusal reasons in the response:<\/p>\n<ul>\n<li>The <strong>refusalReason<\/strong> and <strong>resultCode<\/strong> columns indicate the responses you can trigger.<\/li>\n<li>The <strong>holderName<\/strong> column provides the value to use if you want to trigger the response using the <code>paymentMethod.holderName<\/code> field.<\/li>\n<li>The <strong>RequestedTestAcquirerResponseCode<\/strong> column provides the value to use if you want to trigger the response using the <code>additionalData.RequestedTestAcquirerResponseCode<\/code> field.<\/li>\n<\/ul>\n<table>\n<thead>\n<tr>\n<th><div style=\"width:150px\"><strong>refusalReason<\/strong><\/div><\/th>\n<th><strong>resultCode<\/strong><\/th>\n<th><code>holderName<\/code><\/th>\n<th><code>RequestedTestAcquirerResponseCode<\/code><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Unknown<\/td>\n<td>Error<\/td>\n<td>UNKNOWN<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>-<\/td>\n<td>Authorised<\/td>\n<td>APPROVED<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>Refused<\/td>\n<td>Refused<\/td>\n<td>DECLINED<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>Referral<\/td>\n<td>Refused<\/td>\n<td>REFERRAL<\/td>\n<td>3<\/td>\n<\/tr>\n<tr>\n<td>Acquirer Error<\/td>\n<td>Error<\/td>\n<td>ERROR<\/td>\n<td>4<\/td>\n<\/tr>\n<tr>\n<td>Blocked Card<\/td>\n<td>Refused<\/td>\n<td>BLOCK_CARD<\/td>\n<td>5<\/td>\n<\/tr>\n<tr>\n<td>Expired Card<\/td>\n<td>Refused<\/td>\n<td>CARD_EXPIRED<\/td>\n<td>6<\/td>\n<\/tr>\n<tr>\n<td>Invalid Amount<\/td>\n<td>Refused<\/td>\n<td>INVALID_AMOUNT<\/td>\n<td>7<\/td>\n<\/tr>\n<tr>\n<td>Invalid Card Number<\/td>\n<td>Refused<\/td>\n<td>INVALID_CARD_NUMBER<\/td>\n<td>8<\/td>\n<\/tr>\n<tr>\n<td>Issuer Unavailable<\/td>\n<td>Refused<\/td>\n<td>ISSUER_UNAVAILABLE<\/td>\n<td>9<\/td>\n<\/tr>\n<tr>\n<td>Not supported<\/td>\n<td>Refused<\/td>\n<td>NOT_SUPPORTED<\/td>\n<td>10<\/td>\n<\/tr>\n<tr>\n<td>3D Not Authenticated<\/td>\n<td>Refused<\/td>\n<td>NOT_3D_AUTHENTICATED<\/td>\n<td>11<\/td>\n<\/tr>\n<tr>\n<td>Not enough balance<\/td>\n<td>Refused<\/td>\n<td>NOT_ENOUGH_BALANCE<\/td>\n<td>12<\/td>\n<\/tr>\n<tr>\n<td>-<\/td>\n<td>Received<\/td>\n<td>PENDING<\/td>\n<td>13<\/td>\n<\/tr>\n<tr>\n<td>Acquirer Fraud<\/td>\n<td>Refused<\/td>\n<td>ACQUIRER_FRAUD<\/td>\n<td>14<\/td>\n<\/tr>\n<tr>\n<td>Cancelled<\/td>\n<td>Refused<\/td>\n<td>CANCELLED<\/td>\n<td>15<\/td>\n<\/tr>\n<tr>\n<td>Shopper Cancelled<\/td>\n<td>Refused<\/td>\n<td>SHOPPER_CANCELLED<\/td>\n<td>16<\/td>\n<\/tr>\n<tr>\n<td>Invalid Pin<\/td>\n<td>Refused<\/td>\n<td>INVALID_PIN<\/td>\n<td>17<\/td>\n<\/tr>\n<tr>\n<td>Pin tries exceeded<\/td>\n<td>Refused<\/td>\n<td>PIN_TRIES_EXCEEDED<\/td>\n<td>18<\/td>\n<\/tr>\n<tr>\n<td>Pin validation not possible<\/td>\n<td>Refused<\/td>\n<td>PIN_VALIDATION_NOT_POSSIBLE<\/td>\n<td>19<\/td>\n<\/tr>\n<tr>\n<td>FRAUD<\/td>\n<td>Refused<\/td>\n<td>FRAUD<\/td>\n<td>20<\/td>\n<\/tr>\n<tr>\n<td>Not Submitted<\/td>\n<td>Refused<\/td>\n<td>NOT_SUBMITTED<\/td>\n<td>21<\/td>\n<\/tr>\n<tr>\n<td>FRAUD-CANCELLED<\/td>\n<td>Cancelled<\/td>\n<td>FRAUD_CANCELLED<\/td>\n<td>22<\/td>\n<\/tr>\n<tr>\n<td>Transaction Not Permitted<\/td>\n<td>Refused<\/td>\n<td>TRANSACTION_NOT_PERMITTED<\/td>\n<td>23<\/td>\n<\/tr>\n<tr>\n<td>CVC Declined<\/td>\n<td>Refused<\/td>\n<td>CVC_DECLINED<\/td>\n<td>24<\/td>\n<\/tr>\n<tr>\n<td>Restricted Card<\/td>\n<td>Refused<\/td>\n<td>RESTRICTED_CARD<\/td>\n<td>25<\/td>\n<\/tr>\n<tr>\n<td>Revocation Of Auth<\/td>\n<td>Refused<\/td>\n<td>REVOCATION_OF_AUTH<\/td>\n<td>26<\/td>\n<\/tr>\n<tr>\n<td>Declined Non Generic<\/td>\n<td>Refused<\/td>\n<td>DECLINED_NON_GENERIC<\/td>\n<td>27<\/td>\n<\/tr>\n<tr>\n<td>Withdrawal amount exceeded<\/td>\n<td>Refused<\/td>\n<td>WITHDRAWAL_AMOUNT_EXCEEDED<\/td>\n<td>28<\/td>\n<\/tr>\n<tr>\n<td>Withdrawal count exceeded<\/td>\n<td>Refused<\/td>\n<td>WITHDRAWAL_COUNT_EXCEEDED<\/td>\n<td>29<\/td>\n<\/tr>\n<tr>\n<td>Issuer Suspected Fraud<\/td>\n<td>Refused<\/td>\n<td>ISSUER_SUSPECTED_FRAUD<\/td>\n<td>31<\/td>\n<\/tr>\n<tr>\n<td>AVS Declined<\/td>\n<td>Refused<\/td>\n<td>AVS_DECLINED<\/td>\n<td>32<\/td>\n<\/tr>\n<tr>\n<td>Card requires online pin<\/td>\n<td>Refused<\/td>\n<td>PIN_REQUIRED<\/td>\n<td>33<\/td>\n<\/tr>\n<tr>\n<td>No checking account available on Card<\/td>\n<td>Refused<\/td>\n<td>NO_CHECKING_ACCOUNT_AVAILABLE_ON_CARD<\/td>\n<td>34<\/td>\n<\/tr>\n<tr>\n<td>No savings account available on Card<\/td>\n<td>Refused<\/td>\n<td>NO_SAVINGS_ACCOUNT_AVAILABLE_ON_CARD<\/td>\n<td>35<\/td>\n<\/tr>\n<tr>\n<td>Mobile PIN required<\/td>\n<td>Refused<\/td>\n<td>MOBILE_PIN_REQUIRED<\/td>\n<td>36<\/td>\n<\/tr>\n<tr>\n<td>Contactless fallback<\/td>\n<td>Refused<\/td>\n<td>CONTACTLESS_FALLBACK<\/td>\n<td>37<\/td>\n<\/tr>\n<tr>\n<td>Authentication required<\/td>\n<td>Refused<\/td>\n<td>AUTHENTICATION_REQUIRED<\/td>\n<td>38<\/td>\n<\/tr>\n<tr>\n<td>RReq not received from DS<\/td>\n<td>Refused<\/td>\n<td>RREQ_NOT_RECEIVED<\/td>\n<td>39<\/td>\n<\/tr>\n<tr>\n<td>Current AID is in Penalty Box.<\/td>\n<td>Refused<\/td>\n<td>BAN_CURRENT_AID<\/td>\n<td>40<\/td>\n<\/tr>\n<tr>\n<td>CVM Required Restart Payment<\/td>\n<td>Refused<\/td>\n<td>CVM_REQUIRED_RESTART_PAYMENT<\/td>\n<td>41<\/td>\n<\/tr>\n<tr>\n<td>3DS Authentication Error<\/td>\n<td>Refused<\/td>\n<td>THREED_SECURE_AUTHENTICATION_ERROR<\/td>\n<td>42<\/td>\n<\/tr>\n<tr>\n<td>Online PIN required<\/td>\n<td>Refused<\/td>\n<td>ONLINE_PIN_REQUIRED<\/td>\n<td>43<\/td>\n<\/tr>\n<tr>\n<td>Try another interface<\/td>\n<td>Refused<\/td>\n<td>TRY_ANOTHER_INTERFACE<\/td>\n<td>44<\/td>\n<\/tr>\n<tr>\n<td>Chip downgrade mode<\/td>\n<td>Refused<\/td>\n<td>CHIP_DOWNGRADE_MODE<\/td>\n<td>45<\/td>\n<\/tr>\n<tr>\n<td>Transaction blocked by Adyen to prevent excessive retry fees<\/td>\n<td>Refused<\/td>\n<td>ERPS_BLOCK<\/td>\n<td>46<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/development-resources\/refusal-reasons\/\"\n                        target=\"_self\"\n                        >\n                    Refusal reasons\n                <\/a><\/li><li><a href=\"\/online-payments\/build-your-integration\/payment-result-codes\/\"\n                        target=\"_self\"\n                        >\n                    Result codes\n                <\/a><\/li><li><a href=\"\/development-resources\/overview-response-handling\/\"\n                        target=\"_self\"\n                        >\n                    Response handling\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/development-resources\/testing\/result-codes","articleFields":{"description":"Test getting result codes and refusal reasons with your integration and troubleshoot issues before going live.","cache_enable":false,"page_id":"46357647-9f76-477e-b195-4591baf05505","feedback_component":true,"filters_component":false,"decision_tree":"[]"},"algolia":{"url":"https:\/\/docs.adyen.com\/development-resources\/testing\/result-codes","title":"Testing result codes and refusal reasons","content":"\nTest your in-person payments integrationSee Simulating declined payments to learn about triggering refusal reasons with an in-person payments integration.\n\nYou can test how your integration can handle different responses to make sure your integration can handle failure scenarios. In such scenarios, you receive a result code and a refusal reason that tells you why a payment request did not succeed.\nYou can trigger specific refusal reasons in your payment requests to test how your integration handles failure scenarios.\nBenefits of testing refusal reasons\nThis page describes how to trigger specific refusal reasons in your payment requests and test unhappy scenarios. There are several benefits to making sure your integration can handle unhappy flows, for example:\n\nPresenting your shoppers with specific error messages per refusal reason.\nEnsuring that you have a retry logic to handle refused payments.\nBuilding your order management system logic to make sure unhappy scenarios are handled correctly.\n\nTrigger a refusal reason in a payment request\nTo get a specific result code and refusal reason in the  \/payments response, you need to include a specific value either in the holderName or RequestedTestAcquirerResponseCode field. You can find the values to use in the Values for testing refusal reasons table.\n\n\nIn the table, select the refusal reason that you want to trigger.\n\n\nMake a  \/payments request, setting either of the following fields to the value corresponding to the refusal reason you want to trigger:\n\npaymentMethod.holderName\n\nSome card-related payment methods, for example Alipay, redirect you to a simulator where you can select the payment result. In this case, the value provided as the cardholder name will be ignored.\n\nadditionalData.RequestedTestAcquirerResponseCode\n\nFor example, to test getting resultCode: Refused with refusalReason: ExpiredCard, make one of the following requests.\n\n\n    \n        \n        \n    \n\n\n\n\nMake sure that the response contains the resultCode and refusalReason you triggered, and that your integration handles the response as expected.\n\n\n\n\n\nValues for testing refusal reasons\nThe following table provides the values you need to specify  in your  \/payments to trigger specific refusal reasons in the response:\n\nThe refusalReason and resultCode columns indicate the responses you can trigger.\nThe holderName column provides the value to use if you want to trigger the response using the paymentMethod.holderName field.\nThe RequestedTestAcquirerResponseCode column provides the value to use if you want to trigger the response using the additionalData.RequestedTestAcquirerResponseCode field.\n\n\n\n\nrefusalReason\nresultCode\nholderName\nRequestedTestAcquirerResponseCode\n\n\n\n\nUnknown\nError\nUNKNOWN\n0\n\n\n-\nAuthorised\nAPPROVED\n1\n\n\nRefused\nRefused\nDECLINED\n2\n\n\nReferral\nRefused\nREFERRAL\n3\n\n\nAcquirer Error\nError\nERROR\n4\n\n\nBlocked Card\nRefused\nBLOCK_CARD\n5\n\n\nExpired Card\nRefused\nCARD_EXPIRED\n6\n\n\nInvalid Amount\nRefused\nINVALID_AMOUNT\n7\n\n\nInvalid Card Number\nRefused\nINVALID_CARD_NUMBER\n8\n\n\nIssuer Unavailable\nRefused\nISSUER_UNAVAILABLE\n9\n\n\nNot supported\nRefused\nNOT_SUPPORTED\n10\n\n\n3D Not Authenticated\nRefused\nNOT_3D_AUTHENTICATED\n11\n\n\nNot enough balance\nRefused\nNOT_ENOUGH_BALANCE\n12\n\n\n-\nReceived\nPENDING\n13\n\n\nAcquirer Fraud\nRefused\nACQUIRER_FRAUD\n14\n\n\nCancelled\nRefused\nCANCELLED\n15\n\n\nShopper Cancelled\nRefused\nSHOPPER_CANCELLED\n16\n\n\nInvalid Pin\nRefused\nINVALID_PIN\n17\n\n\nPin tries exceeded\nRefused\nPIN_TRIES_EXCEEDED\n18\n\n\nPin validation not possible\nRefused\nPIN_VALIDATION_NOT_POSSIBLE\n19\n\n\nFRAUD\nRefused\nFRAUD\n20\n\n\nNot Submitted\nRefused\nNOT_SUBMITTED\n21\n\n\nFRAUD-CANCELLED\nCancelled\nFRAUD_CANCELLED\n22\n\n\nTransaction Not Permitted\nRefused\nTRANSACTION_NOT_PERMITTED\n23\n\n\nCVC Declined\nRefused\nCVC_DECLINED\n24\n\n\nRestricted Card\nRefused\nRESTRICTED_CARD\n25\n\n\nRevocation Of Auth\nRefused\nREVOCATION_OF_AUTH\n26\n\n\nDeclined Non Generic\nRefused\nDECLINED_NON_GENERIC\n27\n\n\nWithdrawal amount exceeded\nRefused\nWITHDRAWAL_AMOUNT_EXCEEDED\n28\n\n\nWithdrawal count exceeded\nRefused\nWITHDRAWAL_COUNT_EXCEEDED\n29\n\n\nIssuer Suspected Fraud\nRefused\nISSUER_SUSPECTED_FRAUD\n31\n\n\nAVS Declined\nRefused\nAVS_DECLINED\n32\n\n\nCard requires online pin\nRefused\nPIN_REQUIRED\n33\n\n\nNo checking account available on Card\nRefused\nNO_CHECKING_ACCOUNT_AVAILABLE_ON_CARD\n34\n\n\nNo savings account available on Card\nRefused\nNO_SAVINGS_ACCOUNT_AVAILABLE_ON_CARD\n35\n\n\nMobile PIN required\nRefused\nMOBILE_PIN_REQUIRED\n36\n\n\nContactless fallback\nRefused\nCONTACTLESS_FALLBACK\n37\n\n\nAuthentication required\nRefused\nAUTHENTICATION_REQUIRED\n38\n\n\nRReq not received from DS\nRefused\nRREQ_NOT_RECEIVED\n39\n\n\nCurrent AID is in Penalty Box.\nRefused\nBAN_CURRENT_AID\n40\n\n\nCVM Required Restart Payment\nRefused\nCVM_REQUIRED_RESTART_PAYMENT\n41\n\n\n3DS Authentication Error\nRefused\nTHREED_SECURE_AUTHENTICATION_ERROR\n42\n\n\nOnline PIN required\nRefused\nONLINE_PIN_REQUIRED\n43\n\n\nTry another interface\nRefused\nTRY_ANOTHER_INTERFACE\n44\n\n\nChip downgrade mode\nRefused\nCHIP_DOWNGRADE_MODE\n45\n\n\nTransaction blocked by Adyen to prevent excessive retry fees\nRefused\nERPS_BLOCK\n46\n\n\n\nSee also\n\n\n                    Refusal reasons\n                \n                    Result codes\n                \n                    Response handling\n                \n","type":"page","locale":"en","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Development resources","lvl2":"Testing your online payments integration","lvl3":"Testing result codes and refusal reasons"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/","lvl1":"https:\/\/docs.adyen.com\/development-resources","lvl2":"https:\/\/docs.adyen.com\/development-resources\/testing","lvl3":"\/development-resources\/testing\/result-codes"},"levels":4,"category":"Development Resources","category_color":"green","tags":["Testing","result","codes","refusal","reasons"]},"articleFiles":{"69160933.json":"<p alt=\"\">69160933.json<\/p>","1270565296.json":"<p alt=\"\">1270565296.json<\/p>"}}
