Error codes
Every error returns a stable, machine-readable code. Handle errors by code, not by message text.
The error object#
{
"error": {
"code": "PAYMENT_DECLINED",
"message": "The payment was declined by the payment provider.",
"decline_reason": "insufficient_funds",
"request_id": "req_7Hc2LqP",
"doc_url": "/errors#payment-declined"
}
}code— stable identifier to branch on.message— human-readable, may change. Don’t parse it.request_id— include it when contacting support.
Error reference#
HTTP 402PAYMENT_DECLINED
Description
The payment was declined by the payment provider.
Common causes
- Insufficient funds or credit limit reached.
- The issuer flagged the transaction as risky.
- Card expired or details incorrect.
Recommended action
Show a clear message and let the customer try another payment method. Check decline_reason for detail.
{
"error": {
"code": "PAYMENT_DECLINED",
"decline_reason": "insufficient_funds",
"request_id": "req_7Hc2LqP"
}
}HTTP 402CARD_EXPIRED
Description
The card’s expiry date has passed.
Common causes
- A saved card wasn’t updated after renewal.
Recommended action
Ask the customer to update their card details.
{
"error": {
"code": "CARD_EXPIRED",
"request_id": "req_2Pb8XwQ"
}
}HTTP 400INVALID_REQUEST
Description
A required parameter is missing, or a value has the wrong type or format.
Common causes
amountsent as a decimal instead of an integer.- Lowercase or unknown
currency.
Recommended action
Fix the parameter named in error.param. Don’t retry unchanged.
{
"error": {
"code": "INVALID_REQUEST",
"param": "amount",
"message": "amount must be an integer."
}
}HTTP 401AUTHENTICATION_FAILED
Description
The request didn’t include a valid API key for this environment.
Common causes
- Sandbox key sent to production, or the reverse.
- Key revoked during rotation.
- Missing
Bearerprefix.
Recommended action
Check the key and environment. See Authentication.
{
"error": {
"code": "AUTHENTICATION_FAILED",
"request_id": "req_9Qd1MnZ"
}
}HTTP 404RESOURCE_NOT_FOUND
Description
No object with that ID exists in this environment.
Common causes
- A sandbox ID used against production.
- A typo in the path.
Recommended action
Confirm the ID and the base URL.
{
"error": {
"code": "RESOURCE_NOT_FOUND",
"param": "id"
}
}HTTP 409IDEMPOTENCY_CONFLICT
Description
An Idempotency-Key was reused with different request parameters.
Common causes
- A static key shared across orders.
Recommended action
Generate one key per business operation. See Idempotency.
{
"error": {
"code": "IDEMPOTENCY_CONFLICT",
"request_id": "req_4Tr6VbS"
}
}HTTP 429RATE_LIMIT_EXCEEDED
Description
This API key sent more requests than its limit allows.
Common causes
- Unthrottled batch jobs.
- Retry loops without backoff.
Recommended action
Wait for Retry-After seconds, then retry with backoff. See Rate limits.
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"retry_after": 2
}
}Payments and order error catalog#
This catalog restores the complete set of stable codes from the previous public response-code reference. Current codes were cross-checked against the payment and order API code paths; legacy-only codes remain listed for backward compatibility. Messages may vary; branch on the code rather than parsing message text.
Orders and checkout
Order lifecycle, checkout readiness, payment links, files and request handling.
| Error code | Error type | Cause | Recommended action |
|---|---|---|---|
CHECKOUT-1000 | CheckoutNotReady | Checkout is not ready to start | Verify checkout settings |
CHECKOUT-1001 | CheckoutNotReadyForShipping | Checkout is not ready for shipping | Verify the shipping method configuration or the shipping rate. |
CHECKOUT-1002 | CheckoutNotReadyForNotify | Checkout is not ready to notify | Verify that exists only one notification endpoint configured. |
EMA-1000 | MissingHeaders | The request header is missing or invalid | Verify that the header is being sent correctly in the request. |
EMA-1001 | CannotGetMetadata | Cannot get the metadata | Check if the metadata sent in the request has the correct format. |
EMA-1002 | PayloadError | The request’s payload has failed. | Verify that the request's payload or body is correctly formatted. |
EMA-1003 | ShippingOptionNotAvailable | Shipping option is not available | Check if the shipping option is valid for those we have available: delivery or pickup. |
EMA-1004 | OrderAlreadyProcessed | The order has already been processed | Place a new order, as the previous order has already been processed. |
EMA-1005 | OrderStatusNotValidForTransition | Attempting to change the status of a transaction that is already cancelled, refunded, or completed | Check the current state of the transaction before attempting to change it. |
EMA-1006 | OrderStateConflicts | The order does not have a defined shipping method | Please make sure you select a valid shipping method before proceeding with the transaction. |
EMA-1007 | ShippingMethodNotAvailable | Shipping method does not match any available | Review the shipping methods configured for the merchant and select a compatible one. |
EMA-1008 | ConfigurationOperationConflict | Trade setup does not exist in the database | Verify that the required settings are set correctly. |
EMA-1009 | InvalidOrderType | Invalid order type | Review the type of order being sent and make sure it is compatible with the configured systems. |
EMA-2000 | CannotParseData | Error when trying to process or analyze data | Make sure the data sent is in the correct format and meets system requirements. |
EMA-3000 | ConfigurationNotFound | Configuration not found | The endpoints for merchant integration have not been configured. |
EMA-3001 | OrderNotFound | Order not found | The Order is not registered in the store; validate that it is correct or that it is within the store. |
EMA-3002 | DataBaseError | Database error | Try the transaction again later. |
EMA-3003 | ConfigurationAlreadyExist | An attempt was made to create a trading setup that already exists | Check if the configuration is already registered before trying to create a new one. |
EMA-4000 | RequestServiceError | The request cannot connect to a service | Verify whether the request is correct. |
EMA-4001 | RequestServiceTimeout | The request has reached its waiting time to get a response. | Generate another request. |
EMA-4002 | PayerServiceError | Payment methods are not available or the request to the merchant service failed | Make sure that the payment methods are configured correctly or contact support. |
EMA-5000 | Unauthorized | The request is not authorized. | X-API-Key is missing in the request header |
EMA-5001 | InvalidAPIKey | The provided API key is not valid | Review the API key used in the request and replace it with a valid one if necessary. |
EMA-6000 | RefundError | The refund has failed. | Verify that the body of the request is formatted correctly. |
EMA-6001 | VoidError | The void request has failed. | Verify that the body of the request is formatted correctly. |
EMA-6002 | PendingPayment | The order is in pending or processing status | Wait for the order status to update or check the current status before taking further action. |
EMA-6003 | CaptureError | Error when trying to update an order to capture status | Verify the existence of the order and make sure it meets the criteria to be captured. |
EMA-6004 | CannotCreateOrder | Could not tokenize or create an order | Make sure that the data provided for creating the order is correct and complete. |
EMA-6005 | CannotUpdateCustomFields | Failure to validate or update custom fields of an order | Verify that custom fields are correctly defined and compatible with the configured systems. |
EMA-6006 | CannotGetUserInfo | The request to the business user service failed | Review the connection to the user service and ensure that the requests include the correct parameters. |
EMA-6007 | CannotGetWebhook | Cannot get the Webhook configuration | Verify that the body of the request is formatted correctly. |
EMA-6008 | CannotExecuteWebhook | Webhook response with custom fields not configured | Review the webhook configuration |
EMA-6009 | CannotApplyTemplate | Conflict when trying to apply a template | Review the configured templates. |
EMA-6010 | ErrorFromMerchant | Error raised due to an error in the merchant API | Verify that the body of the request is formatted correctly. |
EMA-6011 | CannotUpdateOrder | The order could not be updated | Verify that the body of the request is formatted correctly. |
EMA-6016 | CannotCancelPurchasedOrder | Failure to send a notification and cancel a purchased order | Review your notification settings and make sure the order meets the criteria to be canceled. |
EMA-6017 | CannotNotifyPurchasedOrder | Merchant notification settings not available | Properly configure notifications for the merchant before attempting to send alerts or updates. |
EMA-6018 | Unauthorized | There was a problem with authentication. | Please review the API keys that are currently in use. |
EMA-6019 | OrderExpired | This order has already expired, so you cannot try to pay it. This error happens when trying to pay an expired order. | You must create a new order. |
EMA-6020 | CannotExpireOrder | You cannot expire this order because it has either expired or had an associated payment attempt. Special Cases: PIX: an order is allowed to expire when it has no associated payment attempt or the associated payment attempt is pending . | You must create a new order. |
EMA-6021 | CannotCreatePaymentLinkTemplate | An error occurred while trying to create the payment link template. | Ensure that the fields included in the payment link request are necessary for its creation. |
EMA-6022 | CannotGetPaymentLinkTemplate | The system cannot find the requested payment link template. | Verify the payment link ID requested. |
EMA-6023 | CannotUpdatePaymentLinkTemplate | An error occurred while trying to update the Payment link template. | Verify the required fields requested to update the payment link. |
EMA-6024 | InvalidStatusTransitionPaymentLinkTemplate | The requested status transition is invalid or does not allow modifications. | Verify that the status is eligible for change or modification before transitioning. |
EMA-6025 | PaymentLinkTemplateExpired | The payment link template has expired and is no longer valid for use. | Generate a new payment link if needed to continue the operation or edit the expiration date of the current payment link. |
EMA-6026 | PaymentLinkTemplateLimitExceeded | The maximum allowable uses for the payment link have been exceeded. | Create a new payment link or increase the redemption limit. |
EMA-6027 | PaymentLinkTemplateCompleted | The payment link template has been completed. | No further action is required. If a new payment is needed, generate a new link. |
EMA-6028 | PaymentLinkTemplateDisabled | The payment link template has been deactivated and is no longer available. | Verify the link settings and, if necessary, reactivate the link or create a new one. |
EMA-6029 | PaymentLinkTemplateCancelled | The payment link template has been canceled; the operation cannot continue. | Create a new payment link if a new transaction is required. |
EMA-7000 | InvalidFileRequest | File request is invalid | Verify that the request includes the correct parameters and formats before resending it. |
EMA-7001 | InternalErrorRetrievingFiles | Error when trying to recover stored files | Review storage services or configurations to ensure proper recovery. |
EMA-7002 | InternalErrorRetrievingPresignedURL | Error retrieving pre-signed URLs | Review your pre-signed URL generation settings and make sure your storage system is working properly. |
EMA-8000 | PaymentLinkRedirectError | Failed to redirect to order token of the payment link | Review the order token and verify that it is correct. |
EMA-9001 | AttemptsExceededCode | The allowed number of attempts for the transaction has been exceeded | Try again with another card or payment method |
EMA-9998 | MerchantInternalError | Internal error | Retry the transaction or try another payment processor |
EMA-9999 | MerchantUnknown | The merchant identifier is not present in the request | Include the merchant identifier in the request or verify the structure of the data sent. |
Payments
Payment validation, processing, authentication, transaction operations and provider responses.
| Error code | Error type | Cause | Recommended action |
|---|---|---|---|
DP-3000 | ErrPayload | Error in the payload sent in the request or it’s empty | Verify that you send the payload. For Nequi, verify that the phone number is included For refund transactions, verify that the amount sent is positive |
DP-3001 | ErrInvalidFormat | The request contains an invalid format, malformed field, invalid data structure, or unsupported field value. | Correct the request payload, field format, and required data before retrying. |
DP-3002 | ErrRequestServiceError | The card cannot be tokenized or retrieved Error in the installments plan | Validate the request information and try again |
DP-3003 | ErrAmountRequestError | The processor does not support partial refunds | Validate that the amount field matches or is not null in the request |
DP-3004 | ErrCustomerCancelled | The customer cancelled the payment before completion | No action required from the merchant, the payment was cancelled by the cardholder. A new payment attempt must be initiated by the user. |
DP-4000 | ErrMissingHeaders | Request header not found | Verify that the header is being sent correctly in the request. |
DP-4001 | ErrUnauthorized | Request not authorized | Validate the X-API-Key header or check your configuration |
DP-4002 | ErrCardTokenForbidden | Banned card | Do not retry with the same card. The cardholder must contact their issuing bank to resolve the restriction. If the block is due to a DEUNA fraud rule, review the card in the fraud management panel. |
DP-4003 | ErrStoreCodeValidation | Store code not found | Validate that the store code is not empty or is incorrect |
DP-4004 | ErrValidation | The authorization and capture methods are not enabled For PlacetoPay , the country_iso field is missing | Validate you configuration or check if the country_iso field is not empty |
DP-4005 | ErrMerchantIDValidation | The merchant code was not found. | Check if the merchant code is not empty or incorrect |
DP-4006 | ErrUserValidation | User information is empty or invalid in the request of the webhook. | Check the user information. |
DP-4007 | ErrParseUuid | The error token has not the correct format. | Validate the error token |
DP-4008 | ErrCardNotFound | The card cannot be retrieved from the token or the number is not correct. | Check the card number in the request or the card token In case you are using card_id , this error means that the card_id is not part of or associated with the user you are using to create the /purchase . |
DP-4009 | ErrProcessorNotFound | The payment processor does not exist or is not enabled for the merchant | Check in Admin if the payment method is configured. |
DP-4011 | ErrMerchantStoreConfigNotFound | Merchant store configuration not found | Make sure the store code is correct. |
DP-4012 | ErrAlreadyExistsInDB | The payment or configuration processor already exists in the database | Verify the data before trying to add new records. |
DP-4013 | ErrPaymentProcessorNotFound | Payment processor not found | Check the processor data and make sure the identifier is valid. |
DP-4015 | ErrProcessorNotSupported | The payment processor does not support the operation | Make sure your processor supports the requested method. |
DP-4016 | ErrCannotFindOperations | The processor does not support the requested operation | Review processor capabilities to ensure compatibility with required operations. |
DP-4017 | ErrInvalidCard | Problems with the card provided | Verify that the card details are correct and that it is enabled for use. |
DP-4018 | ErrInvalidCaptureAmount | Attempt to capture an amount greater than authorized | Make sure the amount captured does not exceed what was originally authorized. |
DP-4019 | ErrTransactionInProcess | Transaction in process | Wait for the current transaction to complete before attempting another operation. |
DP-4020 | ErrTokenTransactionNotFoundRedis | Error retrieving transaction information | Check that the requested information exists. |
DP-4022 | ErrProcessorsNotSupportSplit | There are no processors that support split payments | Review your processor settings and make sure at least one allows split payments. |
DP-4023 | ErrMissingRecipientProcessors | Processors are missing or numbers of recipients and processors do not match | Make sure you configure all recipients and processors necessary to complete the operation. |
DP-4024 | ErrInvalidCredentials | Incorrect credentials in purchase transactions, authorization, etc. | Confirm that the processor credentials entered are valid. |
DP-4026 | ErrPurchase | Purchase transaction failure | Verify the transaction details and make sure the system is properly configured to process payments. |
DP-4027 | ErrAuthorize | Authorization transaction failure | Make sure the customer details are correct and the system supports the authorization method. |
DP-4028 | ErrCapture | Capture transaction failure | Confirm that the amount to be captured is valid and that the system supports the capture operation. |
DP-4029 | ErrVoid | Transaction void failure | Verify that the transaction is authorized and can be voided according to system policies. |
DP-4030 | ErrAuthenticationMissing | Documents or types of documents required for the transaction are missing | Be sure to provide the payer's document number or type |
DP-4031 | ErrNoProcessorForDynamicRouting | No rule found for dynamic routing | Configure appropriate dynamic routing rules to process the request correctly. |
DP-4033 | ErrVerifyOTP | Failed to verify OTP code | Resend the OTP code to the payer or request a new one if the old one has expired. |
DP-4034 | ErrWalletPayCredentialNotFound | No wallet payment method credentials found | Make sure the payer has set up their credentials correctly. |
DP-4035 | ErrInstallmentPlan | Payment plans were not generated | Verify that customer data and system configurations are correct to enable payment plans. |
DP-4043 | ErrCurrencyMismatch | No valid processor is available due to a currency mismatch. | Verify that the requested currency is supported by one of the merchant's configured payment processors before retrying the request. |
DP-4100 | ErrMissingCVV | Failure to enter security code (CVV) | Ask the payer to provide the CVV code to complete the transaction. |
DP-4101 | ErrInvalidCVV | The cvv is invalid | The CVV on the card is not correct, try a valid CVV. |
DP-4102 | ErrInvalidInstallments | Invalid installment number | Review the available installment options and confirm that they match those offered by the provider. |
DP-4103 | ErrInvalidTransactionAmount | Error with transaction amount | Confirm that the amount entered is correct and within the allowed limits. |
DP-4104 | ErrInstallmentsNotSupported | The provider does not support installment plans | Review that the payment processor supports installments or use another payment processor |
DP-4105 | ErrInstallmentsNotInstantiated | Error creating payment plans | Make sure the payment processor can create payment plans and that the necessary data is complete. |
DP-4200 | ErrInternalServerErrorPSP | The processor returned an internal error | Retry the transaction or try another payment processor |
DP-4210 | ErrGooglePayMessageExpired | Confirmation message has expired | Prompt the customer to restart the payment process. |
DP-4211 | ErrGooglePayInvalidSignature | Invalid signature in the payment process | Make sure your customer and payment details are correct before processing again. |
DP-4300 | ErrExpCard | Expiration date error | Validate the expiration date of the card |
DP-4301 | ErrIDUser | Identification number/type error | Validate the identification number or type of the payer. |
DP-4302 | ErrNameUser | Cardholder name error | Validate the cardholder’s name |
DP-4303 | ErrNumberCard | Card number error | Validate the card number. |
DP-4400 | ErrProcessing3DS | The 3DS windows cannot be started | Try again with another card or payment method |
DP-4500 | GenericUnclassifiedError | Generic error response with insufficient detail to determine whether the root cause is issuer, PSP, network, or validation related. | Review transaction logs and PSP raw response. Keep this code only when no reliable sub-classification is possible. |
DP-4501 | ContactIssuer | The issuer requires the cardholder to contact the bank before the transaction can proceed. The issuer returns a referral response indicating it needs direct confirmation from the cardholder before authorizing. | Inform the customer that their issuing bank requires them to call the number on the back of their card. Do not retry automatically, treat as non-retryable without explicit customer action. |
DP-4502 | TransactionNotPermitted | The transaction or payment method is not permitted for this card, customer, merchant, terminal, or channel based on issuer or network rules. | Do not retry unchanged. Validate payment channel and method restrictions for the card. Ask the customer to use a different card or contact their bank to confirm which transaction types are permitted. |
DP-4504 | IssuerOrNetworkUnavailable | The issuer, network switch, or authorization service is temporarily unavailable, offline, or not initialized for processing. | This is a transient condition. Retry after a short delay. If the error persists across multiple attempts, notify the customer and suggest retrying later or using an alternative payment method. |
DP-4507 | InvalidPinOrPassword | The cardholder entered an incorrect PIN or password during card verification. The PIN or cryptographic cardholder-verification value did not match the issuer record. | Ask the cardholder to re-enter their PIN carefully. This is not a lockout condition, the cardholder still has remaining attempts (see DP-9001 for exceeded-attempts lockout). If the cardholder has forgotten their PIN, they should contact their issuing bank. |
DP-4510 | PartialApproval | The issuer approved only a portion of the requested transaction amount, indicating it could not authorize the full amount. | Capture only the approved partial amount. Prompt the customer to cover the remaining balance using a second payment method. Do not retry with the original full amount. |
DP-4511 | SpecialApproval | The issuer or network approved the transaction under a special or non-standard authorization condition, such as V.I.P. exception processing. | Process the transaction as approved and log it for reconciliation. Review with the issuer if special approvals recur unexpectedly. |
DP-4520 | ClosedOrFrozenAccount | The bank account linked to the card is closed, frozen, suspended, or blocked and cannot accept new transactions. | This is a permanent condition. Inform the customer and ask them to use a different card or payment method. The customer must contact their bank to resolve the account status. Do not retry. |
DP-4521 | ReferralOrAuthorizationReview | The transaction requires referral, STIP/fallback stand-in authorization, or additional cryptogram and authorization review before a final approval or decline can be issued. | Follow the referral process indicated by the PSP. For STIP, apply the appropriate stand-in authorization logic. Cryptogram review referrals should be routed through the issuer verification flow. |
DP-4529 | InvalidOrUnsupportedAccountType | The source or destination bank account is invalid, does not exist, or is not supported for the requested operation. For example, incorrect account type (checking vs. savings) or the account number was not found. | Validate the account type and number. Ask the customer to confirm their account details or select the correct account type. If the error persists, the customer should contact their bank. |
DP-4547 | InternationalTransactionRestriction | The card does not allow international transactions, or the transaction was rejected because a domestic card was used in a cross-border context not permitted by the issuer. | Ask the customer to use a card enabled for international transactions, or advise them to contact their issuing bank to enable international usage. Do not retry with the same card. |
DP-4548 | CreditDebitFunctionMismatch | The transaction was submitted using the wrong payment function for the card type. For example, the credit function was used for a debit-only card, or vice versa. | Retry the transaction selecting the correct function (credit or debit) as indicated by the PSP response. The customer may need to explicitly select the correct card type at the point of interaction. |
DP-4550 | HsmKeyOrCryptographicModuleError | The PSP's Hardware Security Module (HSM) or a cryptographic key module reported an internal error that prevented secure processing of the transaction. | This is a PSP infrastructure issue, not a cardholder error. Do not retry immediately. Monitor for recurrence; if the error is sustained, escalate to the PSP's technical team. |
DP-4551 | EmvCryptogramOrChipValidationFailed | Validation of EMV chip data, the transaction cryptogram, or chip-related fields (ATC, CVR, TVR) failed at the PSP or issuer level. | Ask the customer to retry the chip transaction. If the error persists, request an alternative payment method. The issue may indicate a chip defect or card incompatibility with the terminal. |
DP-4552 | PinBlockOrPasswordEncryptionError | The PIN block format is invalid, the encryption of the cardholder's PIN is incorrect, or the PIN could not be validated by the PSP's encryption infrastructure. | This is a terminal or integration configuration issue, not a cardholder error. Verify PIN block format compatibility with the PSP and ensure encryption keys are correctly synchronized. |
DP-4562 | OperationDeadlineExceeded | The requested operation (capture, refund, or cancellation) was submitted outside the allowed time window or after the authorization or transaction deadline has passed. | Do not retry the expired operation. For captures submitted after the authorization window has closed, a new authorization is required. Review deadline and settlement window policies with the PSP. |
DP-5001 | ErrNotImplemented | Payment method not configured | Validate the configuration of the payment method. |
DP-5002 | ErrDB | The transaction could not be found or there was a problem with the Database connection | Validate the transaction ID and try again later. |
DP-5003 | ErrDynamicRouting | Request to dynamic routing service failed | Review your routing configuration to ensure that the rules are correct and applicable. |
DP-5004 | ErrFraudEvaluate | The fraud evaluation for the transaction has failed most likely due to missing parameters | Review the parameters requested for the processor |
DP-5005 | ErrReview | Transaction review failure | Confirm that the transaction data is correct. |
DP-5006 | ErrInitialGateway | Failed to start a new gateway | Ensure that the gateway configurations are correct and that it is available for use. |
DP-6000 | ErrRequestAlreadyProcessed | The request is already processed or is in progress. | Do not retry this request. The transaction has already been processed. Look up the existing transaction using the original reference ID to confirm the outcome. |
DP-6001 | ErrCannotUpdateTransaction | Cannot update transaction | Retry the request to update the transaction |
DP-6002 | ErrCannotFindTransaction | The transaction was not found | Validate the transaction ID and retry. |
DP-6003 | ErrUnknownPayment | The transaction may not have been approved | Make another transaction or try with another payment processor |
DP-6004 | ErrCannotFindOrCreateTransaction | The transaction could not be found or created. | Make another transaction or try with another payment processor |
DP-6005 | ErrDuplicateRefund | The transaction has already been rejected or refunded | Please check the current status of the transaction before attempting a refund. |
DP-6006 | ErrUnknownVoid | The transaction has already been rejected or voided | Please check the current status of the transaction before attempting a capture. |
DP-6007 | ErrUnknownCapture | Failed to capture transaction | Please check the current status of the transaction before attempting a capture. |
DP-6008 | ErrRefund | Refund transaction failure | Review the reasons for the refund failure returned by the processor. |
DP-6009 | ErrCannotUpdatePartialRefund | Failure to update a partial refund | Make sure the partial refund parameters are correct and supported by your processor. |
DP-6010 | ErrCannotFindPartialRefund | Failure to find a partial refund | Review the data and try again |
DP-6011 | ErrOperationDisabled | The payment processor configuration does not allow this operation, or the recurring/subscription payment service has been suspended by the cardholder or issuer. | Make another operation or try with another payment processor |
DP-7000 | ErrCreditCardDisabled | Credit card disabled. | The cardholder must contact their issuing bank to reactivate or unblock the card. Do not retry with the same card until the block is resolved. |
DP-7011 | ErrWaitingOTP | The transaction is waiting for the OTP code. | Wait until you receive the OTP code to complete the transaction. |
DP-7012 | ErrFailureOTP | The OTP code sent is not correct. | Review the code and try again or request a new code. |
DP-7022 | ErrCardVault | The card number cannot be retrieved, is incorrect or is on the fraud list. | Try with another card or token. |
DP-7023 | ErrSistecreditoPayment | The payment creation with SISCREDITO has failed | Review the information and make a new payment |
DP-7024 | ErrUserNotFoundOrInvalid | Invalid or non-existent user data (e.g., phone number, etc.) | Verify the user data format and ensure the user exists in the system. |
DP-7100 | ErrWorkflowPurchase | Error when trying to create a transaction or tokenize a card due to missing parameters. | Review the required fields of the payload. |
DP-7101 | ErrWorkflowAuthorize | Error performing an authorization transaction | Make sure the transaction details are correct and retry the transaction. |
DP-7102 | ErrWorkflowCapture | Error performing a capture transaction | Verify that the funds have been authorized before attempting to capture them. |
DP-7103 | ErrWorkflowVoid | Error when performing a void transaction | Confirm that the transaction is eligible to be voided and verify the processor details. |
DP-7104 | ErrWorkflowRefund | Error when completing a refund transaction | Review that the refund parameters are correct. |
DP-7105 | ErrWorkflowGetTransation | Error getting or reviewing a transaction | Make sure the transaction IDs are valid and the processor is available. |
DP-7106 | ErrWorkflowBankList | Error when making a bank list request | Verify that the processor service is operational and retry the operation. |
DP-7107 | ErrSettlementValidation | Cannot execute a capture, void or refund once the transaction is in settlement process. | Wait until the settlement process finishes or perform this type of transaction through the asynchronous v2 and automatically proceed to execute the desired transaction once the settlement is finished. |
DP-7108 | ErrWorkflowInstallmentPlan | Error when making an installment plan request | Confirm that the payment processor supports installments and that the parameters are valid. |
DP-7109 | ErrWorkflowCancelOrder | Failure when trying to cancel an order | Make sure the order is cancelable. |
DP-7110 | ErrWorkflowReversal | Error when completing a reversal operation | Verify that the request is properly formatted and the original transaction is eligible for reversal. |
DP-7111 | ErrExpiredCard | The card has expired and cannot be used to complete the transaction. | Verify that the card expiration date is valid or use a different card before retrying the payment. |
DP-8000 | ErrCannotGenerateQR | Cannot generate the QR code | Validate that the parameters to create the QR code are correct and complete. |
DP-8001 | ErrFraudValidation | The processor returned a possible fraud error. | Review the parameters requested for the processor |
DP-8002 | ErrFraudSystemConn | The anti-fraud system is unavailable or the connection to the fraud evaluation module failed during transaction processing. | Retry the transaction after a short delay. If the anti-fraud system remains unreachable, check the PSP's fraud service status and review integration connectivity. |
DP-9000 | ErrInsufficientFunds => ErrT1PagosRefund | There are no funds in the account to complete the operation | Validate your account funds and try again later. |
DP-9001 | ErrMaxAttemps => ErrT1PagosVoid | The limit of attempts or allowed amount for the operation has been reached. | Do not retry with the same card and PIN. The cardholder should contact their bank to unblock the PIN or use an alternative payment method. |
DP-9999 | ErrUnknown | Generic error | Unknown error, please make a new request or contact support. |
DP-10000 | ErrContextCanceled | The operation was canceled due to a timeout or execution context termination. | Review timeout settings, optimize workload performance, and configure retry logic for transient issues. |
DP-10001 | Err3DSVerifySupport | Problems processing 3DS related data | Verify that the information submitted is complete and correct. Make sure the settings are up to date. |
DP-10002 | PayerAuthenticationRequiredOrFailed | Strong customer authentication or payer authentication was required, bypassed, unavailable, or failed. | Retry through an authentication-capable flow or validate authentication configuration. |
DP-10003 | Err3DSRequiredChallenge | 3DS challenge required error | Try again with another card or payment method. |
DP-10004 | Err3DSGetStatus | Error checking 3DS status | Try again with another card or payment method. |
DP-10005 | Err3DSPurchase | Error when making purchases with 3DS | Try again with another card or payment method. |
DP-10024 | ErrManualReview | Error getting manual review status for a transaction | Confirm the transaction information. |
DP-10025 | Err3DSChallengeFailed | Payment service provider responds with failure in 3DS challenge | Try again with another card or payment method. |
DP-11000 | ErrRequestTimeout | The request exceeded the maximum allowed time and timed out before receiving a response. | Increase request timeout thresholds, ensure the target service is responsive, and optimize the request payload or logic to reduce latency. |
DPEC-000 | PaymentMessage000 | Content response failed when completing a transaction | Confirm that the transaction details are correct and that there are no problems communicating with the processor. |
Merchant order responses
Errors returned while validating merchant order, fulfillment and coupon responses.
| Error code | Error type | Cause | Recommended action |
|---|---|---|---|
EM-1000 | WithoutPaymentError | Failed to verify OTP code | Make sure the OTP code is valid and retry the operation. |
EM-1001 | WithoutOrderIdError | Order ID is missing | Provide a valid order ID in the request and verify that it is not empty. |
EM-1002 | OrderNotExist | The order does not exist | Review the order identifier and confirm that it is registered in the system. |
EM-1003 | WithoutPaymentMethodError | Payment method is missing | Set up a valid payment method to complete the transaction. |
EM-1004 | OrderWithoutPaymentMethod | The order does not have a payment method assigned | Make sure a payment method is associated with the order before proceeding. |
EM-1005 | PaymentNotConfigured | Payment method is not configured | Verify that the payment method is enabled and correctly configured. |
EM-1006 | OrderWithoutStoreCode | The order exists but there is not a store assigned to it | Provide the appropriate store code to continue the transaction. |
EM-2000 | WithoutOrdenToken | Order token is missing when calculating the price | Provide a valid token and retry the operation. |
EM-2001 | MissingParameters | Parameters are missing in the request to calculate the shipping | Review and complete the required parameters in the request before submitting it. |
EM-3000 | CannotBeProcessed | Failed to canceled the transaction | Review the transaction data before trying again. |
EM-4000 | WithoutCoverage | Dispatch location outside coverage area | Check the latitude and longitude of the shipping method and see if it is within the coverage area. |
EM-4001 | ClosedStore | Closed shop | Check store hours and verify that it is open. |
EM-4002 | OutOfStock | The requested item is not available in inventory | Review inventory levels and adjust product availability in the system. |
EM-5000 | MerchantUnknown | Unknown error | Unknown merchant error. Retry the request. If the problem persists, contact support with the full error details. |
EM-6000 | CuponNotFound | Coupon not found | Verify that the coupon code is in the allowed format and try again. |
EM-6001 | CuponNotApplicable | The coupon is expired or does not exist. | Check that the coupon code is valid, has not expired, and is still active. |
EM-6002 | CuponAlreadyUsed | The Coupon is already used | Check the limit of uses of the coupon or if it is a unique coupon. |
EM-6003 | CuponAlreadyUsedInOrder | The coupon has been applied to the order | Verify whether the coupon has already been applied to the order using the get order by token method. |
EM-9998 | MerchantInternalError | Internal trade error | Internal error, please make a new request. |
EM-9999 | MerchantUnknown | The merchant identifier is not present in the request | Make sure to include the merchant identifier in the request or review the structure of the data sent. |
Anti-fraud
Stable fraud-evaluation errors returned with payment and order operations.
| Error code | Error type | Cause | Recommended action |
|---|---|---|---|
FRD-7000 | FraudCodeScoreAndWorkflow | The fraud evaluation for the transaction has failed. Score was higher than the max score allowed and transaction stopped by the workflow | Retry the transaction or try another payment method |
Handling errors#
- Branch on
error.code; logrequest_id. - Retry
5xxand429with backoff and the sameIdempotency-Key. - Never retry
400,401or402unchanged.