Checkout icon

Result codes

Use result codes to understand the current state of a payment.

Each payment has a resultCode that represents its current state, as well as any actions you should take. Below are lists of possible values, grouped by result types.

You can trigger a desired resultCode in your response for result code testing. This is useful when you want to test scenarios other than the happy flow.

Authentication-only result

For standalone authentication-only integrations, the result codes indicate if you need to take any action before you can proceed to authorise the payment.

resultCode
Description
Action to take
AuthenticationNotRequired The transaction does not require 3D Secure 2 authentication.

You can check the authenticationNotRequiredReason field to learn why authentication was not required.
Proceed to authorise the payment.
AuthenticationFinished The payment has been successfully authenticated with 3D Secure 2. Collect the 3D Secure 2 authentication data that you need to authorise the payment.

3D Secure 2 authentication result

For payment flows that require 3D Secure 2 authentication, the result codes indicate the action to take to authenticate the shopper.

resultCode
Description
Action to take
ChallengeShopper The issuer requires authentication from the shopper, for example through facial recognition or entering a code received on their phone. Initiate the challenge flow to present the challenge to the shopper, and submit the result to Adyen.
IdentifyShopper The issuer requires authentication from the device the shopper is using. Initiate the frictionless flow to get the shopper's device fingerprint, and submit the result to Adyen.
RedirectShopper The issuer requires the shopper to provide authentication in an an external web page or app. Redirect the shopper to complete the authentication.

Intermediate result

For some payment methods, you can receive an intermediate result code indicating the payment has not reached a final state yet. This happens when a payment is completed but the final status of the payment cannot be obtained, or for flows where it takes a while before the shopper can complete the payment.

resultCode
Description
Action to take
Received Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. Inform the shopper that you have received their order, and are waiting for the final payment status.
Pending The payment order was successfully received but the final status of the payment is not available yet.

This is common for payment methods with an asynchronous flow.
Inform the shopper that you have received their order, and are waiting for the shopper to complete the payment.
PresentToShopper Indicates that there is additional information that you need to present to a shopper, so that they can use it to complete a payment, for example a voucher. Present the voucher to the shopper, and inform the shopper that you are waiting for them to complete the payment.

When the shopper has completed the payment successfully, you will receive a successful AUTHORISATION webhook.

For some payments, it can take minutes, hours, or even days to be completed.

Partial authorisation result

If you accept partial authorizations for card payments, you receive a result code that indicates the issuing bank authorised a partial amount instead of the full order amount.

resultCode
Description
Action to take
PartiallyAuthorised The payment has been authorised for a partial amount. This happens when the cardholder has insufficient funds. Inform the shopper that their payment has been partially authorised. You can now:
  • Start a new transaction for the outstanding balance.
  • Cancel the transaction.
  • Capture the partial amount and take no further action.
  • For recurring payments, retry later.
  • Final state result

    These result codes indicate that the payment has reached a final state.

    resultCode
    Description
    Action to take
    Authorised The payment was successfully authorised. Inform the shopper that the payment was successful. You also get a webhook with an updated payment status that you can use to update your order management system.

    If you are using manual capture, you also need to capture the payment.
    Cancelled The payment was cancelled (by either the shopper or your own system) before processing was completed. Inform the shopper that their payment was cancelled and check if they want to continue with their order.
    Error There was an error when the payment was being processed. Inform the shopper that there was an error processing their payment.
    Refused The payment was refused. Inform the shopper that their payment was refused and ask them to try the payment again, for example, by using a different payment method or card.

    For payments that are not Authorised, you will receive a refusalReason , indicating the cause of the error. We do not recommend disclosing this refusal reason to the shopper.