Rejected and returned payments reason codes
Rejection Reasons
Outgoing payments can be rejected for a number of reasons. Rejections can occur either during initial validation or after the payment has been processed in our core system.
A payment may be rejected if it remains in the MissingFunding
state for two days or if any fields contain invalid values.
To determine the rejection reason, use either the GET/api/v1/payments/singles
or GET/api/v1/payments/singles/{payment-id}
endpoint to retrieve the payment details and view the rejection reason.
The following example shows the response format from these endpoints, where the rejection reason is provided in the errors
field:
{
"paymentId": "690a72db-aa73-4d48-974b-7b26abdcd164",
"transactionReference": "TRANS221122323",
"concurrencyToken": "1638789624",
"classification": "Outgoing",
"status": "Rejected",
"errors": "InvalidAccountFormat"
}
To retrieve rejected payments and their reasons for a specific bulk file, use the GET/api/v1/payments/singles
endpoint with filters for PaymentBulkId
and Status
.
Below is a comprehensive list of possible rejection reasons with their explanations. This list includes both upfront validation errors and processing errors.
Error code | Error description |
---|---|
InvalidDebtorAccount | Access to the selected debtor account is not authorized or the account does not exist |
CreatePaymentWithAdhocCreditorPermissionViolation | Authorization to instruct payment with ad hoc creditor from selected debtor account is missing |
BulkPaymentCreatePermissionViolation | Authorization to instruct payment from selected debtor account is missing |
CreateOwnPaymentPermissionViolation | Authorization to instruct own payment from selected debtor account is missing |
CreateOutgoingPaymentPermissionViolation | Authorization to instruct outgoing payment from selected debtor account is missing |
MandatoryMissing | Required field is empty |
InvalidAmountLength | Number of characters exceeds maximum allowed length |
InvalidAmountFormat | Amount format is invalid |
InvalidAmountPrecisionForCurrency | Number of decimal places is not supported by the currency |
MaxEurThresholdViolation | Amount exceeds maximum allowed value |
MinEurThresholdViolation | Amount is below minimum allowed value |
InvalidAmountZero | Amount must be greater than zero |
UserAmountLimitViolation | Outgoing transfer amount exceeds threshold limit |
InvalidCurrency | Currency code is not supported or invalid |
InvalidDateFormat | Date format is not supported |
RequestedExecutionDateDaysInPastThresholdViolation | Requested execution date exceeds allowed number of days in the past |
RequestedExecutionDateDaysInFutureThresholdViolation | Requested execution date exceeds allowed number of days in the future |
InvalidIbanChecksum | IBAN checksum is invalid |
InvalidAccountFormat | Account format is not supported |
InvalidDebtorVibanRelation | Virtual IBAN cannot be found |
InvalidBankingCircleAccount | Account is not registered with Banking Circle |
InvalidExternalAccount | Creditor account format is invalid; only IBAN is allowed |
InvalidTransferDebitAndCreditToSameAccount | Debit and credit accounts must be different |
InvalidFinancialInstitution | BIC or clearing code format is invalid |
ForbiddenTransferToCountry | Creditor financial institution is located in an unsupported country |
InvalidAccountAndFinancialInstitutionCombination | IBAN and financial institution combination is invalid |
InvalidLength | Number of characters exceeds maximum allowed length |
InvalidChargeBearer | Charge bearer code is not supported |
InvalidDebtorViban | Virtual IBAN cannot be found |
InvalidCharacters | CPF field validation failed |
ProcessingError | An error occurred while processing the payment |
DuplicateFileUpload | An identical file has already been uploaded by this user |
Returned Reasons
For a comprehensive list of returned payment reason codes, please refer to our Support Documentation.
Updated about 2 months ago