{"title":"Testing result codes with Classic API","category":"default","creationDate":1776961629,"content":"<p>This page describes the testing steps if you are using the <code>\/authorise<\/code> endpoint from Classic API. For testing result codes with our newer integrations, refer to<\/p>\n<h2>Step 1: Make a test payment request<\/h2>\n<p>Make a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/authorise\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/authorise<\/a> request including a value from the list of <a href=\"#values-for-testing-result-reasons\">testing request values<\/a> in either:<\/p>\n<ul>\n<li><code>card.holderName<\/code><\/li>\n<li><code>additionalData.RequestedTestAcquirerResponseCode<\/code><\/li>\n<\/ul>\n<p>For example, to test getting <code>resultCode<\/code>: <strong>Refused<\/strong> with <code>refusalReason<\/code>: <strong>ExpiredCard<\/strong>, make either request:<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Test request using holder name'\" :id=\"''\" :code-data=\"[{&quot;language&quot;:&quot;json&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/pal-test.adyen.com\\\/pal\\\/servlet\\\/Payment\\\/v68\\\/authorise \\\\\\n-H'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n  \\&quot;amount\\&quot;: {\\n    \\&quot;currency\\&quot;: \\&quot;USD\\&quot;,\\n    \\&quot;value\\&quot;: 1000\\n  },\\n  \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n  \\&quot;card\\&quot;: {\\n    \\&quot;type\\&quot;: \\&quot;scheme\\&quot;,\\n    \\&quot;number\\&quot;: \\&quot;4111111111111111\\&quot;,\\n    \\&quot;expiryMonth\\&quot;: \\&quot;03\\&quot;,\\n    \\&quot;expiryYear\\&quot;: \\&quot;2030\\&quot;,\\n    \\&quot;holderName\\&quot;: \\&quot;CARD_EXPIRED\\&quot;,\\n    \\&quot;cvc\\&quot;: \\&quot;737\\&quot;\\n  },\\n  \\&quot;returnUrl\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;,\\n  \\&quot;merchantAccount\\&quot;: \\&quot;YOUR_MERCHANT_ACCOUNT\\&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=\"'Test request using additional data'\" :id=\"''\" :code-data=\"[{&quot;language&quot;:&quot;json&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/pal-test.adyen.com\\\/pal\\\/servlet\\\/Payment\\\/v68\\\/authorise \\\\\\n-H'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n  \\&quot;amount\\&quot;: {\\n    \\&quot;currency\\&quot;: \\&quot;USD\\&quot;,\\n    \\&quot;value\\&quot;: 1000\\n  },\\n  \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n  \\&quot;paymentMethod\\&quot;: {\\n    \\&quot;type\\&quot;: \\&quot;scheme\\&quot;,\\n    \\&quot;number\\&quot;: \\&quot;4111111111111111\\&quot;,\\n    \\&quot;expiryMonth\\&quot;: \\&quot;03\\&quot;,\\n    \\&quot;expiryYear\\&quot;: \\&quot;2030\\&quot;,\\n    \\&quot;holderName\\&quot;: \\&quot;John Smith\\&quot;,\\n    \\&quot;cvc\\&quot;: \\&quot;737\\&quot;\\n  },\\n  \\&quot;returnUrl\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;,\\n  \\&quot;merchantAccount\\&quot;: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;additionalData\\&quot;: {\\n    \\&quot;RequestedTestAcquirerResponseCode\\&quot;:6\\n  }\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h2>Step 2: Get the result code in the response<\/h2>\n<p>The response includes the refusal reason:<\/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<h2 id=\"values-for-testing-result-reasons\">Values for testing refusal reasons<\/h2>\n<p>Below is a list of values that you can specify in your <code>\/authorise<\/code> request to get a specific refusal reason in the response. Setting either of the following fields to the triggering values enables you to stimulate a specific failure scenario:<\/p>\n<ul>\n<li>\n<p><code>card.holderName<\/code><\/p>\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>\n<\/li>\n<li>\n<p><code>additionalData.RequestedTestAcquirerResponseCode<\/code><\/p>\n<\/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>-<\/td>\n<td>Authorised<\/td>\n<td>PARTIALLY_APPROVED<\/td>\n<td>30<\/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>Error<\/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>","url":"https:\/\/docs.adyen.com\/pt\/development-resources\/testing\/result-codes\/classic-api","articleFields":{"description":"Test getting result codes with your Classic API integration and troubleshoot issues before going live.","cache_enable":false},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/development-resources\/testing\/result-codes\/classic-api","title":"Testing result codes with Classic API","content":"This page describes the testing steps if you are using the \/authorise endpoint from Classic API. For testing result codes with our newer integrations, refer to\nStep 1: Make a test payment request\nMake a  \/authorise request including a value from the list of testing request values in either:\n\ncard.holderName\nadditionalData.RequestedTestAcquirerResponseCode\n\nFor example, to test getting resultCode: Refused with refusalReason: ExpiredCard, make either request:\n\n    \n\n\n    \n\nStep 2: Get the result code in the response\nThe response includes the refusal reason:\n\n    \n\nValues for testing refusal reasons\nBelow is a list of values that you can specify in your \/authorise request to get a specific refusal reason in the response. Setting either of the following fields to the triggering values enables you to stimulate a specific failure scenario:\n\n\ncard.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\n\n\nadditionalData.RequestedTestAcquirerResponseCode\n\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\n-\nAuthorised\nPARTIALLY_APPROVED\n30\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\nError\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","type":"page","locale":"pt","boost":16,"hierarchy":{"lvl0":"Home","lvl1":"Development resources","lvl2":"Testing your online payments integration","lvl3":"Testing result codes and refusal reasons","lvl4":"Testing result codes with Classic API"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/development-resources","lvl2":"https:\/\/docs.adyen.com\/pt\/development-resources\/testing","lvl3":"https:\/\/docs.adyen.com\/pt\/development-resources\/testing\/result-codes","lvl4":"\/pt\/development-resources\/testing\/result-codes\/classic-api"},"levels":5,"category":"Development Resources","category_color":"green","tags":["Testing","result","codes","Classic"]}}
