Status codes
Payment status codes indicate the status of a payment transaction processed through MoneyHash payment API.
Transaction Operation Status Codes
Payment status codes indicate the status of a payment transaction processed through MoneyHash payment API. We offer a unified status code list that maps and connects to the original codes sent by the payment provider. MoneyHash ensures the raw original error code data sent by the provider is always available upon request.
You can retrieve the payment status codes in the transaction webhooks sent by MoneyHash API. Within the transaction status object, you will find a nested statuses
array that includes detailed information about the transaction status.
Transaction webhook with status code
{ "type": "transaction.purchase.failed", "status_id": "9KWQvGM", "operation_id": "ZpNP75L", "intent": { "id": "L50waMr", "created": "2025-01-22 09:47:25.234701+00:00", "custom_fields": null, "split_data": [], "custom_form_answers": null, "amount": { "value": 6500, "currency": "EGP" }, "flow_data": null }, "account": { "id": "gy0y7KL" }, "transaction": { "type": "payment", "id": "99f22c3d-372f-494d-a7fc-b5edb75d275b", "created": "2025-01-22 09:47:25.599773+00:00", "status": "purchase.failed", "billing_data": { "name": "John Doe", "first_name": "John", "last_name": "Doe", "email": "[email protected]", "phone_number": "+201064610000", "address": "Ahmed Fakhry street, Building 22", "address1": null, "apartment": null, "floor": null, "building": null, "street": null, "city": "Nasr City", "state": "Cairo", "country": null, "postal_code": "11828", "mobile_wallet_number": null }, "external_action_message": [], "provider_transaction_fields": { "checkoutdotcom_payment_id": "pay_dbfrnibxzpqenhnymneojpt3qa", "checkoutdotcom_payment_auth_code": null, "checkoutdotcom_increase_auth_code": null, "checkoutdotcom_increase_auth_action_id": null, "checkoutdotcom_acquirer_reference_number": null, "checkoutdotcom_processing_object": null, "checkoutdotcom_operation_fields": { "ZpNP75L": { "action_id": null, "auth_code": null, "acquirer_transaction_id": null, "retrieval_reference_number": null } } }, "provider_unique_reference": { "key": "checkoutdotcom_payment_id", "value": "pay_dbfrnibxzpqenhnymneojpt3qa" }, "operations": [ { "id": "ZpNP75L", "type": "purchase", "status": "failed", "amount": { "value": 6500, "currency": "EGP" }, "latest_status": { "id": "9KWQvGM", "value": "failed", "code": "7708", "provider_error_code": "P-NA", "provider_error_message": "P-NA", "message": "MH: Unknown error", "localized_message": "MH: Unknown error" }, "statuses": [ { "id": "9JD0vE5", "value": "pending", "code": "8000", "provider_error_code": null, "provider_error_message": null, "message": "Pending", "localized_message": "Pending", "created": "2025-01-22 09:47:25.633922+00:00" }, { "id": "ZpraR1q", "value": "pending_authentication", "code": "8001", "provider_error_code": null, "provider_error_message": null, "message": "Pending Authentication", "localized_message": "Pending Authentication", "created": "2025-01-22 09:47:38.424474+00:00" }, { "id": "9KWQvGM", "value": "failed", "code": "7708", "provider_error_code": "P-NA", "provider_error_message": "P-NA", "message": "MH: Unknown error", "localized_message": "MH: Unknown error", "created": "2025-01-22 09:47:49.537235+00:00" } ], "refund_type": null, "custom_fields": null, "extra": {} } ], "fraud_decision": null, "custom_message": "", "method": { "id": "9831BJZ", "display_name": "CheckoutDotCom - Card", "service_provider": { "id": "97d4pnL", "display_name": "Checkout.com" } }, "payment_method_details": { "type": "CARD", "data": null }, "authentication_data": { "version": "2.2.0", "eci_value": null, "ds_trans_id": null, "acs_trans_id": null, "threeds_status_code": "R", "authentication_value": null, "threeds_interaction_mode": null }, "paying_card_token": null, "authorization_code": null, "merchant_reference": null, "shipping_data": { "first_name": "John", "last_name": "Doe", "email": "[email protected]", "phone_number": "+201064610000", "address": "Ahmed Fakhry street, Building 22", "country": "SA", "city": "Nasr City", "street": "street name", "floor": "1", "building": "8028", "state": "Cairo", "postal_code": "11828", "apartment": "803", "description": "Second building", "shipping_method": "EM" }, "trx_rrn": null, "ip": { "ip_address": "84.170.200.78", "country": { "iso_code": "DE", "name": "Germany" } }, "full_capture": false }, "api_version": "1.1" }
Payment Status Codes
MoneyHash defines multiple code ranges to help you identify the status of each operation, and we group status codes as the following:
Status Code Range | Description |
---|---|
6000 | Payment successful - The payment has been successfully completed. |
7000 | Payment failure - The payment request has failed due to an error or invalid data. |
8000 | Payment pending - The payment request has been received and is awaiting further processing. |
MoneyHash reserves the right to add more error codes or change the existing one, but we will notify you with enough time to make the necessary changes on your end.
Additionally, we use specific status codes to provide more detailed information about the payment status. When a specific status is available, we replace the trailing zeros (000) in the general status code with a different number referring to the detailed status. Here’s a list of possible statuses:
Status Code | Status Message | Description |
---|---|---|
7000 | PSP_FAILED_ERROR | A generic payment processing error occurred. |
7511 | PSP_ACCOUNTS_ERROR | Issues with the accounts related to the payment. |
7078 | PSP_PAYMENT_INSTRUMENT_ERROR | The payment instrument provided is invalid or unsupported. |
7004 | PSP_CARD_PICKUP_ERROR | Card flagged for pickup due to restrictions or fraud suspicion. |
7024 | PSP_FILE_ERROR | Error related to file processing or updates. |
7055 | PSP_PAYMENT_INSTRUMENT_CREDENTIALS_ERROR | Incorrect or missing credentials for the payment instrument. |
7001 | PSP_BANK_DECLINE_ERROR | Transaction declined by the bank. |
7003 | PSP_INVALID_REQUEST_ERROR | The request contains invalid parameters or is improperly formatted. |
7013 | PSP_INVALID_AMOUNT_ERROR | The transaction amount is invalid. |
7015 | PSP_ISSUER_ERROR | Error originating from the payment issuer. |
7153 | PSP_MALFUNCTION_ERROR | System or network malfunction during transaction processing. |
7035 | PSP_ACQUIRER_ERROR | Error originating from the payment acquirer. |
7154 | PSP_AUTHENTICATION_REQUIRED_ERROR | Authentication is required to complete the transaction. |
7151 | PSP_AUTHENTICATION_FAILED_ERROR | Authentication process for the transaction failed. |
7387 | PSP_EXPIRY_DATE_ERROR | The card's expiration date is invalid or has expired. |
7040 | PSP_CONFIGURATION_ERROR | Configuration issue at the payment gateway or provider. |
7057 | PSP_TRANSACTION_NOT_PERMITTED_ERROR | The transaction is not permitted. |
7061 | PSP_AMOUNT_LIMIT_ERROR | The transaction amount exceeds the allowed limits. |
7018 | PSP_TRANSACTION_DISPUTED_ERROR | Transaction flagged due to a customer dispute. |
7023 | PSP_FEE_ERROR | Error related to the transaction fees applied. |
7031 | PSP_BANK_NOT_SUPPORTED_ERROR | The payment instrument bank is not supported. |
7051 | PSP_INSUFFICIENT_FUNDS_ERROR | The account lacks sufficient funds to complete the transaction. |
7059 | PSP_SUSPECTED_FRAUD_ERROR | Transaction flagged for suspected fraudulent activity. |
7063 | PSP_SECURITY_ERROR | Security violation or issue during processing. |
7092 | PSP_FINANCIAL_NETWORK_UNAVAILABLE_ERROR | Financial network unavailable or unable to route the transaction. |
7094 | PSP_DUPLICATION_ERROR | Duplicate transaction or request detected. |
7152 | PSP_TRANSACTION_TIMEOUT_ERROR | Transaction timed out during processing. |
7488 | PSP_TRANSACTION_EXPIRED_ERROR | The transaction has expired. |
7500 | PSP_BILLING_DETAILS_ERROR | Invalid or incomplete billing details provided. |
7503 | PSP_CURRENCY_ERROR | Unsupported or invalid currency specified. |
7098 | PSP_SHIPPING_ADDRESS_ERROR | The provided shipping address is invalid. |
7099 | PSP_SENDER_ERROR | Error related to the transaction sender. |
7100 | PSP_SYSTEM_BUSY_ERROR | Unable to process the transaction at this time. |
7101 | PSP_RECIPIENT_ERROR | Error with recipient details or account. |
7102 | PSP_VALIDATION_ERROR | Validation failed for transaction parameters. |
7103 | PSP_DECLINE_LIST_ERROR | Declined due to being on a block or decline list. |
7104 | PSP_RISK_DECLINE_ERROR | Declined due to exceeding risk thresholds. |
7105 | PSP_LIMIT_EXCEEDED | Some limits were exceeded on the provider side. |
7700 | MH_INTENT_EXPIRED_ERROR | MH: The transaction or intent has expired. |
7701 | MH_TOO_MANY_FAILED_TRANSACTIONS_ERROR | MH: The number of failed transactions exceeded the threshold. |
7702 | MH_BILLING_DATA_ERROR | MH: Missing or invalid billing data for the transaction. |
7703 | MH_INTENT_CLOSED_ERROR | MH: The intent has already been closed. |
7704 | MH_PAYMENT_INSTRUMENT_CREDENTIALS_ERROR | MH: Incorrect or missing credentials provided for the payment method. |
7709 | MH_PSP_CONFIGURATION_ERROR | MH: Configuration issue with the PSP connection. |
7706 | MH_INVALID_REQUEST_ERROR | MH: The request is invalid or contains incorrect data. |
7705 | MH_PSP_UNAVAILABLE_ERROR | MH: The PSP service is unavailable at the time of the request. |
7707 | MH_PROVIDER_CONNECTION_PARSING_ERROR | MH: Couldn't parse the provider response. |
7708 | MH_PROVIDER_CONNECTION_UNKNOWN_ERROR | MH: Unknown error. |
7710 | MH_PROVIDER_ERROR_MAPPING_NOT_SUPPORTED | MH: This provider error mapping is not supported yet, please refer to provider interactions for more details on the error code. |
Handling Response Codes
When integrating our online payment API, it is important to handle payment status code. This involves checking the response code and taking appropriate actions or error handling based on the specific scenario.
Updated 1 day ago