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.
| Reason | When it occurs |
|---|---|
InsufficientFunds | Ledger debit failed at creation — source account balance too low. |
ConversionFailed | Foreign exchange (FX) conversion was cancelled by the vendor. |
QuoteExpired | The quote was not used before its expiry time. |
QuoteAlreadyUsed | The quote had already been consumed by another payment. |
QuoteAccountMismatch | The account on the payment does not match the quote. |
QuoteCounterpartyMismatch | The counterparty on the payment does not match the quote. |
CounterpartyAccountMismatch | The counterparty's destination currency does not match the quote's destination currency. |
ComplianceRejection | Remittance rejected due to a compliance check by the vendor. |
RfiTimeout | Required additional information was not submitted in time. |
AccountClosed | The source account was closed. |
AccountFrozen | The source account was frozen. |
DacaIsActive | A DACA (Deposit Account Control Agreement) is active on the source account. |
Other | Any 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.
| Reason | When it occurs |
|---|---|
BeneficiaryAccountClosed | The beneficiary account was closed after the payment was sent. |
InvalidBeneficiaryAccount | The beneficiary account number is invalid or does not exist. |
BeneficiaryAccountFrozen | The beneficiary account is frozen or blocked. |
IncorrectBeneficiaryDetails | The beneficiary name or other details on the payment don't match the account on file. |
BeneficiaryBankRejected | The beneficiary's bank rejected the payment. |
BeneficiaryComplianceHold | The beneficiary's bank returned the payment due to a compliance check. |
DuplicatePayment | The payment was identified as a duplicate. |
Other | Any other reason; a descriptive string is provided in the returnReason field. |