Skip to main content

Reason codes

The API returns, in the payload object reason, status reasons when HTTP status code is 200 Ok, and error details when HTTP status code is different from 200 Ok. Field reason.code is a unique value to distinguish the status reason or error.

note

Mastercard transaction responses may include also a Merchant Advice Code which provides more details about the response.

Reason codeHTTP status codeResponseObject.statusCauseNext action
required_next_step200pendingWhen present, this property tells you what actions you need to take in order for your consumer to continue the payment flow.Execute the step described in object nextStep.
waiting_confirmation200pendingConfirmation is pending for the non-instant operation. This mainly happens for push payment products (SEPA, 7-Eleven, etc.). When the processors asynchronously inform the status of a payment or refund to us, you can expect this reason code.Wait for the webhook event from us to inform you the final status of the operation. You can also try fetching the status of the operation at a later moment using the trackingUrl.
unknown_status200pendingStatus of the operation is unknown at the moment.Wait for the webhook event from us to inform you the final status of the operation. You can also try fetching the status of the operation at a later moment using the trackingUrl. If the status of the operation stays unknown for more than 48 hours, contact us.
cancelled200abortedThe consumer has cancelled the payment. Payment is not completed.Consumer can retry the payment again or use another payment method to pay.
timeout200abortedIn case of instant payment methods, payment is not verified within the required time period. For non-instant payments, the consumer didn't make the payment within the given time frame.Provide a new payment method to the consumer in-session attempt to fulfil this payment again. For off-session payments, inform the consumer to make the payment again.
rejected_by_issuer200declinedThe issuer has declined the payment.The consumer needs to contact their bank or issuer for more information. The consumer can retry the payment later or use another payment method to pay.
do_not_retry200declinedThe issuer has declined the payment and it should not be retried.The consumer needs to contact their bank or issuer for more information. The consumer can use another payment method to pay.
insufficient_funds200declinedThe consumer does not have enough funds to complete the payment.The consumer needs to use a different payment method.
suspected_fraud200declinedThe payment is declined because the issuer suspects that it is fraudulent.
Examples:
- Stolen credentials.
- Suspicious consumer information.
Don't report more detailed information to your consumer. Provide a generic user-friendly decline message to the consumer. The consumer needs to contact their bank or issuer for more information.
required_authentication200declinedThe payment requires strong customer authentication (3-D Secure) to proceed.The consumer should try again and authenticate their card when prompted during the transaction.
invalid_amount200declinedThe payment is declined because the amount is invalid.
Examples:
- The amount exceeds a maximum for a card program.
- The amount submitted in the authorization request to the issuer exceeds the amount used in the previous authentication request.
Retry using a correct amount. If the amount appears to be correct, the consumer needs to check with their bank that they can make purchases of that amount.
referral200declinedThe payment is declined because it requires additional verification by the issuing bank before approval.The consumer needs to contact their bank or issuer for more information. The consumer can retry the payment later or use another payment method to pay.
exceeded_activity200declinedThe customer has exceeded the balance, credit limit, or transaction frequency on their account.The consumer needs to contact their bank or issuer for more information. The consumer can retry the payment later or use another payment method to pay.
failed_security_code200declinedThe security code is incorrect.Retry using a correct security code. If the security code appears to be correct, the consumer needs to contact their bank or issuer for more information.
invalid_account200declinedThe account validations failed for the user. Examples:
- The account is closed, blocked or inactive.
- The transaction is from a new cardholder, and the account has not been properly unblocked/activated.
- There is no checking or saving account available.
The consumer needs to contact their account provider, bank or issuer for more information. The consumer can retry the payment later or use another payment method to pay.
pickup_card200declinedThe issuer requested to pickup the card.The consumer needs to contact their bank or issuer for more information. The consumer can retry the payment later or use another payment method to pay.
restricted_card200declinedThe card can't be used for the payment.The consumer needs to contact their bank or issuer for more information. The consumer can retry the payment later or use another payment method to pay.
lost_card200declinedThe card is reported lost.The consumer needs to contact their bank or issuer for more information. The consumer can retry the payment later or use another payment method to pay.
stolen_card200declinedThe card is reported stolen.The consumer needs to contact their bank or issuer for more information. The consumer can retry the payment later or use another payment method to pay.
expired_card200declinedThe card has expired.The consumer needs to contact their bank or issuer for more information. The consumer can retry the payment later or use another payment method to pay.
security_violation200declinedThe procesor or the issuer reported a security violation.The consumer needs to contact their bank or issuer for more information. The consumer can retry the payment later or use another payment method to pay.
not_allowed_by_issuer200declinedPayment not allowed by the issuer.The consumer needs to contact their bank or issuer for more information. The consumer can retry the payment later or use another payment method to pay.
invalid_account_number200declinedThe account number is incorrect.Retry using a correct account number. If the account number appears to be correct, the consumer needs to contact their bank or issuer for more information. The consumer can retry the payment later or use another payment method to pay.
duplicated_transaction200declinedThe processor or the issuer reported the operation as duplicated.Check if the operation is already processed. If not, please try again later.
not_supported_by_issuer200declinedIssuer reported the operation as not supported.The consumer needs to contact their bank or issuer for more information. The consumer can retry the payment later or use another payment method to pay.
blocked200rejectedThe operation is rejected because it is blocked by the system.Check the field reason.description in the response for further details.
processing_error200failedThe operation failed due to incorrect/missing data or internal system error at the processor.Please try again later.
invalid_request400*The request contains one or more unexpected parameters.Check the field reason.invalidParams in the response for further details. Adjust the request and resubmit it.
invalid_operation400*The operation is invalid for the current state of the resource. Example: Refund operation returns this reason code when the original payment is not in succeeded status.Check the field reason.description in the response for further details. Check our developer portal and adjust the sequence or timing of the operation that you are currently performing.
not_supported400*The operation is not supported due to restriction of underlying payment scheme or issuer.Check the field reason.description in the response for further details. Check our developer portal to know the features and operations supported by every payment method.
not_allowed400*The operation is not allowed due to a configuration restriction.Check the field reason.description in the response for further details.
locked_operation409*The requested operation is already in progress and has been locked for the idempotency key until completion.Please try again later.
configuration_error500*Your account is incorrectly configured.Contact us to get the issue fixed.
unavailable_idempotency503*The idempotency system is unavailable at the moment.Retry the request without idempotency key or retry later.
internal_error503*Internal error in the processing system.Please try again later.

* When HTTP status code is not 200, the response object doesn't contain the status field.