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 Code | Definition |
|---|
1000 | Could not create a handler to communicate with the mobile gateway, possibly due to a network error or down server host. |
1001 | An internal failure while processing the mobile gateway response. |
1002 | Could not connect to the mobile gateway, possibly due to the mobile gateway server not running. |
1003 | Illegal parameters passed to the invoked method. |
1004 | Could not create a handler to communicate with the mobile gateway due to invalid settings. |
1005 | Unexpected value returned from the mobile gateway. |
1006 | Could not reach the server. Check your internet connection. |
1007 | Connection to the server is lost. |
1008 | Connection timed out; internet connection is too slow. |
1009 | Server level authentication failed. |
1010 | Request was canceled. |
1011 | Unable to create the request. |
1012 | An error occurred while building the request. |
1013 | An error occurred while applying credentials to the server. |
1014 | A network related file management error has occurred. |
1015 | Too many redirections in the server path. |
1016 | An unhandled exception occurred. |
1029 | SSL handshake error; Invalid certificate presented. |
1052 | The wallet does not contain any registered payment accounts. |
1053 | The listener type is invalid. |
1054 | The location service has not been initiated. |
1055 | The bounded service has already been destroyed. |
1056 | The SSL connection has been reset, resulting in lost connectivity. |
1059 | No refundable receipts are available for the transaction. |
1061 | The device ID could not be retrieved. |
1062 | Long 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 Code | Definition |
|---|
401 | An incorrect username or password has been entered. |
412 | The device from which the login is attempted is not linked to a mobile wallet. |
418 | Login failed because email verification is incomplete. |
424 | The application signature of the mobile wallet is not valid. |
426 | The application or SDK version is outdated and requires an update. |
503 | This device has been suspended. |
508 | The password or PIN has expired and must be updated. |
511 | Application Instance verification required. |
Customer module
| Error Code | Definition |
|---|
400 | Cannot process the request due to a syntactical error. |
403 | Access to the server is prohibited because the user is not logged-in. |
404 | The customer cannot be located. |
406 | The response is not expected and cannot be accepted. |
500 | An 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 Code | Definition |
|---|
400 | Cannot process the request due to a syntactical error. |
403 | Access to the server is prohibited because the user is not logged-in. |
500 | An 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 Code | Definition |
|---|
400 | Cannot process the request due to a syntactical error. |
403 | Access to the server is prohibited because the user is not logged-in. |
500 | An unknown error occurred internally in the server. |
Transaction module
| Error Code | Definition |
|---|
400 | For Payment and cash access related calls this error code specifies Declined Transaction. For transaction information retrievals this specifies an invalid checkout token. |
402 | A fraudulent transaction is detected. |
403 | Access to the server is prohibited because the user is not logged-in. |
404 | The specified transaction cannot be located. |
405 | The payment account doesn't have sufficient Funds. |
406 | For 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. |
409 | The transaction is already in process. |
410 | The amount specified is not valid. |
414 | The offer specified is not redeemable. |
416 | The transaction has been canceled by the POS terminal. |
417 | The transaction has timed out. |
419 | The checkout token is not valid. |
420 | Tipping is not supported at the current location. |
421 | An error occurred during the tipping calculation. |
422 | An error has occurred on the POS terminal. |
423 | The card specified has been deleted. |
500 | An unknown error occurred internally in the server. |
501 | A processing error has occurred. |
502 | The transaction is currently being reviewed. |
503 | One or arguments specified is invalid. |
504 | The card number specified is invalid. |
505 | The card specified has expired. |
506 | The payment account specified is invalid for the transaction. |
507 | The billing address specified is not valid. |
508 | The transaction request is not supported for this merchant. |
510 | The 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 Code | Definition |
|---|
400 | UPDATE_TRANSACTION_EVENT (Payment/Cash Withdrawal) - The transaction is declined.
UPDATE_TRANSACTION_EVENT (Refund) - The refund failed due to invalid specifications. |
402 | UPDATE_TRANSACTION_EVENT (Payment/Cash Withdrawal) - The transaction is suspected to be fraudulent. |
405 | UPDATE_TRANSACTION_EVENT (Payment/Cash Withdrawal) - The specified payment account has insufficient funds.
UPDATE_TRANSACTION_EVENT (Refund) - The refund is on hold. |
406 | UPDATE_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. |
407 | UPDATE_TRANSACTION_EVENT (Refund) - A refund data mismatch has occurred. |
408 | UPDATE_TRANSACTION_EVENT (Refund) - The refund amount exceeds the original sale amount. |
409 | UPDATE_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. |
410 | UPDATE_TRANSACTION_EVENT (Payment/Cash Access) - The amount specified is not valid. |
414 | UPDATE_TRANSACTION_EVENT (Payment) - The offer is not redeemable for this transaction. |
415 | UPDATE_TRANSACTION_EVENT (Refund) - Duplicate transaction - the transaction has already been refunded. |
416 | The transaction has been cancelled. |
417 | The transaction has timed out due to inactivity. |
419 | The scanned checkout token is not valid. |
420 | UPDATE_TRANSACTION_EVENT (Payment) - Tipping is not supported for this transaction. |
421 | UPDATE_TRANSACTION_EVENT (Payment) - An error has occurred with the tipping allocation. |
422 | UPDATE_TRANSACTION_EVENT (Payment/Refund) - An error has occurred with the merchant. |
423 | UPDATE_TRANSACTION_EVENT (Payment/Refund) - The payment account was deleted from the wallet. |
500 | An unknown error occurred internally in the server |
501 | UPDATE_TRANSACTION_EVENT (Payment/Refund) - A processing error has occurred. |
502 | UPDATE_TRANSACTION_EVENT (Payment/Refund) - The transaction is under review. |
503 | The input provided is not valid. |
504 | UPDATE_TRANSACTION_EVENT (Payment/Refund/Cash Access) - The payment account number is not valid. |
505 | UPDATE_TRANSACTION_EVENT (Payment/Cash Access) - The payment account is expired.
UPDATE_TRANSACTION_EVENT (Refund) - The payment account expiration date is not valid. |
506 | UPDATE_TRANSACTION_EVENT (Payment/Refund) - The payment account provided is not valid.
UPDATE_TRANSACTION_EVENT (Cash Access) - The payment account provided is not valid. |
507 | UPDATE_TRANSACTION_EVENT (Payment/Refund) - The payment account billing address is not valid. |
508 | The transaction is not supported. |
510 | UPDATE_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 Code | Definition |
|---|
400 | Syntactical 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. |
402 | ADD_PAYMENT_ACCOUNT_EVENT/ADD_PAYMENT_ACCOUNT_METADATA_EVENT - The specified payment account card value is not valid. |
403 | Access to the server is prohibited because the user is not logged-in. |
404 | The specified account cannot be located. |
405 | The balance is temporarily unavailable. |
406 | ADD_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. |
407 | The operation is not possible. |
410 | The specified payment account already exists in the wallet. |
411 | PROVISION_ACCOUNT_EVENT - Card provisioning was declined by the processor. |
414 | ADD_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. |
417 | UPDATE_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. |
419 | ADD_PAYMENT_ACCOUNT_METADATA_EVENT - The tender type specified for the payment account does not match the type for the card number provided. |
420 | ADD_PAYMENT_ACCOUNT_METADATA_EVENT - The network provider specified for the payment account does not match the network for the card number provided. |
421 | ADD_PAYMENT_ACCOUNT_METADATA_EVENT - The payment account could not be added due to a failure.
PROVISION_ACCOUNT_EVENT - The card provisioning operation failed. |
426 | ADD_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. |
500 | An unknown error occurred internally in the server or the payment account update failed. |
502 | PROVISION_ACCOUNT_EVENT - An error occurred while trying to reach the processor. |
503 | The payment Account Uri provided is not valid. |
508 | Network 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 Code | Definition |
|---|
400 | LOAD_PAYMENT_INSTRUMENT_EVENT - The request contains invalid arguments. |
403 | Access to the server is prohibited because the user is not logged-in. |
409 | LOAD_PAYMENT_INSTRUMENT_EVENT - The card provisioning load limit has been exceeded. |
410 | LOAD_PAYMENT_INSTRUMENT_EVENT - The load amount specified is not valid. |
414 | LOAD_PAYMENT_INSTRUMENT_EVENT - The request URI is too long - operation failed. |
420 | LOAD_PAYMENT_INSTRUMENT_EVENT - The maximum balance for the card has been exceeded. |
421 | LOAD_PAYMENT_INSTRUMENT_EVENT- The maximum load amount has been exceeded. |
426 | LOAD_PAYMENT_INSTRUMENT_EVENT - The operation is not supported. |
500 | RETRIEVE_LOAD_CONFIGURATION_EVENT- An unknown error occurred internally in the server.
LOAD_PAYMENT_INSTRUMENT_EVENT - The payment account load action failed. |
501 | LOAD_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 Code | Definition |
|---|
400 | Cannot process the request due to a syntactical error. |
403 | Access to the server is prohibited because the user is not logged-in. |
404 | The specified receipt cannot be located. |
500 | An unknown error occurred internally in the server. |
Refund module
| Error Code | Definition |
|---|
400 | Cannot process the request due to a syntactical error. |
403 | Access to the server is prohibited because the user is not logged-in. |
404 | The specified receipt cannot be located. |
408 | The refund amount exceeds the sale amount. |
411 | The refund transaction failed, possibly due to invalid parameters. |
500 | An 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 Code | Definition |
|---|
404 | The specified offer could not be located. |
410 | The specified offer is no longer available. |
500 | An 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 Code | Definition |
|---|
404 | The specified loyalty program could not be located. |
417 | Required profile data is missing. |
421 | An existing registration for the user has been detected. |
500 | An 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 Code | Definition |
|---|
200 | VALIDATE_EMAIL_EVENT The email address provided is already in use by a registered wallet. New registration cannot continue. |
400 | One 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. |
406 | UPDATE_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. |
416 | The specified email address is already in use by an existing mobile wallet and is not available for a new registration. |
418 | REGISTER_USER_EVENT; REGISTER_IDP_USER_EVENT Mobile Gateway email verification is enabled, but device email verification is disabled. |
419 | REGISTER_USER_EVENT; REGISTER_IDP_USER_EVENT Password field-level validation failed. |
420 | UPDATE_USER_EVENT The password provided does not meet the minimum requirements.
REGISTER_USER_EVENT; REGISTER_IDP_USER_EVENT Passcode field-level validation failed. |
500 | An 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 Code | Definition |
|---|
404 | RETRIEVE_ISSUER_APPLICATION_URL_EVENT The specified payment account issuer could not be located. |
500 | An 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 Code | Definition |
|---|
400 | The request contains one or more invalid parameters. |
500 | An 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 Code | Definition |
|---|
500 | An 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.
| Code | Status Message | Description |
|---|
200 | Approved Payment | Payment for the transaction has been approved. |
201 | Declined Payment | Payment for the transaction has been declined. |
203 | Insufficient Funds | The account from which the payment is being drawn does not have enough money to cover the amount due. |
210 | Auth_Approved | The authorization has been approved. |
211 | Auth_Failed | The authorization has not succeeded. |
212 | Partial_Pre_Auth_Success | The amount for pre-authorization was approved for an amount that was less than the approved pre-authorization amount. |
Payment status
| Code | Status Message | Description |
|---|
240 | Duplicate Transaction | The transaction has already been submitted. |
241 | Processing Error | Approval of the payment authorization has failed. |
242 | Gateway Processing Error | An error has occurred in an external system while processing the payment. |
243 | Transaction Not Allowed | This transaction cannot be processed at the customer’s financial institution. |
| Code | Status Message | Description |
|---|
250 | Invalid Inputs | The transaction contains one or more invalid parameter entries. |
251 | Invalid Amount | The amount entered is not a valid format (e.g., multiple decimal points may have been entered). |
252 | Invalid Card Number | The credit card number entered is not valid (e.g., too many or too few digits). |
253 | Invalid Expiry Date | The credit card expiration date is not a valid date. |
254 | Expired Card | The credit card expiration date has already passed. |
255 | Invalid ABA | The ABA code is not valid for the card. |
256 | Invalid Account Number | The account number is invalid. |
257 | AVS Mismatch | The transaction resulted in an AVS mismatch. The address provided does not match billing address of card holder. |
258 | Invalid Card Code | The card code (CVV2/CVC2/CID) is invalid. |
| Code | Status Message | Description |
|---|
500 | Invalid Transaction | The transaction request is not valid; contact Issuer. |
501 | Suspected Fraud | A fraudulent transaction is suspected; contact Issuer. |
| Code | Status Message | Description |
|---|
550 | Merchant Error | The 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 >
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)
| errorCode | errorDescription |
|---|
200 | APPROVED |
201 | DECLINED |
202 | SETTLEMENT_FAILED |
203 | INSUFFICIENT_FUNDS |
204 | PARTIAL_PAYMENT_SUCCESS |
Authorization statuses (210 - 219)
| errorCode | errorDescription |
|---|
210 | AUTH_APPROVED |
211 | AUTH_FAILED |
212 | PARTIAL_PRE_AUTH_SUCCESS |
Scheduled processing statuses (220 - 229)
| errorCode | errorDescription |
|---|
220 | AUTH_APPROVED_AND_SCHEDULED |
Refund statuses (230 - 239)
| errorCode | errorDescription |
|---|
230 | REFUND_APPROVED |
231 | REFUND_ON_HOLD |
232 | REFUND_FAILED |
235 | REFUND_NOT_POSSIBLE |
236 | REFUND_TRANSACTION_DATA_MISMATCH |
237 | REFUND_TRANSACTION_AMOUNT_EXCEED |
General payment processing ptatuses (240 - 249)
| errorCode | errorDescription |
|---|
240 | DUPLICATE_TRANSACTION |
241 | PROCESSING_ERROR |
242 | GATEWAY_PROCESSING_ERROR |
243 | TRANSACTION_NOT_ALLOWED |
244 | TRANSACTION_UNDER_REVIEW |
245 | TRANSACTION_NOT_SUPPORTED |
| errorCode | errorDescription |
|---|
250 | INVALID_INPUTS |
251 | INVALID_AMOUNT |
252 | INVALID_CARD_NUMBER |
253 | INVALID_EXPIRY_DATE |
254 | EXPIRED_CARD |
255 | INVALID_ABA |
257 | AVS_MISMATCH |
258 | INVALID_CARD_CODE |
Non-transaction processing statuses (340 - 349)
| errorCode | errorDescription |
|---|
340 | SUCCESS |
341 | CRUD_NOT_POSSIBLE |
349 | ENTITY_IS_DELETED |
| errorCode | errorDescription |
|---|
350 | ENTITY_NOT_EXISTING |
351 | DUPLICATES_NOT_ALLOWED |
352 | EMPTY_PARTNER_URI |
353 | EMPTY_TENANT_URI |
354 | EMPTY_MERCHANT_URI |
355 | EMPTY_USER_PROFILE_URI |
356 | EMPTY_CURRENCY_URI |
357 | EMPTY_FINANCIAL_INSTITUTE_URI |
358 | EMPTY_WALLET_ACCOUNT_URI |
359 | EMPTY_PAYMENT_PROCESSOR_URI |
360 | INVALID_PARTNER_URI |
361 | INVALID_TENANT_URI |
362 | INVALID_MERCHANT_URI |
363 | INVALID_USER_PROFILE_URI |
364 | INVALID_CURRENCY_URI |
365 | INVALID_FINANCIAL_INSTITUTE_URI |
366 | INVALID_WALLET_ACCOUNT_URI |
367 | INVALID_PAYMENT_PROCESSOR_URI |
368 | INVALID_PAYMENT_IMAGE_CATEGORY_URI |
369 | INVALID_PAYMENT_IMAGE_URI |
Balance inquiry statuses (370 - 379)
| errorCode | errorDescription |
|---|
370 | BALANCE_INQUIRY_SUCCESS |
371 | BALANCE_INQUIRY_FAILED |
372 | BALANCE_TEMP_UNAVAILABLE |
373 | BALALNCE_NOT_SUPPORTED |
374 | INVALID_BALANCE_AMOUNT |
375 | INVALID_BALANCE_REQUEST |
Verification statuses (380 - 389)
| errorCode | errorDescription |
|---|
380 | VERIFICATION_SUCCESS |
381 | VERIFICATION_FAILED |
382 | VERIFICATION_AMOUNT_MISMATCH |
383 | VERIFICATION_PERIOD_EXPIRED |
384 | VERIFICATION_NOT_SUPPORTED |
385 | VERIFICATION_TEMP_NOT_AVAILABLE |
386 | INVALID_VERIFICATION_REQUEST |
387 | VERIFICATION_INITIATED |
388 | UNSUPPORTED_IIN |
389 | UNSUPPORTED_TENDER_TYPE |
Loyalty account statuses (400 - 409)
| errorCode | errorDescription |
|---|
400 | ALLOWED_LOYALTY_CARD_LIMIT_EXCEEDED |
| errorCode | errorDescription |
|---|
500 | INVALID_TRANSACTION |
501 | SUSPECTED_FRAUD |
| errorCode | errorDescription |
|---|
550 | MERCHANT_ERROR |
Full reversal statuses (600 - 619)
| errorCode | errorDescription |
|---|
600 | FULL_REVERSAL_SUCCESS |
601 | FULL_REVERSAL_DENIED |
602 | FULL_REVERSAL_EXT_SYSTEM_FAILED |
603 | FULL_REVERSAL_SYSTEM_FAILED |
604 | FULL_REVERSAL_NOT_POSSIBLE |
605 | TRANSACTION_NOT_FOUND_FOR_REVERSAL |
Void statuses (620 - 639)
| errorCode | errorDescription |
|---|
620 | VOID_SUCCESS |
621 | VOID_DENIED |
622 | VOID_EXT_SYSTEM_FAILED |
623 | VOID_SYSTEM_FAILED |
624 | VOID_NOT_POSSIBLE |
Loyalty transaction statuses (700 - 749)
| errorCode | errorDescription |
|---|
700 | ADD_LOYALTY_POINTS_SUCCESS |
701 | ADD_LOYALTY_POINTS_FAILED |
702 | ADD_LOYALTY_POINTS_NOT_SUPPORTED |
703 | INVALID_POINTS_AMOUNT |
704 | SUBTRACT_LOYALTY_POINTS_FOR_REFUND_SUCCESS |
705 | SUBTRACT_LOYALTY_POINTS_FOR_REFUND_FAILED |
706 | SUBTRACT_LOYALTY_POINTS_FOR_REFUND_NOT_SUPPORTED |
707 | SUBTRACT_LOYALTY_POINTS_SUCCESS |
708 | SUBTRACT_LOYALTY_POINTS_FAILED |
709 | SUBTRACT_LOYALTY_POINTS_NOT_SUPPORTED |
710 | ADD_LOYALTY_POINTS_FOR_SALE_SUCCESS |
711 | ADD_LOYALTY_POINTS_FOR_SALE_FAILED |
712 | ADD_LOYALTY_POINTS_FOR_SALE_NOT_SUPPORTED |
713 | LOYALTY_POINTS_VOID_SUCCESS |
714 | LOYALTY_POINTS_VOID_FAILED |
715 | LOYALTY_POINTS_VOID_NOT_POSSIBLE |
716 | LOYALTY_POINTS_FULL_REVERSAL_SUCCESS |
717 | LOYALTY_POINTS_FULL_REVERSAL_FAILED |
718 | LOYALTY_POINTS_FULL_REVERSAL_NOT_POSSIBLE |
Load account statuses (750 - 759)
| errorCode | errorDescription |
|---|
750 | ADD_VALUE_SUCCESS |
751 | ADD_VALUE_FAILED |
752 | ADD_VALUE_NOT_SUPPORTED |
753 | MAX_VALUE_EXCEEDED |
754 | MAX_BALANCE_EXCEEDED |
Provisioning statuses (760 - 769)
| errorCode | errorDescription |
|---|
760 | CARD_PROVISIONING_SUCCESS |
761 | CARD_PROVISIONING_FAILED |
762 | CARD_PROVISIONING_NOT_SUPPORTED |
763 | CARD_PROVISIONING_LIMIT_EXCEEDED |
764 | CARD_PROVISIONING_DECLINED |
Identity provider ptatuses (780 - 789)
| errorCode | errorDescription |
|---|
780 | IDP_AUTHENTICATION_SUCCESS |
781 | IDP_AUTHENTICATION_FAILURE |
782 | IDP_PROCESSING_ERROR |
783 | IDP_EXTERNAL_PROCESSING_ERROR |
Variable-step payment account enrollment statuses (790 - 809)
| errorCode | errorDescription |
|---|
790 | PAYMENT_ACCOUNT_ENROLLMENT_SUCCESSFUL |
791 | PAYMENT_ACCOUNT_ENROLLMENT_FAILED |
792 | PAYMENT_ACCOUNT_ENROLLMENT_CANCELLED |
793 | PAYMENT_ACCOUNT_ENROLLMENT_EXPIRED |
794 | PAYMENT_ACCOUNT_ENROLLMENT_CARD_PROVISIONING_LIMIT_EXCEEDED |
795 | PAYMENT_ACCOUNT_ENROLLMENT_CARD_PROVISIONING_DECLINED |
796 | PAYMENT_ACCOUNT_ENROLLMENT_NOT_SUPPORTED |
797 | PAYMENT_ACCOUNT_ENROLLMENT_CRUD_NOT_POSSIBLE |
798 | PAYMENT_ACCOUNT_ENROLLMENT_DUPLICATED_NOT_ALLOWED |
799 | PAYMENT_ACCOUNT_ENROLLMENT_VERIFICATION_AMOUNT_MISMATCH |
800 | PAYMENT_ACCOUNT_ENROLLMENT_VERIFICATION_NOT_SUPPORTED |
801 | PAYMENT_ACCOUNT_ENROLLMENT_VERIFICATION_TEMP_NOT_AVAILABLE |
802 | PAYMENT_ACCOUNT_ENROLLMENT_INVALID_VERIFICATION_REQUEST |
803 | PAYMENT_ACCOUNT_ENROLLMENT_VERIFICATION_INITIATED |
804 | PAYMENT_ACCOUNT_ENROLLMENT_CANCELLATION_NOT_POSSIBLE |
805 | PAYMENT_ACCOUNT_ENROLLMENT_ALREADY_CANCELLED |