Processed -> failed


(Michael Schultz) #1

Using V1 API, Dwolla\Transactions();
We’re using Dwolla to allow our customers to connect a bank account to Dwolla, and initiate a transfer of funds to us.
I thought once a transaction went from pending->processed, we could rely on it staying that way, and assume that the customer has paid us.
Im now seeing (according the webhooks I’m receiving) a transaction go from processed -> failed. Is my understanding wrong?

Webhooks received:
2017-06-10 11:52:59: {“Id”:“20726324”,“Type”:“Transaction”,“Subtype”:“Status”,“Created”:“2017-06-10T18:53:01.000Z”,“Triggered”:“2017-06-10T18:52:58.578Z”,“Value”:“pending”,“Transaction”:{“Type”:“money_sent”,“Notes”:"",“Fees”:[],“Id”:20726324,“Source”:{“Id”:“812-826-5800”,“Name”:"",“Type”:“Dwolla”,“Image”:“https://www.dwolla.com/avatars/812-826-5800"},“Destination”:{“Id”:“812-913-5210”,“Name”:"PayJoy Inc.”,“Type”:“Dwolla”,“Image”:“https://www.dwolla.com/avatars/812-913-5210"},“Amount”:375.0000,“SentDate”:“2017-06-10T18:53:01.000Z”,“ClearingDate”:“2017-06-15T00:00:00.000Z”,“Status”:“pending”},"Metadata”:null}
2017-06-10 11:52:59: 20726324: -> pending
2017-06-15 07:12:19: {“Id”:“20726324”,“Type”:“Transaction”,“Subtype”:“Status”,“Created”:“2017-06-10T18:53:01.000Z”,“Triggered”:“2017-06-15T14:12:14.437Z”,“Value”:“processed”,“Transaction”:{“Type”:“money_sent”,“Notes”:"",“Fees”:[],“Id”:20726324,“Source”:{“Id”:“812-826-5800”,“Name”:"",“Type”:“Dwolla”,“Image”:“https://www.dwolla.com/avatars/812-826-5800"},“Destination”:{“Id”:“812-913-5210”,“Name”:"PayJoy Inc.”,“Type”:“Dwolla”,“Image”:“https://www.dwolla.com/avatars/812-913-5210"},“Amount”:375.0000,“SentDate”:“2017-06-10T18:53:01.000Z”,“ClearingDate”:“2017-06-15T00:00:00.000Z”,“Status”:“processed”},"Metadata”:null}
2017-06-15 07:12:19: 20726324: pending -> processed
2017-06-15 07:12:20: {“Id”:“20726324”,“Type”:“Transaction”,“Subtype”:“Status”,“Created”:“2017-06-10T18:53:01.000Z”,“Triggered”:“2017-06-15T14:11:54.373Z”,“Value”:“processed”,“Transaction”:{“Type”:“money_sent”,“Notes”:"",“Fees”:[],“Id”:20726324,“Source”:{“Id”:“812-826-5800”,“Name”:"",“Type”:“Dwolla”,“Image”:“https://www.dwolla.com/avatars/812-826-5800"},“Destination”:{“Id”:“812-913-5210”,“Name”:"PayJoy Inc.”,“Type”:“Dwolla”,“Image”:“https://www.dwolla.com/avatars/812-913-5210"},“Amount”:375.0000,“SentDate”:“2017-06-10T18:53:01.000Z”,“ClearingDate”:“2017-06-15T00:00:00.000Z”,“Status”:“processed”},"Metadata”:null}
2017-06-15 07:12:20: 20726324: processed -> processed
2017-06-16 04:09:23: {“Id”:“20726324”,“Type”:“Transaction”,“Subtype”:“Status”,“Created”:“2017-06-10T18:53:01.000Z”,“Triggered”:“2017-06-16T11:08:52.499Z”,“Value”:“failed”,“Transaction”:{“Type”:“money_sent”,“Notes”:"",“Fees”:[],“Id”:20726324,“Source”:{“Id”:“812-826-5800”,“Name”:"",“Type”:“Dwolla”,“Image”:“https://www.dwolla.com/avatars/812-826-5800"},“Destination”:{“Id”:“812-913-5210”,“Name”:"PayJoy Inc.”,“Type”:“Dwolla”,“Image”:“https://www.dwolla.com/avatars/812-913-5210"},“Amount”:375.0000,“SentDate”:“2017-06-10T18:53:01.000Z”,“ClearingDate”:“2017-06-15T00:00:00.000Z”,“Status”:“failed”},"Metadata”:null}
2017-06-16 04:09:23: 20726324: processed -> failed


(Shea Daniels) #2

Hi @Michael_Schultz. Yes, that flow can happen. Please take a look at the following resource article for more information:

https://developers.dwolla.com/resources/bank-transfer-workflow.html

Specifically, this section addresses what you’re asking about:

Failed: If a transfer failed to clear successfully (usually as a result of an ACH reject or return), the transfer’s status will be “failed”. Transfers can fail for a number of reasons, e.g. insufficient funds, invalid account number, no account/unable to locate account, etc. Note: in rare cases, a “processed” transfer may later on get returned as “failed”.


(Michael Schultz) #3

I see. So at what point can I be assured that the money won’t disappear? After all, we can’t operate a business when we can’t verify whether or not our customer has paid us.


(Shea Daniels) #4

If a payment is unsuccessful, we usually get the return message from the ACH network within 2 to 4 business days. There are some situations, however, where a return message could be received up to 60 calendar days later, e.g., if a customer reports an unauthorized transaction to his/her bank.