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: |
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.