B2B Mobile Transaction API - Status Codes
Last updated: Aug 15th, 6:10am
The White Label Wallet (WLW) platform Status Codes communicate the status of a given transaction at a specific point in its lifecycle. The codes are grouped into two categories, based on whether the status relays information about whether a call was able to reach its intended recipient versus the outcome of the call's intended operation.
- Response status codes: Did the API endpoint successfully reach the WLW platform component?
- Payment status codes: If the request reached its recipient, what was the outcome of that request?
Response status codes
WLW's Response Status Codes relay information about the state of the transmission of the call.
Status object format
When any request is submitted to WLW through one of its exposed endpoints, the response always includes the status
attribute using the following convention:
1...2status":{3 "statusCode":"FAILED",4 "statusDescription":"Tender not supported",5 "statusDetails":[6 {7 "statusCode":"370",8 "statusDescription":"Tender not supported",9 "statusType":"PLATFORM"10 }11 ]12},13...
- Depending on the originating call, the
statusDetails
message can provide context-specific details instead of the generic messages described here. - See Response Status Codes and their endpoints for a list of
statusDetail
response status codes and the endpoints that use them. - The documentation for each individual method includes the specific response
status
codes used by that endpoint. - Payment status codes are listed after the response codes and endpoints table.
Response status codes and their endpoints
The following table lists the response status codes and the endpoints that use them. See the individual method descriptions to see the response codes grouped by endpoint.
Code | Message | Used by |
---|---|---|
304 | Invalid arguments Detailed description is context-specific, such as PartnerUri cannot be null or empty. | enrollCustomerAndProvisionCard retrieveMobileTransactionMetadata updateMobileTransaction |
309 | Invalid checkout token | retrieveMobileTransactionMetadata |
337 | No transaction details found | retrieveMobileTransactionMetadata updateMobileTransaction |
341 | Transaction has been canceled | retrieveMobileTransactionMetadata updateMobileTransaction |
347 | Transaction in use | retrieveMobileTransactionMetadata updateMobileTransaction |
360 | Operation timeout | retrieveMobileTransactionMetadata updateMobileTransaction |
361 | Checkout token blocked | retrieveMobileTransactionMetadata |
370 | Tender not supported | enrollCustomerAndProvisionCard updateMobileTransaction |
385 | Transaction not ready | retrieveMobileTransactionMetadata |
386 | <endpoint> Error Detailed description is context-specific. | enrollCustomerAndProvisionCard retrieveMobileTransactionMetadata updateMobileTransaction updateMobileTransaction cancelMobileTransaction releaseMobileDeviceCheckoutToken |
389 | Issuing partner is not configured to support stub customer records. | enrollCustomerAndProvisionCard |
390 | Data access error | updateMobileTransaction |
391 | The external entity is not found Detailed description is context-specific. | retrieveMobileTransactionMetadata |
427 | Invalid external entity state Detailed description is context-specific. | Reserved for future use |
430 | Declined | updateMobileTransaction |
431 | Insufficient funds | updateMobileTransaction |
443 | Processing error occurred | updateMobileTransaction |
444 | Processing error occurred at gateway | updateMobileTransaction |
445 | Transaction cannot be processed | updateMobileTransaction |
447 | Transaction not supported in the integration | updateMobileTransaction |
449 | Invalid amount specified | updateMobileTransaction |
450 | Invalid card number specified | updateMobileTransaction |
451 | Invalid expiry date specified | updateMobileTransaction |
452 | Expired credit card | updateMobileTransaction |
490 | Invalid Transaction, Contact Issuer | updateMobileTransaction |
491 | Suspected Fraud, Contact Issuer | updateMobileTransaction |
523 | Payment account enrollment card provisioning operation declined | enrollCustomerAndProvisionCard |
524 | Payment account enrollment card provisioning operation not supported | enrollCustomerAndProvisionCard |
525 | CRUD not possible | enrollCustomerAndProvisionCard |
Payment status codes
WLW's Payment status codes relay information about the current state of the payment.
Payment status code categories
Payment status codes are grouped into the following general categories:
Code Range | Description |
---|---|
200-209 | Settlement status: Information about whether a payment has settled. |
210-219 | Authorization status: Information about the processor. |
220-229 | Scheduled processing status: Information about the state of a scheduled transaction. |
230-239 | Refund status: Information about issuance of a credit. |
240-249 | Payment system status: Information about the state of the payment system. |
250-299 | Payment input failures: Explanations of payment failure due to input error. |
340-349 | Non-transaction processing status (Database Update Status): Information about whether a system record was able to be updated. |
350-369 | Non-transaction processing input failures: Explanations about record update failure. |
370-379 | Balance inquiry status: Information about a balance refresh transaction. |
380-389 | Verification status: Information about an account verification. |
400-409 | Loyalty-card-status: Deprecated |
500-549 | Issuer status: Information about the payment account issuer. |
550-599 | Merchant related status codes: Information about the merchant. |
600-619 | Full reversal and refund status: Information about the reversal of a payment that cannot be voided. |
620-639 | Payment void status: Information about a completed payment void. |
700-749 | Loyalty status: Deprecated: Information about loyalty activity processing. |
750-759 | Add value status: Information about loading or reloading the balance of a payment account. |
760-769 | Card provisioning status: Information about single-step account enrollment. |
780-789 | IDP status: Information about an external user profile authentication. |
790-809 | Multi-step account enrollment status: Information about payment account enrollment that can have a dynamic number of steps. |
810-829 | Pay at the table status:Information related to open-tab payment models. |
830-839 | Additional processing status: Information related to pre- or post-transaction processing. |
Note: Codes within each range have been reserved for use by the type specified for that range. However, there is not necessarily a status assigned to every code within the range.
Payment status codes by category
The specific payment status codes are listed here by the type of failure they represent, such as Refund
or Schedule
.
Settlement status
Code | Status Message | Description |
---|---|---|
200 | APPROVED | Payment for the transaction has been approved. |
201 | DECLINED | Payment for the transaction has been declined. |
202 | SETTLEMENT_FAILED | The transaction is authorized, but the settlement failed. |
203 | INSUFFICIENT_FUNDS | The account from which the payment is being drawn does not have enough money to cover the amount due. |
204 | PARTIAL_PAYMENT_SUCCESS | A payment has been approved, but a balance remains. |
205 | FORCED_DEPOSIT_SUCCESS | The ATM deposit cancelation failed and the deposit was processed. |
Authorization status
Code | Status Message | Description |
---|---|---|
210 | AUTH_APPROVED | Pre-authorization is approved. |
211 | AUTH_FAILED | Pre-authorization failed. |
212 | PARTIAL_PRE_AUTH_SUCCESS | Pre-authorization is approved for a lesser amount than requested. |
Schedule status
Code | Status Message | Description |
---|---|---|
220 | APPROVED_AND_SCHEDULED | The payment authorization is approved and has been scheduled for processing. |
221 | SCHEDULED | The payment is scheduled for processing. |
Refund status
Code | Status Message | Description |
---|---|---|
230 | REFUND_APPROVED | The credit transaction is accepted. |
231 | REFUND_ON_HOLD | The transaction is awaiting settlement and cannot be refunded at this time. |
232 | REFUND_FAILED | The credit transaction is declined. |
235 | REFUND_NOT_POSSIBLE | Refunds are not permitted for this transaction. |
236 | REFUND_TRANSACTION_DATA_MISMATCH | The data input for the refund transaction does not match that of the original purchase. |
237 | REFUND_TRANSACTION_AMOUNT_EXCEED | The refund transaction amount is in excess of the original purchase. |
Payment system status
Code | Status Message | Description |
---|---|---|
240 | DUPLICATE_TRANSACTION | A duplicate transaction has been submitted. |
241 | PROCESSING_ERROR | An error occurred during processing. Wait 5 minutes before retrying. |
242 | GATEWAY_PROCESSING_ERROR | An error occurred at the gateway. Wait 5 minutes before retrying. |
243 | TRANSACTION_NOT_ALLOWED | The transaction is not supported at this financial institution. |
244 | TRANSACTION_UNDER_REVIEW | The transaction is being evaluated. |
245 | TRANSACTION_NOT_SUPPORTED | The transaction is not supported by the wallet integration. |
246 | OPERATION_TIMEOUT | The transaction was not completed in the allotted time. |
Payment input failures
Code | Status Message | Description |
---|---|---|
250 | INVALID_INPUTS | The request contains one or more invalid parameter entries. |
251 | INVALID_AMOUNT | The amount entered is not a valid format (for example, multiple decimal points can 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 routing number for the payment account is not valid. |
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. |
Database update status
Code | Status Message | Description |
---|---|---|
340 | Success | The CRUD (Create/Read/Update/Delete) operation was successful. |
341 | CRUD_NOT_POSSIBLE | The CRUD operation cannot be completed. Wait five minutes before retrying. |
349 | ENTITY_IS_DELETED | The referenced entity has been removed and cannot be retrieved. |
Non-transaction input failures
Code | Status Message | Description |
---|---|---|
350 | ENTITY_NOT_EXISTING | The referenced entity does not exist in the system. Recheck the ID or URI used to retrieve. |
351 | DUPLICATES_NOT_ALLOWED | The URI provided results in a duplicate record if created. Update the existing record instead. |
352 | EMPTY_PARTNER_URI | Partner URI is required. |
353 | EMPTY_TENANT_URI | A valid tenant URI is required. |
354 | EMPTY_MERCHANT_URI | A valid Merchant URI is required. |
355 | EMPTY_USER_PROFILE_URI | A valid user profile URI is required. |
356 | EMPTY_CURRENCY_URI | A valid currency URI is required. |
357 | EMPTY_FINANCIAL_INSTITUTE_URI | A valid financial institution URI is required. |
358 | EMPTY_WALLET_ACCOUNT_URI | A valid wallet account URI is required. |
359 | EMPTY_PAYMENT_PROCESSOR_URI | A valid payment processor URI is required. |
360 | INVALID_PARTNER_URI | Partner URI is not valid. |
361 | INVALID_TENANT_URI | Tenant URI is not valid. |
362 | INVALID_MERCHANT_URI | Merchant URI is not valid. |
363 | INVALID_USER_PROFILE_URI | User profile URI is not valid. |
364 | INVALID_CURRENCY_URI | Currency URI is not valid. |
365 | INVALID_FINANCIAL_INSTITUTE_URI | Financial institution URI is not valid. |
366 | INVALID_WALLET_ACCOUNT_URI | Wallet account URI is not valid. |
367 | INVALID_PAYMENT_PROCESSOR_URI | Payment processor URI is not valid. |
368 | INVALID_PAYMENT_IMAGE_CATEGORY_URI | Payment image category URI is not valid. |
369 | INVALID_PAYMENT_IMAGE_URI | The payment image URI is not valid. |
Balance inquiry status
Code | Status Message | Description |
---|---|---|
370 | BALANCE_INQUIRY_SUCCESS | The account balance was successfully retrieved. |
371 | BALANCE_INQUIRY_FAILED | The account balance could not be retrieved. |
372 | BALANCE_TEMP_UNAVAILABLE | The account balance is temporarily unavailable. |
373 | BALANCE_NOT_SUPPORTED | Balance retrieval is not supported for the account. |
374 | INVALID_BALANCE_AMOUNT | The account balance returned is not a valid amount. |
375 | INVALID_BALANCE_REQUEST | The operation failed due to one or more invalid parameters in the request. |
Verification status
Code | Status Message | Description |
---|---|---|
380 | VERIFICATION_SUCCESS | The account has been successfully verified. |
381 | VERIFICATION_FAILED | The account could not be verified due to an unknown error. |
382 | VERIFICATION_AMOUNT_MISMATCH | The amount provided does not match the account verification. |
383 | VERIFICATION_PERIOD_EXPIRED | The time allowed to complete the verification has expired. |
384 | VERIFICATION_NOT_SUPPORTED | Deposit verification is not supported for this account. |
385 | VERIFICATION_TEMP_NOT_AVAILABLE | The verification service is temporarily unavailable. |
386 | INVALID_VERIFICATION_REQUEST | The operation failed due to one or more invalid parameters in the request. |
387 | VERIFICATION_INITIATED | Verification amounts have been deposited, but no match has been submitted. |
388 | UNSUPPORTED_IIN | The Issuer Identification number provided is not in the supported range for verification. |
Loyalty card status
Deprecated: Loyalty processing is deprecated and is no longer available.
Code | Status Message | Description |
---|---|---|
400 | ALLOWED_LOYALTY_CARD_LIMIT_EXCEEDED | The number of loyalty cards permitted per user or per type is full. |
Loyalty status
Deprecated: Loyalty processing is deprecated and is no longer available.
Code | Status Message | Description |
---|---|---|
700 | ADD_LOYALTY_POINTS_SUCCESS | Loyalty program points were awarded for the transaction. |
701 | ADD_LOYALTY_POINTS_FAILED | Loyalty program points were not awarded. |
702 | ADD_LOYALTY_POINTS_NOT_SUPPORTED | Awarding loyalty points is not a supported operation for the account. |
703 | INVALID_POINTS_AMOUNT | The number of points provided is not a valid points award. |
704 | SUBTRACT_LOYALTY_POINTS_FOR_REFUND_SUCCESS | Previously awarded loyalty points were subtracted in conjunction with a refund. |
705 | SUBTRACT_LOYALTY_POINTS_FOR_REFUND_FAILED | Previously awarded loyalty points could not be subtracted in conjunction with a refund. |
706 | SUBTRACT_LOYALTY_POINTS_FOR_REFUND_NOT_SUPPORTED | Subtracting loyalty points for a refund is not supported. |
707 | SUBTRACT_LOYALTY_PONTS_SUCCESS | Points were subtracted successfully. |
708 | SUBTRACT_LOYALTY_POINTS_FAILED | Points were not subtracted. |
709 | SUBTRACT_LOYALTY_POINTS_NOT_SUPPORTED | Subtracting loyalty points operation is not supported. |
710 | ADD_LOYALTY_POINTS_FOR_SALE_SUCCESS | Loyalty program points were awarded for the sales transaction. |
Issuer status
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. |
503 | SERVICE_FAULT | The Issuer service is temporarily unavailable due to maintenance. |
Merchant status
Code | Status Message | Description |
---|---|---|
550 | MERCHANT_ERROR | An error has occurred at the POS terminal. |
Full reversal and refund status
Code | Status Message | Description |
---|---|---|
600 | FULL_REVERSAL_SUCCESS | The transaction was successfully reversed and refunded. |
601 | FULL_REVERSAL_DENIED | Reversal of the transaction is not permitted. |
602 | FULL_REVERSAL_EXT_SYSTEM_FAILED | An external system failure prevented the reversal. |
603 | FULL_REVERSAL_SYSTEM_FAILED | A system failure prevented the reversal. |
604 | FULL_REVERSAL_NOT_POSSIBLE | The transaction could not be reversed, possibly because the reversal is not supported or the transaction has already been reversed. |
605 | TRANSACTION_NOT_FOUND_FOR_REVERSAL | The referenced transaction could not be found. |
Voided payment and refund status
Code | Status Message | Description |
---|---|---|
620 | VOID_SUCCESS | The transaction was successfully voided and refunded. |
621 | VOID_DENIED | Voiding the transaction is not permitted. |
622 | VOID_EXT_SYSTEM_FAILED | An external system failure prevented the void. |
623 | VOID_SYSTEM_FAILED | A system failure prevented the void. |
624 | VOID_NOT_POSSIBLE | The transaction could not be voided, possibly because the transaction has already been canceled or voided or cannot be located. |
Add value status
Code | Status Message | Description |
---|---|---|
750 | ADD_VALUE_SUCCESS | Card balance was successfully loaded or reloaded. |
751 | ADD_VALUE_FAILED | Card balance was not loaded. |
752 | ADD_VALUE_NOT_SUPPORTED | Card balance loading or reloading is not supported in the wallet. |
753 | MAX_VALUE_EXCEEDED | The card balance load amount is too high. |
754 | MAX_BALALNCE_EXCEEDED | The load amount will make the total card balance too high. |
Card provisioning status
Code | Status Message | Description |
---|---|---|
760 | CARD_PROVISIONING_SUCCESS | The card was added as a payment account in the wallet. |
761 | CARD_PROVISIONING_FAILED | The card was not added as a payment account in the wallet. |
762 | CARD_PROVISIONING_NOT_SUPPORTED | The wallet is not configured for card provisioning. |
763 | CARD_PROVISIONING_LIMIT_EXCEEDED | The wallet already has the maximum number of provisioned payment accounts. |
764 | CARD_PROVISIONING_DECLINED | Provisioning of the card was not authorized. |
IDP status
Code | Status Message | Description |
---|---|---|
780 | IDP_AUTHENTICATION_SUCCESS | The credentials were authenticated by the identity processor. |
781 | IDP_AUTHENTICATION_FAILED | The credentials failed authentication by the identity processor. |
782 | IDP_PROCESSING_ERROR | An error occurred during processing. |
783 | IDP_EXTERNAL_PROCESSING_ERROR | An external error occurred during processing. |
Multi-step account enrollment status
Code | Status Message | Description |
---|---|---|
790 | PAYMENT_ACCOUNT_ENROLLMENT_SUCCESSFUL | The payment account was successfully enrolled in the wallet. |
791 | PAYMENT_ACCOUNT_ENROLLMENT_FAILED | The payment account could not be enrolled in the wallet. |
792 | PAYMENT_ACCOUNT_ENROLLMENT_CANCELLED | The payment account enrollment was canceled. |
793 | PAYMENT_ACCOUNT_ENROLLMENT_EXPIRED | The allowed time to complete the payment account enrollment has passed. |
794 | PAYMENT_ACCOUNT_ENROLLMENT_CARD_PROVISIONING_LIMIT_EXCEEDED | The wallet already contains the maximum number of enrolled payment accounts. |
795 | PAYMENT_ACCOUNT_ENROLLMENT_CARD_PROVISIONING_DECLINED | The external processor did not authorize the enrollment. |
796 | PAYMENT_ACCOUNT_ENROLLMENT_CARD_PROVISIONING_NOT_SUPPORTED | The issuing partner is not configured for provisioning. |
797 | PAYMENT_ACCOUNT_ENROLLMENT_CRUD_NOT_POSSIBLE | Read/Write access of the payment account was prohibited. |
798 | PAYMENT_ACCOUNT_ENROLLMENT_DUPLICATES_NOT_ALLOWED | The payment account is already enrolled. |
799 | PAYMENT_ACCOUNT_ENROLLMENT_VERIFICATION_AMOUNT_MISMATCH | The deposit amounts entered do not match the verification amounts. |
800 | PAYMENT_ACCOUNT_ENROLLMENT_VERIFICATION_NOT_SUPPORTED | The payment account does not support double deposit verification. |
801 | PAYMENT_ACCOUNT_ENROLLMENT_VERIFICATION_TEMP_NOT_AVAILABLE | The double deposit data is not yet available for verification. |
802 | PAYMENT_ACCOUNT_ENROLLMENT_INVALID_VERIFICATION_REQUEST | The verification request contains invalid values. |
803 | PAYMENT_ACCOUNT_ENROLLMENT_VERIFICATION_INITIATED | The system is waiting for the user to provide verification amounts. |
804 | COMPLETED_PAYMENT_ACCOUNT_ENROLLMENT_CANCELLATION_NOT_POSSIBLE | The payment account has already been added to the wallet. To remove, use deleteCustomerCardInfo. |
805 | PAYMENT_ACCOUNT_ENROLLMENT_ALREADY_CANCELLED | The payment account has already been canceled. |
806 | PAYMENT_ACCOUNT_ENROLLMENT_CONTINUATION_NOT_POSSIBLE | Continuation of the enrollment failed, possibly because the enrollment completed, was canceled, or expired. |
807 | PAYMENT_ACCOUNT_ENROLLMENT_SUSPECTED_FRAUD | The enrollment triggered a fraud alert. Contact the issuer. |
Pay-at-the-table status
Code | Status Message | Description |
---|---|---|
810 | EXT_SYSTEM_INVOICE_NOT_FOUND | The referenced invoice was not located in the external system. |
811 | EXT_SYSTEM_INVOICE_LOCKED_OR_CLOSED | The referenced invoice is locked or closed to updates. |
812 | EXT_SYSTEM_INVOICE_ITEM_NOT_FOUND | A referenced item on the invoice was not located in the external system. |
813 | EXT_SYSTEM_INVOICE_LOCKED | The referenced invoice is locked against updates. |
814 | EXT_SYSTEM_INVOICE_CLOSED | The referenced invoice is already closed out. |
815 | EXT_SYSTEM_INVALID_OFFER | The referenced offer is not valid in the external system. |
816 | EXT_SYSTEM_INVALID_PAYMENT_TENDER | The submitted payment account is not a valid tender in the external system. |
817 | EXT_SYSTEM_INVALID_INVOICE_REVISION | An update to the invoice is not valid. |
818 | EXT_SYSTEM_ACCEPTANCE_LOCATION_NOT_FOUND | The referenced acceptance location was not located in the external system. |
819 | EXT_SYSTEM_ACCEPTANCE_LOCATION_OFFLINE | The referenced acceptance location is offline and cannot process the operation. |
820 | EXT_SYSTEM_MESSAGE_VALIDATION_FAILED | The message to the external system failed validation. |
Additional processing status
Code | Status Message | Description |
---|---|---|
830 | ADDITIONAL_PROCESSING_SUCCESS | The supplementary transaction operation was successful. |
831 | ADDITIONAL_PROCESSING_FAILED | The supplementary transaction operation failed. |