--- title: "Testing result codes with Classic API" description: "Test getting result codes with your Classic API integration and troubleshoot issues before going live." url: "https://docs.adyen.com/development-resources/testing/result-codes/classic-api" source_url: "https://docs.adyen.com/development-resources/testing/result-codes/classic-api.md" canonical: "https://docs.adyen.com/development-resources/testing/result-codes/classic-api" last_modified: "2026-05-24T12:54:32+02:00" language: "en" --- # Testing result codes with Classic API Test getting result codes with your Classic API integration and troubleshoot issues before going live. [View source](/development-resources/testing/result-codes/classic-api.md) 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 ## Step 1: Make a test payment request Make a [/authorise](https://docs.adyen.com/api-explorer/Payment/latest/post/authorise) request including a value from the list of [testing request values](#values-for-testing-result-reasons) in either: * `card.holderName` * `additionalData.RequestedTestAcquirerResponseCode` For example, to test getting `resultCode`: **Refused** with `refusalReason`: **ExpiredCard**, make either request: **Test request using holder name** ```json curl https://pal-test.adyen.com/pal/servlet/Payment/v68/authorise \ -H'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -d '{ "amount": { "currency": "USD", "value": 1000 }, "reference": "YOUR_REFERENCE", "card": { "type": "scheme", "number": "4111111111111111", "expiryMonth": "03", "expiryYear": "2030", "holderName": "CARD_EXPIRED", "cvc": "737" }, "returnUrl": "https://your-company.example.com/...", "merchantAccount": "YOUR_MERCHANT_ACCOUNT" }' ``` **Test request using additional data** ```json curl https://pal-test.adyen.com/pal/servlet/Payment/v68/authorise \ -H'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -d '{ "amount": { "currency": "USD", "value": 1000 }, "reference": "YOUR_REFERENCE", "paymentMethod": { "type": "scheme", "number": "4111111111111111", "expiryMonth": "03", "expiryYear": "2030", "holderName": "John Smith", "cvc": "737" }, "returnUrl": "https://your-company.example.com/...", "merchantAccount": "YOUR_MERCHANT_ACCOUNT", "additionalData": { "RequestedTestAcquirerResponseCode":6 } }' ``` ## Step 2: Get the result code in the response The response includes the refusal reason: **Response with refusal reason** ```json { "pspReference": "851563882585825A", "refusalReason": "Expired Card", "resultCode": "Refused", "refusalReasonCode": "6" } ``` ## Values for testing refusal reasons Below 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: * `card.holderName` 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. * `additionalData.RequestedTestAcquirerResponseCode` | **refusalReason** | **resultCode** | `holderName` | `RequestedTestAcquirerResponseCode` | | ------------------------------------------------------------ | -------------- | ------------------------------------------ | ----------------------------------- | | Unknown | Error | UNKNOWN | 0 | | - | Authorised | APPROVED | 1 | | Refused | Refused | DECLINED | 2 | | Referral | Refused | REFERRAL | 3 | | Acquirer Error | Error | ERROR | 4 | | Blocked Card | Refused | BLOCK\_CARD | 5 | | Expired Card | Refused | CARD\_EXPIRED | 6 | | Invalid Amount | Refused | INVALID\_AMOUNT | 7 | | Invalid Card Number | Refused | INVALID\_CARD\_NUMBER | 8 | | Issuer Unavailable | Refused | ISSUER\_UNAVAILABLE | 9 | | Not supported | Refused | NOT\_SUPPORTED | 10 | | 3D Not Authenticated | Refused | NOT\_3D\_AUTHENTICATED | 11 | | Not enough balance | Refused | NOT\_ENOUGH\_BALANCE | 12 | | - | Received | PENDING | 13 | | Acquirer Fraud | Refused | ACQUIRER\_FRAUD | 14 | | Cancelled | Refused | CANCELLED | 15 | | Shopper Cancelled | Refused | SHOPPER\_CANCELLED | 16 | | Invalid Pin | Refused | INVALID\_PIN | 17 | | Pin tries exceeded | Refused | PIN\_TRIES\_EXCEEDED | 18 | | Pin validation not possible | Refused | PIN\_VALIDATION\_NOT\_POSSIBLE | 19 | | FRAUD | Refused | FRAUD | 20 | | Not Submitted | Refused | NOT\_SUBMITTED | 21 | | FRAUD-CANCELLED | Cancelled | FRAUD\_CANCELLED | 22 | | Transaction Not Permitted | Refused | TRANSACTION\_NOT\_PERMITTED | 23 | | CVC Declined | Refused | CVC\_DECLINED | 24 | | Restricted Card | Refused | RESTRICTED\_CARD | 25 | | Revocation Of Auth | Refused | REVOCATION\_OF\_AUTH | 26 | | Declined Non Generic | Refused | DECLINED\_NON\_GENERIC | 27 | | Withdrawal amount exceeded | Refused | WITHDRAWAL\_AMOUNT\_EXCEEDED | 28 | | Withdrawal count exceeded | Refused | WITHDRAWAL\_COUNT\_EXCEEDED | 29 | | - | Authorised | PARTIALLY\_APPROVED | 30 | | Issuer Suspected Fraud | Refused | ISSUER\_SUSPECTED\_FRAUD | 31 | | AVS Declined | Refused | AVS\_DECLINED | 32 | | Card requires online pin | Refused | PIN\_REQUIRED | 33 | | No checking account available on Card | Refused | NO\_CHECKING\_ACCOUNT\_AVAILABLE\_ON\_CARD | 34 | | No savings account available on Card | Refused | NO\_SAVINGS\_ACCOUNT\_AVAILABLE\_ON\_CARD | 35 | | Mobile PIN required | Refused | MOBILE\_PIN\_REQUIRED | 36 | | Contactless fallback | Refused | CONTACTLESS\_FALLBACK | 37 | | Authentication required | Refused | AUTHENTICATION\_REQUIRED | 38 | | RReq not received from DS | Refused | RREQ\_NOT\_RECEIVED | 39 | | Current AID is in Penalty Box. | Refused | BAN\_CURRENT\_AID | 40 | | CVM Required Restart Payment | Refused | CVM\_REQUIRED\_RESTART\_PAYMENT | 41 | | 3DS Authentication Error | Error | THREED\_SECURE\_AUTHENTICATION\_ERROR | 42 | | Online PIN required | Refused | ONLINE\_PIN\_REQUIRED | 43 | | Try another interface | Refused | TRY\_ANOTHER\_INTERFACE | 44 | | Chip downgrade mode | Refused | CHIP\_DOWNGRADE\_MODE | 45 | | Transaction blocked by Adyen to prevent excessive retry fees | Refused | ERPS\_BLOCK | 46 |