Reprocess Received ACH debits
When receiving an ACH (credit or debit), Unit runs a number of checks before allowing the payment to process. In the case of received ACH debits, one of these checks is making sure the receiving account has sufficient balance to cover the transfer.
If that check fails, the received ACH is MarkedForReturn
due to InsufficientFunds
.
There are cases where the customer has funds available, on another account on the same bank. There are use cases that would benefit from the ability to move funds from another account into the account that's being debited ("just in time funding"), to allow the received ACH to process.
To that end, Unit offers clients the ability to reprocess received ACH debits that are MarkedForReturn
but have not yet been returned. This allows the client to move the funds between the end customer's accounts, and reprocess the payment.
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.
- Identify payments that can be reprocessed. Payments can be created in the 'MarkedForReturn' status, or move to it after creation, so you will have to listen for 2 events: receivedPayment.created, and receivedPayment.markedForReturn.
- If the
canBeReprocessed
flag is set totrue
, and thereturnCutoffTime
has not yet passed, move funds into the account that is being debited using a book payment from another account that belongs to the same end customer. - 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.