Reprocess Received ACH Debits
Unit runs several checks before allowing an ACH payment (credit or debit) to process. For received ACH debits, Unit checks that the receiving account has sufficient balance to cover the transfer. If that check fails, the received ACH is MarkedForReturn
due to InsufficientFunds
.
However, the end-customer may have funds available in another account with the same bank. Additionally, some use cases benefit from the ability to move funds from a different account to the account being debited ("just in time funding") so the payment is successful.
To that end, Unit offers end-customers the ability to instruct the bank to reprocess received ACH debits that are MarkedForReturn
but have not yet been processed for return. This allows the end-customer to instruct the bank to move funds between certain end-customer accounts and reprocess the payment.
Important: Before enabling the Reprocess Received ACH Debits feature for any end-customer, you must obtain express payment authorization in accordance with applicable payment rules (e.g., NACHA Rules).
The payment authorization terms must be reviewed and approved by your bank partner and Unit's compliance team.
Implementation
The reprocess functionality is disabled by default. If you would like to enable it, please contact Unit.
Only received payments that are in status MarkedForReturn
can be reprocessed.
Programmatically identify payments that can be reprocessed based on instructions that the end-customer sets up via your platform (with authorization that you obtained from the end-customer). Payments can be created in the
MarkedForReturn
status, or navigated to after creation. There are 2 events to listen for:receivedPayment.created
andreceivedPayment.markedForReturn
.If the
canBeReprocessed
flag is set totrue
, and thereturnCutoffTime
has not yet passed, funds can be transferred into the account that is being debited using a book payment from another account that belongs to the same end-customer (in accordance with the end-customer’s instructions and authorization).
- Call the Reprocess Received Payment endpoint. If all the checks pass, the account will be debited, and the
receivedPayment.sent
event will be fired.
In addition, you can identify the payments that can be reprocessed by calling the List Received Payments API.