Skip to main content

Rejections & Returns Coming Soon

Early preview

Crossborder payments are coming soon. This preview gives you an early look at the expected experience so you can begin planning your integration.

Rejection Reasons

Crossborder payments may be rejected at any stage. When a payment is rejected, the payment.rejected webhook event fires and rejectionReason is populated on the payment resource.

ReasonWhen it occurs
InsufficientFundsLedger debit failed at creation — source account balance too low.
ConversionFailedForeign exchange (FX) conversion was cancelled by the vendor.
QuoteExpiredThe quote was not used before its expiry time.
QuoteAlreadyUsedThe quote had already been consumed by another payment.
QuoteAccountMismatchThe account on the payment does not match the quote.
QuoteCounterpartyMismatchThe counterparty on the payment does not match the quote.
CounterpartyAccountMismatchThe counterparty's destination currency does not match the quote's destination currency.
ComplianceRejectionRemittance rejected due to a compliance check by the vendor.
RfiTimeoutRequired additional information was not submitted in time.
AccountClosedThe source account was closed.
AccountFrozenThe source account was frozen.
DacaIsActiveA DACA (Deposit Account Control Agreement) is active on the source account.
OtherAny other reason; a descriptive string is provided in the rejectionReason field.

Return Reasons

Crossborder payments may also be returned by the beneficiary bank after they've already been sent or completed. When this happens, the payment moves to Returned status, the payment.returned webhook event fires, and one of the reasons below is populated on returnReason.

ReasonWhen it occurs
BeneficiaryAccountClosedThe beneficiary account was closed after the payment was sent.
InvalidBeneficiaryAccountThe beneficiary account number is invalid or does not exist.
BeneficiaryAccountFrozenThe beneficiary account is frozen or blocked.
IncorrectBeneficiaryDetailsThe beneficiary name or other details on the payment don't match the account on file.
BeneficiaryBankRejectedThe beneficiary's bank rejected the payment.
BeneficiaryComplianceHoldThe beneficiary's bank returned the payment due to a compliance check.
DuplicatePaymentThe payment was identified as a duplicate.
OtherAny other reason; a descriptive string is provided in the returnReason field.