plaid

Reverse an existing payment

Changed on

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.

post/payment_initiation/payment/reverse

Request

  • Base URL
    https://production.plaid.com
  • URL
    https://production.plaid.com/payment_initiation/payment/reverse
  • Auth
    API key in header PLAID-CLIENT-ID and API key in header PLAID-SECRET and API key in header Plaid-Version

Request body

client_idstring

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.

secretstring

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.

payment_idstring required

The ID of the payment to reverse

idempotency_keystring required

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 48 hours of the first request, from being processed.

referencestring required

A reference for the refund. This must be a string of 6 to 18 characters containing only letters, numbers, and spaces.

counterparty_date_of_birthstring date nullable

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

Response

OK

refund_idstring required

A unique ID identifying the refund

status'AUTHORISING' | 'INITIATED' | 'EXECUTED' | 'SETTLED' | 'BLOCKED' | 'FAILED' required

The status of the transaction.

AUTHORISING: The transaction is being processed for validation and compliance.

INITIATED: The transaction has been initiated and is currently being processed.

EXECUTED: The transaction has been successfully executed and is considered complete. This is only applicable for debit transactions.

SETTLED: The transaction has settled and funds are available for use. This is only applicable for credit transactions. A transaction will typically settle within seconds to several days, depending on which payment rail is used.

FAILED: The transaction failed to process successfully. This is a terminal status.

BLOCKED: The transaction has been blocked for violating compliance rules. This is a terminal status.

request_idstring required

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

Changes

    • warning

      added the new CRA_PARTNER_INSIGHTS_ERROR enum value to the response property for the response status

    • warning

      added the new CRA_REPORT_ERROR enum value to the response property for the response status

    • warning

      added the new ASSETS_ERROR enum value to the response property for the response status

    • warning

      added the new CRA_MONITORING_ERROR enum value to the response property for the response status

    • warning

      added the new CREDIT_PROFILE_REPORT_ERROR enum value to the response property for the response status

    • warning

      added the new ENCOMPASS_ERROR enum value to the response property for the response status

    • warning

      added the new ENRICH_ERROR enum value to the response property for the response status

    • warning

      added the new FRAUD_INSIGHTS_ERROR enum value to the response property for the response status

    • warning

      added the new FREDDIE_MAC_ERROR enum value to the response property for the response status

    • warning

      added the new LINK_DELIVERY_ERROR enum value to the response property for the response status

    • warning

      added the new PROFILE_ERROR enum value to the response property for the response status

    • warning

      added the new RECURRING_TRANSACTIONS_ERROR enum value to the response property for the response status

    • warning

      added the new STATEMENTS_ERROR enum value to the response property for the response status

    • warning

      added the new TRANSFER_RECURRING_ERROR enum value to the response property for the response status

    • warning

      added the new TRANSFER_REFUND_ERROR enum value to the response property for the response status