Discover new features and improvements to Moov.

Card dispute resolution, failure reasons, and webhook updates

Card disputes

We have updated the status field on disputes objects. Pre-disputes resolved by Visa’s rapid dispute resolution will have the resolved status, while all other disputes have status response-needed status.

We have added the respondBy field added to disputes object. The date in the respondBy field should be must be presented to the merchant as the last day they are able to submit evidence to fight a chargeback. Read more about disputes in our documentation.

The networkReasonCode field for a dispute in the transfers endpoint will now return an empty string, and will be fully deprecated on January 21, 2023. The network code is still available via the GET dispute endpoint.

Failure reasons

When a transfer fails, we will now communicate the reason for the failure through the failureReason field in API response for a GET transfer. The failureReason field provides context so our platform partners can understand why a transfer failure happened and determine what next steps to take. To see more information on the reasons and descriptions, view our guide on failures. Please note, card and ACH specific failure codes are still available under the source and destination objects.

Webhook events

The availableBalance field on the balance.updated webhook event is deprecated. If you need to retrieve the available balance for a wallet, you can use the GET wallet endpoint.

We’ve made some updates that allow us to send webhook events faster. However, because we are prioritizing speed, we can no longer guarantee ordering on the walletTransaction.updated webhook event.


Moov is constantly improving. Subscribe to our changelog to find out what's new every two weeks.