Payment rejection and Error Scenarios

In response to an invalid link request, or if there is an error getting a direct-link from the bank, an error code and description will be returned according to the following mapping:

Error codeDescriptionAction
1005 INVALID_JWTThe JWT is expired, malformed, or signed with the wrong key.Decode the JWT, confirm the payload formatting, regenerate it with a fresh RS512 signature, and retry. Escalate to Feezback if it still fails.
1006Creditor account is not whitelisted.Contact Feezback to whitelist the creditor account.
400 INVALID_PAYMENT_PAYLOADA required payment field is missing or invalid.Fix the field named in the error message and resubmit.
400 IBAN_IS_NOT_WHITELISTEDCreditor account is not approved for production.Contact Feezback.
424 ASPSP_ERROR
(Relevant for seamless links only)
The request passed Feezback validation but was rejected by the bank.Contact Feezback with the payment ID and exact timestamp.
500 PAYMENT_REQUEST_FAILEDConnection error.Retry. Escalate if the error persists.

Payload examples

400: INVALID_PAYMENT_PAYLOAD:

{"error": {"code": "INVALID_PAYMENT_PAYLOAD", "message": "Value error, Provide 'corporateId' for corporate 'accountType'"}, "meta": null}

{"error": {"code": "INVALID_PAYMENT_PAYLOAD", "message": "Missing or invalid values format: ['idValue']"}, "meta": null}

400: IBAN_IS_NOT_WHITELISTED:

<br />{"error": {"code": "IBAN_IS_NOT_WHITELISTED", "message": "Creditor account is not whitelisted"}, "meta": null}

424: ASPSP_ERROR:

{"error": {"code": "ASPSP_ERROR", "message": "Failed to initiate payment on the bank side"}, "meta": null}

500: PAYMENT_REQUEST_FAILED:

{"error": {"code": "ASPSP_ERROR", "message": "Failed to create bulk payment"}, "meta": null}


Errors when redirecting back from the bank (relevant for seamless links)

When the user is redirected back from the bank app, if an error occurs in the process, the redirectFailure url will includ error params according to the following:

Error valueMeaning
'payment_error'Indicates an issue specific to the payment request itself, such as:
  • Insufficient funds in the payer's account
  • Payment rejection by the bank due to fraud detection
  • Invalid beneficiary details (e.g., incorrect IBAN)
  • Currency mismatch issues
‘server_error’Points to a technical issue on the bank’s or third-party provider’s (TPP) server, such as:
  1. Temporary unavailability of the payment processing service
  2. Unexpected downtime or API outage
  3. Internal server errors (e.g., HTTP 500 responses).
'general_error'A non-specific error that doesn’t fall into the predefined categories. This is often used as a fallback for unclassified errors.
'access_denied'The user or system is not authorized to perform the payment action, caused by:
  • Missing or revoked user consent
  • Authentication failures (e.g., Strong Customer Authentication (SCA) failure)
  • Permissions not granted for the PIS provider
 
'invalid_request'Indicates that the payment request was malformed or contained invalid parameters, such as:
  1. Incorrect API request format
  2. Missing required fields (e.g., no payment amount specified)
  3. Unsupported payment type or method

Debtor account number validation errors

We recommend using our account number validation API when collecting the account number from your debtor:

  • Get an API authentication token
  • Make a POST request to the following endpoint: POST /tpp/v1/validation/account
    • Use the authorization token in the header
    • Include the account number you want to validate in the request body (send IBAN or BBAN)
{“iban”: “…”}
--or
{“bban”: “…”}

  • The response will include an indication regarding the account number validity:
    {“isValid”: true}
    --or
    {“isValid”: false}
    
    • If true: the account number is valid
    • If false: the account number is not valid

Bank technical issues

Supported banks may experience technical issues or limitations.

Check the live ASPSP issues feed before creating a payment link.

GET https://fb.feezback.cloud/aspsp_issues.json

If the payer’s bank has a known outage, avoid sending the payer into a flow that is likely to fail.

The JSON contains a list of all aspsps and data regarding any active issues with their PIS/AIS services (PIS for payment services, AIS for data services).
For each aspsp you will get an error indication per platform, with the following data:

  • “is_enabled”
    • Boolean field.
    • If true: the aspsp has an active issue notice.
  • platform”: The platform where the issue occurs: desktop/android/iOS
  • message”: a message describing to issue. This message is intended for the users to understand what is the current issue and how to resolve it.
  • severity“: Severity issue level:
    • Info: the service is available with limitations
    • critical: out of service.

Did this page help you?