POST /payment_initiation/payment/reverse

Reverse a settled payment from a Plaid virtual account.

The original payment must be in a settled state to be refunded. To refund partially, specify the amount as part of the request. If the amount is not specified, the refund amount will be equal to all of the remaining payment amount that has not been refunded yet.

The refund will go back to the source account that initiated the payment. The original payment must have been initiated to a Plaid virtual account so that this account can be used to initiate the refund.

Providing counterparty information such as date of birth and address increases the likelihood of refund being successful without human intervention.

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
client_id String No

Your Plaid API 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.

counterparty_address Object No

The optional address of the payment recipient's bank account. Required by most institutions outside of the UK.

counterparty_address.postal_code String Yes

The postal code where the recipient is located. Maximum of 16 characters.

counterparty_address.country String Yes

The ISO 3166-1 alpha-2 country code where the recipient is located.

counterparty_address.street[] Array Yes

An array of length 1-2 representing the street address where the recipient is located. Maximum of 70 characters.

counterparty_address.city String Yes

The city where the recipient is located. Maximum of 35 characters.

payment_id String Yes

The ID of the payment to reverse

reference String Yes

A reference for the refund. This must be an alphanumeric string with 6 to 18 characters and must not contain any special characters or spaces.

secret String No

Your Plaid API secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.

idempotency_key String Yes

A random key provided by the client, per unique wallet transaction. Maximum of 128 characters.

The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. If a request to execute a wallet transaction fails due to a network connection error, then after a minimum delay of one minute, you can retry the request with the same idempotency key to guarantee that only a single wallet transaction is created. If the request was successfully processed, it will prevent any transaction that uses the same idempotency key, and was received within 24 hours of the first request, from being processed.

counterparty_date_of_birth String No

The counterparty's birthdate, in ISO 8601 (YYYY-MM-DD) format.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.