Transfer further ahead in pipeline is processed, previous transfers failed

We had a transfer fail with the R01 insufficient balance error code. This transfer is from a verified customer, to a verified business customer. The first two transfers in the pipeline ("funding-transfer"s) are currently marked as “failed”. The last transfer in the pipeline is marked as “processed”.

My understanding is that failed transfers will cause the money to make it’s way back to the recipient. Is this currently happening? Or was the balance credited to the destination account, and Dwolla needs a debit from our account to make up the difference?

Hi @dtj – would you be able to share the transfer Id for us to take a look?

It sounds like it was a late R01 ACH return code that we received post-settlement of the transfer. If so, this would cause the Destination Customer’s balance to decrease by the transfer amount since they’ve received the funds into their bank already.

The next steps would be to either claw back the funds from the Recipient’s bank into their Balance, or from your Master Account to the Recipient’s Balance. Here’s a helpful gist for that explains a bit more about this transfer scenario -

Thanks @shreya -

The ID of the processed transfer is 51da2dfa-c530-eb11-8142-fe81748700fe

I do believe it’s a late R01 code. My understanding is these funds processed to their destination, resulting in a negative balance for the recipient’s dwolla balance. Is that correct?

Thanks for the ID!

It does look to be due to a late R01 return that the source portion of the transfer pipeline (Sender’s Bank to Dwolla Network) failed after the fact. This caused the Recipient’s Balance to go down that amount, but since they already had funds tin their balance, it didn’t go negative.

To clarify further, when Dwolla receives a return code, we have to honor it and make whole the bank that issued the return. Then we deduct the amount from the Receiver’s balance since they’ve already gotten the funds in their Bank but we cannot create transfers from their bank on their behalf. Now, to balance out the previous balance that the Receiver had, you could create a transfer from the Recipient’s bank, back to their Balance, or create a new transfer from the sender’s bank to the Recipient’s Balance.

Hope that helps! Please let us know if you have any further questions!

Thanks @shreya. Does this cancel out the entire transfer (ie does the recipients balance go down the full amount of the transfer), or does the recipients balance only go down the “difference”, the amount the origin bank didn’t have?

It would go down the full amount.

Thanks @shreya -

One followup question - is there any way to simulate scenarios like this in the sandbox environment? Specifically a situation where the customer_transfer_completed webhook event is firing prior to the customer_bank_transfer_failed event?

Hi @dtj! Sorry for getting back to you late!

There is a way you can test out late returns in the Sandbox! Here’s a guide in our docs that walks you through it -

Dwolla allows you to pass in a few different sentinel values that are used to test different bank transfer failure scenarios. What you’ll want to do is create funding-source (or update an existing funding-source) with the name R01-late and create a transfer from that funding-source to simulate a late return code from the source bank. Similarly, you can use R03-late for the name of a destination funding-source to simulate late returns from the destination bank account.

Hope that helps!