Payment refused errors and how to resolve them
This section outlines some of the most common payment_refused errors encountered during payment processing via the Demand API. Each error includes its description, example (if applicable), likely causes, and recommended solutions.
General payment_refused error
This guide details specific errors related to payment being refused and therefore failured, which are returned with the corresponding message.
payment_refused
Name: Payment refused
Description:
- This is a generic error returned when the Payment Service Provider (PSP) does not disclose the specific reason for declining the transaction.
Solution- In such cases, contact the issuing bank for more information regarding the refusal.
Specific payment_refused errors
Fraud
Name: Payment refused - fraud
Description:
This error is equivalent to payment-related fraud in V2. In earlier versions of the API, the vague message "Book process failed" was used in such cases, which may still be returned for some transactions.
The primary causes of this error could be:
Rejection by the PSP based on fraud detection systems (this is the most frequent cause).
Rejection due to the use of CC_NO SCA payment method, which is applicable only to a small group of partners.
Solution - Contact the PSP to investigate the fraud trigger and obtain further details.
insufficient_funds
Name: Payment refused - Insufficient funds
Description:
- This is an error returned by the payment service provider (PSP).
- It means the customer’s card doesn’t have enough balance to cover the charge at the time of the transaction – subsequent attempts at a later date may be successful.
Example response:
{
"request_id": "01gw7p7mp43dccs5zje3gezwkc",
"errors": [
{
"id": "insufficient_funds",
"message": "Payment could not be processed: There is insufficient funds on the credit card used to book."
}
]
}
Solution - Ask the user to ensure sufficient funds are available or choose an alternative payment method.
budget_overflow
Name: Payment refused - Budget overflow
Description:
- The transaction exceeds the budget or credit limit associated with the card.
Solution - Confirm the card’s spending limit and retry with a valid payment method.
card_is_expired
Name: Payment refused - Card is expired
Description:
- The credit card provided is no longer valid due to an expired expiry date.
Solution - Use a different card with a valid expiry date.
card_status_invalid
Name: Payment refused - Card status is invalid
Description:
- This message usually appears when the issuer or cardholder has put a restriction on the card.
Example response:
{
"request_id": "01gw7p7mp43dccs5zje3gezwkc",
"errors": [
{
"id": "card_status_invalid",
"message": "Payment could not be processed: Payment collection failed."
}
]
}
Solution - The cardholder must contact their issuing bank for further clarification.
invalid_card_number
Name: Payment refused - Invalid card number
Description:
- The provided credit card number is invalid.
Solution - Double-check the card number for accuracy, ensuring it matches the correct format.
invalid_amount
Name: Payment refused - Invalid amount
Description: This error is returned by Booking.com when the amount to be captured is invalid. It usually indicates:
It typically means the authorised amount (the amount approved for the charge) is less than the amount that needs to be captured.
In rare cases, it can also occur if the authorised amount is more than the expected capture amount.
This error usually happens due to:
Rounding issues or configuration bugs.
A mismatch between the price shown in orders/preview and the final price sent in orders/create — for example, if the price changed between the two steps.
Example:
{
"request_id": "01gw7p7mp43dccs5zje3gezwkc",
"errors": [
{
"id": "invalid_amount",
"message": "Payment could not be processed: The amount to be charged is invalid."
}
]
}
Solution - Verify that the amount being charged matches the expected value and format.
invalid_payment_method
Name: Payment refused - Invalid payment method
Description:
- The provided payment method is invalid or unsupported.
- Example of error response:
{
"request_id": "01gw7p7mp43dccs5zje3gezwkc",
"errors": [
{
"id": "invalid_parameter",
"message": "Parameter 'payment.method' is invalid."
}
]
}
Solution - Check the payment methods documentation and ensure the specified method is supported.
issuer_cvc_check_failed
Name: Payment refused - Issuer CVC check failed
Description:
- The Card Verification Code (CVC) provided with the payment is invalid, and the issuer rejected it.
Solution - Verify that the correct CVC is entered and that it matches the one on the credit card.
withdrawal_amount_exceeded
Name: Payment refused - Withdrawal amount exceeded
Description:
- The requested payment amount exceeds the limit allowed by the credit card.
Solution - Check the withdrawal limit for the card and adjust the payment amount accordingly.
withdrawal_count_exceeded
Name: Payment refused - Withdrawal count exceeded
Description:
- The credit card used for booking has already been charged too many times, exceeding the allowable number of withdrawals.
Solution - Use a different card or contact the bank to discuss increasing the withdrawal limit.
psp_card_is_blocked
Name: Payment refused - PSP card is blocked
Description:
- The Payment Service Provider (PSP) has blocked the credit card used for the transaction.
Solution - Contact the PSP or bank to resolve the card blockage issue.
sca_required
Name: Payment refused - SCA Required
Description:
- Strong Customer Authentication (SCA) is required for the payment, but the provided authentication is either invalid or incomplete.
This error does not necessarily mean that SCA was not provided, as it may also occur if the SCA tokens are invalid.
Solution - Ensure that SCA data is provided correctly during the transaction process. If the issue persists, contact the PSP or payment provider.
Related topics
For additional information on supported payment methods, use cases, and guidance on creating order requests, refer to:
For more generic, not-payment related errors refer to the Client error codes and examples.