Android SDK - Error Handling Guidelines

DOCS

Last updated: Aug 15th, 7:22am

This topic provides a comprehensive list of error codes exposed in the Paydiant Android SDK and their respective descriptions so that reference application developers can properly handle each error instance.

Internal Error Reference

Internal errors are returned to the app when the SDK itself detects an error and refuses the call before even directing it to the mobile gateway. Internal errors are represented by any code numbered 1000 or higher. Internal error codes are universal across all modules are not context sensitive.

Error CodeDefinition
1000Could not create a handler to communicate with the mobile gateway, possibly due to a network error or down server host.
1001An internal failure while processing the mobile gateway response.
1002Could not connect to the mobile gateway, possibly due to the mobile gateway server not running.
1003Illegal parameters passed to the invoked method.
1004Could not create a handler to communicate with the mobile gateway due to invalid settings.
1005Unexpected value returned from the mobile gateway.
1006Could not reach the server. Check your internet connection.
1007Connection to the server is lost.
1008Connection timed out; internet connection is too slow.
1009Server level authentication failed.
1010Request was canceled.
1011Unable to create the request.
1012An error occurred while building the request.
1013An error occurred while applying credentials to the server.
1014A network related file management error has occurred.
1015Too many redirections in the server path.
1016An unhandled exception occurred.
1029SSL handshake error; Invalid certificate presented.
1052The wallet does not contain any registered payment accounts.
1053The listener type is invalid.
1054The location service has not been initiated.
1055The bounded service has already been destroyed.
1056The SSL connection has been reset, resulting in lost connectivity.
1059No refundable receipts are available for the transaction.
1061The device ID could not be retrieved.
1062Long lived session authentication token was not found.

Server Error Reference Pre-SDK 5.4

Server errors occur during processing of the request withing the Paydiant platform. The mobile gateway then returns applicable error information to the SDK to be returned to the app in the callback method.

Server error codes are context sensitive within individual modules, so their meaning can vary depending on the module. For example, a 404 error in the payment module means a payment account cannot be found, while the same 404 error code in the transaction module means the transaction cannot be found.

The following sections provide definitions for server error codes within each module. Because server error codes are context sensitive, the same code may have different definitions across each module.

Authentication module

Error CodeDefinition
401An incorrect username or password has been entered.
412The device from which the login is attempted is not linked to a mobile wallet.
418Login failed because email verification is incomplete.
424The application signature of the mobile wallet is not valid.
426The application or SDK version is outdated and requires an update.
503This device has been suspended.
508The password or PIN has expired and must be updated.
511Application Instance verification required.

Customer module

Error CodeDefinition
400Cannot process the request due to a syntactical error.
403Access to the server is prohibited because the user is not logged-in.
404The customer cannot be located.
406The response is not expected and cannot be accepted.
500An unknown error occurred internally in the server.

Device info management module

The Device Info Management methods use a generic exception populated with a specific eventCode to identify the method during which the error occurred. Error code definitions for this module vary by event, so developers should handle these errors individually for each specific event.

Device Info Management Events
ADD_DEVICE_INFO_EVENT
UPDATE_DEVICE_INFO_EVENT
RETRIEVE_DEVICE_INFO_EVENT
DELETE_DEVICE_INFO_EVENT
Error CodeDefinition
400Cannot process the request due to a syntactical error.
403Access to the server is prohibited because the user is not logged-in.
500An unknown error occurred internally in the server.

GCM utility module

The GCM Utility methods use a generic exception populated with a specific eventCode to identify the method during which the error occurred. Error code definitions for this module vary by event, so developers should handle these errors individually for each specific event.

Device Info Management Events
GCM_REGISTRATION_EVENT
GCM_REGISTRATION_WITH_PAYDIANT_EVENT
GCM_CHECK_REGISTRATION_EVENT
GCM_UNREGISTER_EVENT
UNREGISTER_WITH_PAYDIANT_EVENT
Error CodeDefinition
400Cannot process the request due to a syntactical error.
403Access to the server is prohibited because the user is not logged-in.
500An unknown error occurred internally in the server.

Transaction module

Error CodeDefinition
400For Payment and cash access related calls this error code specifies Declined Transaction.
For transaction information retrievals this specifies an invalid checkout token.
402A fraudulent transaction is detected.
403Access to the server is prohibited because the user is not logged-in.
404The specified transaction cannot be located.
405The payment account doesn't have sufficient Funds.
406For payment and cash access calls, this error code specifies that the tender type used is not supported.
For transaction information retrievals, it specifies that the checkout token is blocked.
409The transaction is already in process.
410The amount specified is not valid.
414The offer specified is not redeemable.
416The transaction has been canceled by the POS terminal.
417The transaction has timed out.
419The checkout token is not valid.
420Tipping is not supported at the current location.
421An error occurred during the tipping calculation.
422An error has occurred on the POS terminal.
423The card specified has been deleted.
500An unknown error occurred internally in the server.
501A processing error has occurred.
502The transaction is currently being reviewed.
503One or arguments specified is invalid.
504The card number specified is invalid.
505The card specified has expired.
506The payment account specified is invalid for the transaction.
507The billing address specified is not valid.
508The transaction request is not supported for this merchant.
510The transaction requested is not valid.

Transaction flow management

The Transaction Flow Management methods use a generic exception populated with a specific eventCode to identify the method during which the error occurred. The error code definitions for these methods vary depending on the event, executing rule and method response parameters. Developers should take care to handle these errors relevant to each specific context.

Transaction Flow Management Events
RETRIEVE_TRANSACTION_METADATA_EVENT
UPDATE_TRANSACTION_EVENT
Error CodeDefinition
400UPDATE_TRANSACTION_EVENT (Payment/Cash Withdrawal) - The transaction is declined.
UPDATE_TRANSACTION_EVENT (Refund) - The refund failed due to invalid specifications.
402UPDATE_TRANSACTION_EVENT (Payment/Cash Withdrawal) - The transaction is suspected to be fraudulent.
405UPDATE_TRANSACTION_EVENT (Payment/Cash Withdrawal) - The specified payment account has insufficient funds.
UPDATE_TRANSACTION_EVENT (Refund) - The refund is on hold.
406UPDATE_TRANSACTION_EVENT (Payment/Cash Access) - The tender type is not supported for this transaction.
UPDATE_TRANSACTION_EVENT (Refund) - Refunds are not supported for this transaction.
RETRIEVE_TRANSACTION_METADATA_EVENT - The checkout token is blocked.
407UPDATE_TRANSACTION_EVENT (Refund) - A refund data mismatch has occurred.
408UPDATE_TRANSACTION_EVENT (Refund) - The refund amount exceeds the original sale amount.
409UPDATE_TRANSACTION_EVENT (Refund) - The tender type is not supported for this transaction.
RETRIEVE_TRANSACTION_METADATA_EVENT; UPDATE_TRANSACTION_EVENT (Payment/Cash Access) - The transaction is in use.
410UPDATE_TRANSACTION_EVENT (Payment/Cash Access) - The amount specified is not valid.
414UPDATE_TRANSACTION_EVENT (Payment) - The offer is not redeemable for this transaction.
415UPDATE_TRANSACTION_EVENT (Refund) - Duplicate transaction - the transaction has already been refunded.
416The transaction has been cancelled.
417The transaction has timed out due to inactivity.
419The scanned checkout token is not valid.
420UPDATE_TRANSACTION_EVENT (Payment) - Tipping is not supported for this transaction.
421UPDATE_TRANSACTION_EVENT (Payment) - An error has occurred with the tipping allocation.
422UPDATE_TRANSACTION_EVENT (Payment/Refund) - An error has occurred with the merchant.
423UPDATE_TRANSACTION_EVENT (Payment/Refund) - The payment account was deleted from the wallet.
500An unknown error occurred internally in the server
501UPDATE_TRANSACTION_EVENT (Payment/Refund) - A processing error has occurred.
502UPDATE_TRANSACTION_EVENT (Payment/Refund) - The transaction is under review.
503The input provided is not valid.
504UPDATE_TRANSACTION_EVENT (Payment/Refund/Cash Access) - The payment account number is not valid.
505UPDATE_TRANSACTION_EVENT (Payment/Cash Access) - The payment account is expired.
UPDATE_TRANSACTION_EVENT (Refund) - The payment account expiration date is not valid.
506UPDATE_TRANSACTION_EVENT (Payment/Refund) - The payment account provided is not valid.
UPDATE_TRANSACTION_EVENT (Cash Access) - The payment account provided is not valid.
507UPDATE_TRANSACTION_EVENT (Payment/Refund) - The payment account billing address is not valid.
508The transaction is not supported.
510UPDATE_TRANSACTION_EVENT (Payment/Refund/Cash Access) - The transaction is not valid.

Payment account management module

The Payment Account Management module uses a generic exception populated with a specific eventCode to identify the method during which the error occurred. Error code definitions vary depending on event, so developers should handle errors relevant to each specific context.

Payment Account Management Events
PAYMENT_ACCOUNT_CONFIGURATION_RETRIEVAL_EVENT
PAYMENT_ACCOUNT_BILLINGADDRESS_RETRIEVAL_EVENT
ADD_PAYMENT_ACCOUNT_EVENT
ADD_PAYMENT_ACCOUNT_METADATA_EVENT
DELETE_PAYMENT_ACCOUNT_EVENT
VERIFY_PAYMENT_ACCOUNT_EVENT
UPDATE_PAYMENT_ACCOUNT_EVENT
UPDATE_PAYMENT_ACCOUNT_METADATA_EVENT
PAYMENT_ACCOUNT_RETRIEVAL_BY_ACCOUNT_URI_EVENT
PAYMENT_ACCOUNTS_RETRIEVAL_EVENT
RETRIEVE_ALL_TENDER_TYPES_EVENT
RETRIEVE_SPECIFIC_TENDER_TYPE_EVENT
RETRIEVE_ALL_PAYMENT_ACCOUNTS_EVENT
RETRIEVE_PAYMENT_ACCOUNT_EVENT
REFRESH_PAYMENT_ACCOUNT_BALANCE_EVENT
RETRIEVE_PAYMENT_ACCOUNT_WITHOUT_BALANCE_REFRESH_EVENT
PROVISION_ACCOUNT_EVENT
START_PAYMENT_ACCOUNT_ENROLLMENT_EVENT
CONTINUE_PAYMENT_ACCOUNT_ENROLLMENT_EVENT
INCOMPLETE_PAYMENT_ACCOUNT_ENROLLMENT_RETRIEVAL_EVENT
CANCEL_PAYMENT_ACCOUNT_ENROLLMENT_EVENT
Error CodeDefinition
400Syntactical errors were detected in one or more fields.
RETRIEVE_SPECIFIC_TENDER_TYPE_EVENT - The specified tender type could not be found.
RETRIEVE_PAYMENT_ACCOUNT_EVENT - The specified payment account could not be found.
REFRESH_PAYMENT_ACCOUNT_BALANCE_EVENT - The balance inquiry failed.
402ADD_PAYMENT_ACCOUNT_EVENT/ADD_PAYMENT_ACCOUNT_METADATA_EVENT - The specified payment account card value is not valid.
403Access to the server is prohibited because the user is not logged-in.
404The specified account cannot be located.
405The balance is temporarily unavailable.
406ADD_PAYMENT_ACCOUNT_EVENT and UPDATE_PAYMENT_ACCOUNT_EVENT - The specified expiration date is not valid.
REFRESH_PAYMENT_ACCOUNT_BALANCE_EVENT - Balance retrieval is not supported.
407The operation is not possible.
410The specified payment account already exists in the wallet.
411PROVISION_ACCOUNT_EVENT - Card provisioning was declined by the processor.
414ADD_PAYMENT_ACCOUNT_EVEN and UPDATE_PAYMENT_ACCOUNT_EVENT - The specified account contains insufficient funds for validation.
REFRESH_PAYMENT_ACCOUNT_BALANCE_EVENT - The balance amount is not valid.
PROVISION_ACCOUNT_EVENT - The card provisioning limit has been exceeded.
417UPDATE_PAYMENT_ACCOUNT_METADATA_EVENT - One or more arguments included in the request are not valid.
RETRIEVE_SPECIFIC_TENDER_TYPES_EVENT - The specified tender type has not been configured.
419ADD_PAYMENT_ACCOUNT_METADATA_EVENT - The tender type specified for the payment account does not match the type for the card number provided.
420ADD_PAYMENT_ACCOUNT_METADATA_EVENT - The network provider specified for the payment account does not match the network for the card number provided.
421ADD_PAYMENT_ACCOUNT_METADATA_EVENT - The payment account could not be added due to a failure.
PROVISION_ACCOUNT_EVENT - The card provisioning operation failed.
426ADD_PAYMENT_ACCOUNT_METADATA_EVENT - The Issuer Identification Number (IIN) value provided for the payment account is not supported for the wallet.
PROVISION_ACCOUNT_EVENT - Card provisioning is not supported in this use case.
500An unknown error occurred internally in the server or the payment account update failed.
502PROVISION_ACCOUNT_EVENT - An error occurred while trying to reach the processor.
503The payment Account Uri provided is not valid.
508Network verification of the payment account failed.

Gift account management module

The Gift Account Manager uses a generic exception populated with a specific eventCode to identify the method during which the error occurred. Error code definitions vary depending on event, so developers should handle errors relevant to each specific context.

Gift Account Management Events
RETRIEVE_LOAD_CONFIGURATION_EVENT
LOAD_PAYMENT_INSTRUMENT_EVENT
Error CodeDefinition
400LOAD_PAYMENT_INSTRUMENT_EVENT - The request contains invalid arguments.
403Access to the server is prohibited because the user is not logged-in.
409LOAD_PAYMENT_INSTRUMENT_EVENT - The card provisioning load limit has been exceeded.
410LOAD_PAYMENT_INSTRUMENT_EVENT - The load amount specified is not valid.
414LOAD_PAYMENT_INSTRUMENT_EVENT - The request URI is too long - operation failed.
420LOAD_PAYMENT_INSTRUMENT_EVENT - The maximum balance for the card has been exceeded.
421LOAD_PAYMENT_INSTRUMENT_EVENT- The maximum load amount has been exceeded.
426LOAD_PAYMENT_INSTRUMENT_EVENT - The operation is not supported.
500RETRIEVE_LOAD_CONFIGURATION_EVENT- An unknown error occurred internally in the server.
LOAD_PAYMENT_INSTRUMENT_EVENT - The payment account load action failed.
501LOAD_PAYMENT_INSTRUMENT_EVENT - An error has occurred during processing.

Receipt management module

The Receipt Management module uses a generic exception populated with a specific eventCode to identify the call during which the error occurred. Error code definitions vary by event, so developers should handle errors relevant to each specific context.

Gift Account Management Events
RETRIEVE_RECEIPT_SUMMARY_EVENT
RETRIEVE_RECEIPT_DETAIL_EVENT
RETRIEVE_RECEIPT_GENERAL_EVENT
(errors related to deprecated calls)
Error CodeDefinition
400Cannot process the request due to a syntactical error.
403Access to the server is prohibited because the user is not logged-in.
404The specified receipt cannot be located.
500An unknown error occurred internally in the server.

Refund module

Error CodeDefinition
400Cannot process the request due to a syntactical error.
403Access to the server is prohibited because the user is not logged-in.
404The specified receipt cannot be located.
408The refund amount exceeds the sale amount.
411The refund transaction failed, possibly due to invalid parameters.
500An unknown error occurred internally in the server.

Offers module

The Offers module uses a generic exception populated with a specific eventCode to identify the processing event during which the error occurred. Error code context varies by event, so handle errors relevant to each specific context.

Offers Events
RETRIEVE_ALL_AVAILABLE_OFFERS_BY_CATEGORY_EVENT
RETRIEVE_AVAILABLE_OFFER_EVENT
RETRIEVE_OFFERS_EVENT
RETRIEVE_OFFER_EVENT
RETRIEVE_AVAILABLE_OFFERS_SUMMARY_EVENT
RETRIEVE_OFFERS_SUMMARY_EVENT
RETRIEVE_AVAILABLE_OFFER_WITH_ACCEPTANCE_PARTNERS_EVENT
RETRIEVE_OFFER_WITH_ACCEPTANCE_PARTNERS_EVENT
PICK_OFFER_EVENT
REMOVE_OFFER_EVENT
OFFER_CAMPAIGN_RETRIEVAL_USING_COUPON_CODE
Error CodeDefinition
404The specified offer could not be located.
410The specified offer is no longer available.
500An unknown error occurred internally in the server.

Loyalty management module

The Loyalty Management module uses a generic exception populated with a specific eventCode to identify the method during which the error occurred. Error code definitions vary depending on event, so developers should handle errors relevant to each specific context.

Loyalty Events
IS_REGISTERED_FOR_LOYALTY_EVENT
RETRIEVE_LOYALTY_GLOBAL_PROFILE_METADATA_EVENT
REGISTER_CUSTOMER_FOR_LOYALTY_EVENT
RETRIEVE_MY_LOYALTY_PROGRAMS_EVENT
RETRIEVE_AVAILABLE_LOYALTY_PROGRAMS_EVENT
RETRIEVE_LOYALTY_PROGRAM_EVENT
REFRESH_LOYALTY_POINTS_BALANCE_EVENT
RETRIEVE_LOYALTY_POINTS_FOR_TRANSACTION_EVENT
RECORD_EXTERNAL_ACTIVITY_EVENT
Error CodeDefinition
404The specified loyalty program could not be located.
417Required profile data is missing.
421An existing registration for the user has been detected.
500An unknown error occurred internally in the server.

User registration module

The User Registration module populates the generic exception with a specific eventCode to identify the origin of the error. Error definitions vary by event, so handle errors relevant to each specific context.

User Registration Events
RESEND_VERIFICATION_EMAIL_EVENT
RESEND_APP_INSTANCE_VERIFICATION_EMAIL_EVENT
RETRIEVE_MFA_QUESTIONS_EVENT
UPDATE_MFA_ANSWERS_EVENT
REGISTER_USER_EVENT
REGISTER_IDP_USER_EVENT
RETRIEVE_CUSTOMER_PROFILE_METADATA_EVENT
UPDATE_USER_EVENT
FORGOT_PASSCODE_EVENT
FORGOT_PASSWORD_EVENT
FORGOT_USERNAME_EVENT
RETRIEVE_PASSWORD_POLICY_CONFIGURATION_EVENT
RETRIEVE_PASSCODE_CONFIGURATION_EVENT
Error CodeDefinition
200VALIDATE_EMAIL_EVENT
The email address provided is already in use by a registered wallet. New registration cannot continue.
400One or more required attributes is missing from the request.
REGISTER_USER_EVENT; REGISTER_IDP_USER_EVENT
When password or passcode error handling is enabled at the SDK level, validation in the app is not supported.
406UPDATE_USER_EVENT; REGISTER_USER_EVENT; REGISTER_IDP_USER_EVENT
The password provided has been used previously for this registration. Password updates must be unique in the user’s history.
416The specified email address is already in use by an existing mobile wallet and is not available for a new registration.
418REGISTER_USER_EVENT; REGISTER_IDP_USER_EVENT
Mobile Gateway email verification is enabled, but device email verification is disabled.
419REGISTER_USER_EVENT; REGISTER_IDP_USER_EVENT
Password field-level validation failed.
420UPDATE_USER_EVENT
The password provided does not meet the minimum requirements.
REGISTER_USER_EVENT; REGISTER_IDP_USER_EVENT
Passcode field-level validation failed.
500An unknown error occurred internally in the server.

Secure cloud integration utility

Paydiant’s Secure Cloud integration utility uses a generic exception populated with a specific eventCode to identify the method during which the error occurred. Error code definitions vary depending on event, so developers should handle errors relevant to each specific context.

Secure Cloud Integration Events
RETRIEVE_ISSUER_LIST_EVENT
RETRIEVE_ISSUER_APPLICATION_URL_EVENT
Error CodeDefinition
404RETRIEVE_ISSUER_APPLICATION_URL_EVENT
The specified payment account issuer could not be located.
500An unknown error occurred internally in the server.

Bluetooth Light Energy (BLE) management module

Paydiant’s BLE Management module uses a generic exception populated with a specific eventCode to identify the method during which the error occurred. Error code definitions vary depending on event, so developers should handle errors relevant to each specific context.

Bluetooth Light Energy Events
RETRIEVE_BEACONS_EVENT
CHECK_IN_EVENT
Error CodeDefinition
400The request contains one or more invalid parameters.
500An unknown error occurred internally in the server.

Online ordering integration utility

Paydiant’s Online Ordering integration utility uses a generic exception populated with a specific eventCode to identify the method during which the error occurred. Error code definitions vary depending on event, so developers should handle errors relevant to each specific context.

Online Ordering Integration Events
RETRIEVE_ORDER_HISTORY_EVENT
Error CodeDefinition
500An unknown error occurred internally in the server.

Server maintenance mode

When the server is in maintenance mode, all server calls will throw PaydiantServerMaintenanceModeException. This exception object will be populated with the status code 203, along with a status message describing the reasons for which the sever is in maintenance mode.

Payment status code reference

The following codes represent the payment status codes defined by Paydiant for use within its platform. These values may be returned to the app within the paymentStatusCode attribute of each transactionFlow.transactionDetail.paymentResult instance. Most often, the failure codes in this list will not be returned to the app, since the SDK’s server response codes are returned for general success and failure responses.

CodeStatus MessageDescription
200Approved PaymentPayment for the transaction has been approved.
201Declined PaymentPayment for the transaction has been declined.
203Insufficient FundsThe account from which the payment is being drawn does not have enough money to cover the amount due.
210Auth_ApprovedThe authorization has been approved.
211Auth_FailedThe authorization has not succeeded.
212Partial_Pre_Auth_SuccessThe amount for pre-authorization was approved for an amount that was less than the approved pre-authorization amount.

Payment status

CodeStatus MessageDescription
240Duplicate TransactionThe transaction has already been submitted.
241Processing ErrorApproval of the payment authorization has failed.
242Gateway Processing ErrorAn error has occurred in an external system while processing the payment.
243Transaction Not AllowedThis transaction cannot be processed at the customer’s financial institution.

Payment input failures

CodeStatus MessageDescription
250Invalid InputsThe transaction contains one or more invalid parameter entries.
251Invalid AmountThe amount entered is not a valid format (e.g., multiple decimal points may have been entered).
252Invalid Card NumberThe credit card number entered is not valid (e.g., too many or too few digits).
253Invalid Expiry DateThe credit card expiration date is not a valid date.
254Expired CardThe credit card expiration date has already passed.
255Invalid ABAThe ABA code is not valid for the card.
256Invalid Account NumberThe account number is invalid.
257AVS MismatchThe transaction resulted in an AVS mismatch. The address provided does not match billing address of card holder.
258Invalid Card CodeThe card code (CVV2/CVC2/CID) is invalid.
CodeStatus MessageDescription
500Invalid TransactionThe transaction request is not valid; contact Issuer.
501Suspected FraudA fraudulent transaction is suspected; contact Issuer.
CodeStatus MessageDescription
550Merchant ErrorThe data transmitting from the POS terminal has resulted in an error.

Server Error Reference SDK 5.4 and Later

For all methods exposed in Android SDK 5.4 or later, the SDK does not re-purpose the HTTP codes sent by the mobile gateway based on the context. Rather, the PaydiantError class passes the unchanged HTTP code, along with a context-specific description and an instance of the new ErrorInformation class, which contains the Paydiant-generated errorCode and errorDescription to represent the event status, plus an external error code passed by a third-party entity through the connector framework.

The following XML sample depicts the general structure of the server error object.

< PaydiantException > < statusCode > 400 < \statusCode > < statusMessage > BAD_REQUEST< \statusMessage > < description > "Account already exists."< \description > rawErrorDescription > < \rawErrorDescription > < errorInformation > < ErrorInformation > < errorCode > 798 < \errorCode > < errorDescription > DUPLICATES_NOT_ALLOWED < \errorDescription > < externalErrorDescription > Array of ExternalErrorInformation < \externalErrorInformation > < \ErrorInformation > < \errorInformation > < \PaydiantException >

ErrorInformation values

The ErrorInformation instance is populated with errorCode and errorDescription values defined in the Mobile Gateway. The following tables define each possible value within the code ranges that have been designated for specific operation types.

Settlement statuses (200 - 209)

errorCodeerrorDescription
200APPROVED
201DECLINED
202SETTLEMENT_FAILED
203INSUFFICIENT_FUNDS
204PARTIAL_PAYMENT_SUCCESS

Authorization statuses (210 - 219)

errorCodeerrorDescription
210AUTH_APPROVED
211AUTH_FAILED
212PARTIAL_PRE_AUTH_SUCCESS

Scheduled processing statuses (220 - 229)

errorCodeerrorDescription
220AUTH_APPROVED_AND_SCHEDULED

Refund statuses (230 - 239)

errorCodeerrorDescription
230REFUND_APPROVED
231REFUND_ON_HOLD
232REFUND_FAILED
235REFUND_NOT_POSSIBLE
236REFUND_TRANSACTION_DATA_MISMATCH
237REFUND_TRANSACTION_AMOUNT_EXCEED

General payment processing ptatuses (240 - 249)

errorCodeerrorDescription
240DUPLICATE_TRANSACTION
241PROCESSING_ERROR
242GATEWAY_PROCESSING_ERROR
243TRANSACTION_NOT_ALLOWED
244TRANSACTION_UNDER_REVIEW
245TRANSACTION_NOT_SUPPORTED

Payment processing input statuses (250 - 299)

errorCodeerrorDescription
250INVALID_INPUTS
251INVALID_AMOUNT
252INVALID_CARD_NUMBER
253INVALID_EXPIRY_DATE
254EXPIRED_CARD
255INVALID_ABA
257AVS_MISMATCH
258INVALID_CARD_CODE

Non-transaction processing statuses (340 - 349)

errorCodeerrorDescription
340SUCCESS
341CRUD_NOT_POSSIBLE
349ENTITY_IS_DELETED

Non-transaction processing input statuses (350 - 369)

errorCodeerrorDescription
350ENTITY_NOT_EXISTING
351DUPLICATES_NOT_ALLOWED
352EMPTY_PARTNER_URI
353EMPTY_TENANT_URI
354EMPTY_MERCHANT_URI
355EMPTY_USER_PROFILE_URI
356EMPTY_CURRENCY_URI
357EMPTY_FINANCIAL_INSTITUTE_URI
358EMPTY_WALLET_ACCOUNT_URI
359EMPTY_PAYMENT_PROCESSOR_URI
360INVALID_PARTNER_URI
361INVALID_TENANT_URI
362INVALID_MERCHANT_URI
363INVALID_USER_PROFILE_URI
364INVALID_CURRENCY_URI
365INVALID_FINANCIAL_INSTITUTE_URI
366INVALID_WALLET_ACCOUNT_URI
367INVALID_PAYMENT_PROCESSOR_URI
368INVALID_PAYMENT_IMAGE_CATEGORY_URI
369INVALID_PAYMENT_IMAGE_URI

Balance inquiry statuses (370 - 379)

errorCodeerrorDescription
370BALANCE_INQUIRY_SUCCESS
371BALANCE_INQUIRY_FAILED
372BALANCE_TEMP_UNAVAILABLE
373BALALNCE_NOT_SUPPORTED
374INVALID_BALANCE_AMOUNT
375INVALID_BALANCE_REQUEST

Verification statuses (380 - 389)

errorCodeerrorDescription
380VERIFICATION_SUCCESS
381VERIFICATION_FAILED
382VERIFICATION_AMOUNT_MISMATCH
383VERIFICATION_PERIOD_EXPIRED
384VERIFICATION_NOT_SUPPORTED
385VERIFICATION_TEMP_NOT_AVAILABLE
386INVALID_VERIFICATION_REQUEST
387VERIFICATION_INITIATED
388UNSUPPORTED_IIN
389UNSUPPORTED_TENDER_TYPE

Loyalty account statuses (400 - 409)

errorCodeerrorDescription
400ALLOWED_LOYALTY_CARD_LIMIT_EXCEEDED
errorCodeerrorDescription
500INVALID_TRANSACTION
501SUSPECTED_FRAUD
errorCodeerrorDescription
550MERCHANT_ERROR

Full reversal statuses (600 - 619)

errorCodeerrorDescription
600FULL_REVERSAL_SUCCESS
601FULL_REVERSAL_DENIED
602FULL_REVERSAL_EXT_SYSTEM_FAILED
603FULL_REVERSAL_SYSTEM_FAILED
604FULL_REVERSAL_NOT_POSSIBLE
605TRANSACTION_NOT_FOUND_FOR_REVERSAL

Void statuses (620 - 639)

errorCodeerrorDescription
620VOID_SUCCESS
621VOID_DENIED
622VOID_EXT_SYSTEM_FAILED
623VOID_SYSTEM_FAILED
624VOID_NOT_POSSIBLE

Loyalty transaction statuses (700 - 749)

errorCodeerrorDescription
700ADD_LOYALTY_POINTS_SUCCESS
701ADD_LOYALTY_POINTS_FAILED
702ADD_LOYALTY_POINTS_NOT_SUPPORTED
703INVALID_POINTS_AMOUNT
704SUBTRACT_LOYALTY_POINTS_FOR_REFUND_SUCCESS
705SUBTRACT_LOYALTY_POINTS_FOR_REFUND_FAILED
706SUBTRACT_LOYALTY_POINTS_FOR_REFUND_NOT_SUPPORTED
707SUBTRACT_LOYALTY_POINTS_SUCCESS
708SUBTRACT_LOYALTY_POINTS_FAILED
709SUBTRACT_LOYALTY_POINTS_NOT_SUPPORTED
710ADD_LOYALTY_POINTS_FOR_SALE_SUCCESS
711ADD_LOYALTY_POINTS_FOR_SALE_FAILED
712ADD_LOYALTY_POINTS_FOR_SALE_NOT_SUPPORTED
713LOYALTY_POINTS_VOID_SUCCESS
714LOYALTY_POINTS_VOID_FAILED
715LOYALTY_POINTS_VOID_NOT_POSSIBLE
716LOYALTY_POINTS_FULL_REVERSAL_SUCCESS
717LOYALTY_POINTS_FULL_REVERSAL_FAILED
718LOYALTY_POINTS_FULL_REVERSAL_NOT_POSSIBLE

Load account statuses (750 - 759)

errorCodeerrorDescription
750ADD_VALUE_SUCCESS
751ADD_VALUE_FAILED
752ADD_VALUE_NOT_SUPPORTED
753MAX_VALUE_EXCEEDED
754MAX_BALANCE_EXCEEDED

Provisioning statuses (760 - 769)

errorCodeerrorDescription
760CARD_PROVISIONING_SUCCESS
761CARD_PROVISIONING_FAILED
762CARD_PROVISIONING_NOT_SUPPORTED
763CARD_PROVISIONING_LIMIT_EXCEEDED
764CARD_PROVISIONING_DECLINED

Identity provider ptatuses (780 - 789)

errorCodeerrorDescription
780IDP_AUTHENTICATION_SUCCESS
781IDP_AUTHENTICATION_FAILURE
782IDP_PROCESSING_ERROR
783IDP_EXTERNAL_PROCESSING_ERROR

Variable-step payment account enrollment statuses (790 - 809)

errorCodeerrorDescription
790PAYMENT_ACCOUNT_ENROLLMENT_SUCCESSFUL
791PAYMENT_ACCOUNT_ENROLLMENT_FAILED
792PAYMENT_ACCOUNT_ENROLLMENT_CANCELLED
793PAYMENT_ACCOUNT_ENROLLMENT_EXPIRED
794PAYMENT_ACCOUNT_ENROLLMENT_CARD_PROVISIONING_LIMIT_EXCEEDED
795PAYMENT_ACCOUNT_ENROLLMENT_CARD_PROVISIONING_DECLINED
796PAYMENT_ACCOUNT_ENROLLMENT_NOT_SUPPORTED
797PAYMENT_ACCOUNT_ENROLLMENT_CRUD_NOT_POSSIBLE
798PAYMENT_ACCOUNT_ENROLLMENT_DUPLICATED_NOT_ALLOWED
799PAYMENT_ACCOUNT_ENROLLMENT_VERIFICATION_AMOUNT_MISMATCH
800PAYMENT_ACCOUNT_ENROLLMENT_VERIFICATION_NOT_SUPPORTED
801PAYMENT_ACCOUNT_ENROLLMENT_VERIFICATION_TEMP_NOT_AVAILABLE
802PAYMENT_ACCOUNT_ENROLLMENT_INVALID_VERIFICATION_REQUEST
803PAYMENT_ACCOUNT_ENROLLMENT_VERIFICATION_INITIATED
804PAYMENT_ACCOUNT_ENROLLMENT_CANCELLATION_NOT_POSSIBLE
805PAYMENT_ACCOUNT_ENROLLMENT_ALREADY_CANCELLED