No momento, esta página não está disponível em português
Checkout icon

Result codes

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

When you submit a payment, you get a result code that indicates the current status of the payment. You can use the result code to inform the shopper about the payment status. The status of a payment can sometimes change after you get the result code, so we recommend that you do not use the result code to update your order management system.

Requirements

Before you begin, take into account the following requirements.

Requirement Description
Integration type An online payments integration.
API credential roles Make sure that you have the following roles:
  • Merchant PAL webservice role
  • Checkout webservice role

Getting the result code

How you get the result code depends on the server-side flow that your integration uses.

Server-side flow Description
Sessions flow When the payment flow finishes, you get the resultCode object from Drop-in or the Component.
Advanced flow For payments that do not require an additional action, you get the resultCode parameter in the /payments response.
For payments that require an additional action, you get the resultCode parameter in the /payments/details response.

Authentication-only result codes

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 codes

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 codes

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 codes

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 codes

    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.

    Next steps