When integrating the Ryft SDK, it's important to handle potential errors that may arise during the payment process. Proper error handling ensures a smooth user experience and helps in diagnosing issues effectively.
The following table lists common error codes that you may encounter when processing payments using the Ryft SDK, along with their descriptions:
| lastError | Description |
|---|---|
| insufficient_funds | The cardholder has insufficient funds to complete the transaction |
| declined_do_not_honour | The cardholder's bank declined the payment |
| invalid_card_number | The card number provided was invalid |
| cvv2_failure | The CVV2 code provided was incorrect |
| cvc_required | The CVV2 code is required but was not provided |
| restricted_card | An account restriction has been placed on the cardholder's account by the card issuer |
| blacklisted_card | The card has been blacklisted due to previous fraudulent activity |
| blacklisted_bin | The card's BIN (Bank Identification Number) has been blacklisted |
| blacklisted_country | The card's country has been blacklisted |
| blacklisted_ip | The IP of the cardholder has been blacklisted |
| risk_declined | The payment was declined due to one or more risk/fraud-related rules being triggered |
| security_violation | The payment was declined due to a security violation |
| expired_card | The card has expired |
| gateway_reject | The card's postcode or country is not supported by the merchant |
| suspected_fraud | The payment was declined due to suspected fraud |
| contact_issuer | The cardholder's bank has requested that you contact them for more information |
| not_permitted | The payment was declined because it is not permitted for this cardholder or merchant |
| invalid_account | The cardholder's bank declined the payment due to an issue with your account or card number |
| closed_account | The cardholder's account has been closed |
| account_not_activated | The cardholder's account is not yet activated |
| pickup_card | The cardholder's bank declined the payment and requested that you pick up the card |
| stolen_card | The card has been reported as stolen |
| limit_exceeded | The cardholder would exceed the maximum amount allowed by the bank for a single transaction |
| withdrawal_limit_exceeded | The cardholder would exceed the maximum amount allowed by the bank for withdrawals |
| issuer_decline | The cardholder's bank declined the payment for an unspecified reason |
| system_error | The issuing bank's system is currently unavailable or experiencing issues |
| issuer_error | The issuing bank's experienced an error while processing the payment |
| blocked_by_cardholder | The cardholder has blocked the transaction |
| 3ds_authentication_failure | The cardholder failed 3DS authentication |
| 3ds_cardholder_not_participating | The cardholder uses a card that does not participate in 3DS authentication, but the transaction requires it |
| payment_method_not_available | The selected payment method is not available for this transaction |
| payment_method_option_amex_not_available | American Express payments are not enabled for this merchant |
| credit_card_not_permitted | Credit Card payments are not enabled for this merchant |
| unknown_error | An unknown error occurred, please contact us |
Please note we may add new error codes in the future as non-breaking changes, so please ensure your integration can handle unexpected error codes gracefully.