This POST endpoint returns (reverses) a single deposit received toward a pay-in. A pay-in funded through a temporary bank account may receive multiple ACH or wire deposits over its lifetime; each deposit is identified by its own deposit_token and can be returned independently. This differs from /payin/USER_TOKEN/{payin_token}/reverse, which closes the deposit account itself and stops future deposits.
Incoming ACH and wire deposits auto-fund and settle immediately upon receipt (status COMPLETED), so a return always operates on a settled deposit: the funds are sent back to the sender through the originating network, the returned amount is debited from the destination wallet, and the deposit transitions to RETURNED.
The request must include a normalized reason_code describing why the deposit is being returned — see the DepositReturnReason schema for the full list. MassPay translates the normalized reason into the network-specific return code for the rail the deposit was received on (a NACHA Rxx code for ACH, or an ISO 20022 reason code for wires); the transmitted code is surfaced on the deposit as network_return_code. A free-text reason may also be supplied for audit purposes, and is required when reason_code is OTHER.
A deposit that is not in COMPLETED status — including one already RETURNED — or that does not belong to the given pay-in, returns a 400.
On success the updated deposit object is returned.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
