Each payment has a resultCode
that represents its current state, as well as any actions you should take.
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 path.
resultCode | Description | Action to take |
---|---|---|
AuthenticationFinished | The payment has been successfully authenticated with 3D Secure. This result code applies to standalone authentication-only integrations. |
Collect the 3D Secure 2 authentication data that you will need to authorise the payment. |
AuthenticationNotRequired | The transaction does not require 3D Secure authentication, for example, the issuing bank does not require authentication or the transaction is out of scope. Check the authenticationNotRequiredReason parameter to know why authentication was skipped.This result code applies to standalone authentication-only integrations. |
Since authentication is not required for the transaction, you can already proceed to authorise the payment. |
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. |
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. Contact the shopper to check if they want to continue with their order. |
ChallengeShopper | The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. | Present the challenge flow to the shopper and submit the result to Adyen. |
Error | There was an error when the payment was being processed. You'll receive a |
Inform the shopper that there was an error processing their payment. |
IdentifyShopper | The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. | Initiate the 3D Secure 2 device fingerprinting process and submit the result to Adyen. |
PartiallyAuthorised | The payment has been authorised for a partial amount. This happens for card payments when the merchant supports Partial Authorisations and the cardholder has insufficient funds. |
Inform the shopper that their payment has been partially authorised along with displaying the partially authorised amount. Initiate a new payment for the outstanding amount. |
Pending | It's not possible to obtain the final status of the payment at this time. This is common for payments with an asynchronous flow, such as Boleto or iDEAL. |
Inform the shopper that you've received their order, and are waiting for the shopper to complete the payment. When the shopper has completed the payment you will receive a successful AUTHORISATION webhook. It can take minutes, hours, or even days for some payments to be completed. |
PresentToShopper | Present the voucher or the QR code to the shopper. |
Inform the shopper that you've received their order, and are waiting for the payment to be completed. When the shopper has completed the payment you will receive a successful AUTHORISATION webhook. |
Received | This is part of the standard payment flow for methods such as SEPA Direct Debit, where it can take some time before the final status of the payment is known. |
Inform the shopper that you've received their order, and are waiting for the payment to clear. You will receive the final result of the payment in an AUTHORISATION webhook. It can take minutes, hours, or even days for some payments to clear. |
RedirectShopper | The shopper needs to be redirected to an external web page or app to complete the payment. |
Redirect the shopper to complete the payment. |
Refused | The payment was refused. You'll receive a |
Inform the shopper that their payment was refused and ask them to try the payment again, for example, using a different payment method or card. |