Refunds
Issue a refund for an ACH debit
Refunds allow you to quickly and easily refund customers for ACH debit transfers.
Creating a refund
Use /transfer/refund/create
to create a refund for a debit transfer. Pass the ID of the transfer you'd like to refund as transfer_id
in the request, and specify the amount of the refund with the amount
field. The amount of a refund can't exceed the amount of the refunded transfer.
You can also initiate a refund directly with the Plaid Dashboard.
Refunds come out of the Plaid Ledger's available balance. If there are not enough funds in the available balance to cover the refund amount, the refund will be rejected.
You can create a refund for a transfer at any time. Plaid will wait to submit the refund to the ACH network until four days after the original transfer has settled. This operates as a grace period to protect you from the original transfer being returned. (The status of the refund will remain pending
during this time.) If the refunded transfer is failed, canceled, or returned before the refund is submitted to the ACH network, we will automatically cancel the refund.
Canceling a refund
Use /transfer/refund/cancel
to cancel a refund. You can only cancel refunds before they've been submitted to the ACH network for processing.
Refund events
Plaid creates an event any time the status of a refund changes. Refund events are prefixed with refund.
and have a non-null refund_id
in the event object. See event monitoring for more information on monitoring events.
Refund events will have many of the same characteristics as the original payment. They will have the same account_id
, as well as having the same transfer_type
and a positive transfer amount. For example, if you were to refund $5 from a customer's debit
transfer of $100.00, that refund will be displayed in the events queue with a debit
transfer type and a "5.00"
transfer amount.
End user-initiated returns
If an end user claims that a transaction is unauthorized and initiates a return request, their bank may contact Plaid to request a Proof of Authorization (POA). POA requests will only ever be sent to Plaid, and not directly to you. Plaid will then contact you to request any additional information needed.
When making debit transactions, it is important to collect and store POA for NACHA compliance and to dispute return requests if necessary. Transfer UI contains a built-in flow that captures NACHA-compliant POA. If not using Transfer UI, you must collect your own POA. For more details on best practices for collecting and storing POA, see NACHA guidance.