Transfer failures

This guide explains different transfer failure scenarios and how Moov handles them.

In an ideal world, every transfer initiated in Moov’s platform would complete seamlessly as expected. However, there are instances in which transfers fail. Moov will provide the failure reason through the API, but you also have the ability to set up webhooks to be notified when a transfer fails.

Transfer failures

A transfer’s status changes from pending to failed if the funds don’t reach their intended destination. A transfer could fail for a few reasons:

  • The source account (bank account or linked card) does not have sufficient funds for the amount of the transfer
  • The source account or transfer recipient closed their account (bank account or linked card) so it no longer exists
  • The issuer of the linked card denies the transfer attempt for a number of reasons (see the declines guide)
  • An phone number or email was reused when linking a card (these must be unique to each cardholder)
A transfer’s status can change from pending to failed within 2 business days of when it was initiated.

Failure reasons

When a transfer fails, we communicate the reason for the transfer failure through the failureReason field in API response for a get a transfer request. See a list of possible failure reasons below:

Status Description
source-payment-error A failure occurred at the source. The failure code is provided in the rail details under the source object
destination-payment-error A failure occurred at the destination. The failure code is provided in the rail details under the destination object
wallet-insufficient-funds Transfer failed due to insufficient funds in the source wallet
rejected-high-risk Transfer was flagged with potential fraud and rejected by Moov
processing-error Moov encountered an unexpected error processing the transfer

Transfer reversals

A transfer’s status changes from completed to reversed if the funds made it to the destination, but need to be returned. A reversal scenario can occur when:

  • A fraudulent, unauthorized, or unrecognized charge was made
  • Someone used the wrong bank details to pay for goods or services

In the case of a reversal, Moov routes the funds back to the party that made an unintentional payment or was accidentally/fraudulently charged. To accomplish this, we deduct from the Moov wallet of the account that received the funds. The recipient of a transfer that’s being reversed is responsible for funding the wallet to cover the negative balance.

A transfer’s status can change from completed to reversed within 60 calendar days of when it was initiated.

Setting up webhooks for transfer status updates

Every transfer status change is an event in Moov, so you can set up webhooks to stay updated on whether or not a transfer has failed. See our webhooks guide to learn more.