Plaid logo
Docs
ALL DOCS

Transfer

  • Transfer Overview
  • Transfer Application
  • Plaid Ledger flow of funds
  • Creating transfers
  • Monitoring transfers
  • Transfer Dashboard
  • Refunds
  • Recurring transfers
  • Transfer UI
  • Platform Payments
  • Errors and returns
  • Testing in Sandbox
  • Glossary
Plaid logo
Docs
Close search modal
Ask Bill!
Ask Bill!
Hi! I'm Bill! You can ask me all about the Plaid API. Try asking questions like:
  • Do access tokens expire?
  • Can you show code for getting transactions in Python?
  • Why is /transactions/sync/ better than /get?
Note: Bill isn't perfect. He's just a robot platypus that reads our docs for fun. You should treat his answers with the same healthy skepticism you might treat any other answer on the internet. This chat may be logged for quality and training purposes. Please don't send Bill any PII -- he's scared of intimacy. All chats with Bill are subject to Plaid's Privacy Policy.
Plaid.com
Log in
Get API Keys
Open nav

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 or the Plaid Dashboard transfer details pane 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.

Plaid Dashboard UI to initiate a refund.
Initiate refunds from the Plaid Dashboard UI.

You can create multiple refunds for a transfer as long as the total amount does not exceed the amount of the original transfer.

Refunds come out of the available balance of the ledger used for the original debit transfer. 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 at any time. Plaid does not impose any hold time on refunds.

If you issue a refund for a debit transfer within 2 business days of the settlement date of the original debit transfer, the debit could still return for insufficient funds. Debits to consumers can also return as “unauthorized” for up to 60 calendar days.

If a debit transfer that you have refunded is later returned by the payment network, you may be debited for both the return and for the refund. Plaid will not reimburse you for these costs.

Transfers in a cancelled, failed, or returned state cannot be refunded.

Canceling a refund

Use /transfer/refund/cancel or the Dashboard 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.

Was this helpful?
Developer community
GitHub
GitHub
Stack Overflow
Stack Overflow
YouTube
YouTube
Discord
Discord