Create a refund
POST /transfer/refund/create
Use the /transfer/refund/create endpoint to create a refund for a transfer. A transfer can be refunded if the transfer was initiated in the past 180 days.
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.
A refund can still be issued even if the Item's access_token is no longer valid (e.g. if the user revoked OAuth consent or the Item was deleted via /item/remove), as long as the account and routing number pair used to make the original transaction is still valid. A refund cannot be issued if the Item has an invalidated TAN, which can occur at Chase or PNC.
Request Body
Required
Defines the request schema for /transfer/refund/create
Parameters
client_id
client_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.
secret
secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.
transfer_id
amount
idempotency_key
Response
Defines the response schema for /transfer/refund/create
Response Properties
refund
id
transfer_id
amount
status
pending: A new refund was created; it is in the pending state.
posted: The refund has been successfully submitted to the payment network.
settled: Credits have been refunded to the Plaid linked account.
cancelled: The refund was cancelled by the client.
failed: The refund has failed.
returned: The refund was returned.
failure_reason
"failed" or "returned". Null value otherwise.
failure_code
R01. A failure code will be provided if and only if the refund status is returned. See ACH return codes for a full listing of ACH return codes and RTP/RfP error codes for RTP error codes.
ach_return_code
R01. A return code will be provided if and only if the refund status is returned. For a full listing of ACH return codes, see Transfer errors. This field is deprecated in favor of the more versatile failure_code, which encompasses non-ACH failure codes as well.
description
ledger_id
created
2006-01-02T15:04:05Z
network_trace_id
ach or same-day-ach transfers, this is the ACH trace number.
For rtp transfers, this is the Transaction Identification number.
For wire transfers, this is the IMAD (Input Message Accountability Data) number.
request_id