After creating a transfer in Dwolla in my Sandbox environment, I navigate to the Dwolla Dashboard:
Customers > “MyCustomer” > Transactions > right-click on the three dots > Cancel Transaction
After performing that action, I am receiving two cancellation events in my webhook:
customer_bank_transfer_cancelled
customer_transfer_cancelled (for the sender)
customer_transfer_cancelled (for the receiver)
My question is, why am I receiving both customer_bank_transfer_cancelled and customer_transfer_cancelled? Shouldn’t I only receive customer_bank_transfer_cancelled?
spencer
(Spencer Hunter - Lead Developer Advocate @ Dwolla)
2
@Diego_Corrales , this article walks through the transfer workflow in greater detail. To provide some additional context, If the user/Customer record can hold a balance (Verified Customer) then there will be a separate transfer into and/or out of that balance to fund the transfer.
Here’s an example of the flow of funds for a transfer between a Verified Customer and an Unverified Customer:
Verified Customer bank → Verified Customer balance
Verified Customer balance → Unverified Customer bank
As you can see, there are multiple “legs” in an overall bank to bank transfer workflow. So when you cancel the ACH debit, you’re essentially cancelling the initial transfer into the source user’s balance which then cancels the payment to the receiving user.
Hope this information helps, please let me know if you have any follow up questions or if I can provide further clarification!
Thanks @spencer, one more question,
When mentioning “Dwolla network” for example in the following statement: verified Customer's bank to the Dwolla network Dwolla network refers to both Verified Customers (bank or balance) and Unverified Customer’s bank as well as a Dwolla’s Master Account? Or what exactly does the term Dwolla Network refer to? thank you.
Hi @shreya, @spencer!
We have an application in which we allow our clients to have five free transactions to send out their payments before charging them a fee. If a payment is cancelled, we restore one of their free attempts since the payment wasn’t processed. Our problem right now is that whenever we cancel a transfer, both events trigger at the same time so we end up restoring two attempts instead of just one. Is it possible to at some point receive only one of the them, or do they always trigger together? We know both events occur upon a POST request to the same Cancel endpoint, but we are not sure if we should restore the attempt for only one of them. We want to avoid restoring an incorrect amount of free attempts, maybe we could do it just for the customer_bank_transfer_cancelled event?
Thanks in advance!
1 Like
spencer
(Spencer Hunter - Lead Developer Advocate @ Dwolla)
7
@Andres_Carrasquilla Unfortunately we don’t currently support unsubscribing to certain event topics, therefore you’d receive all relevant events to your webhook endpoint. You could just ignore one event topic and listen for just the customer_bank_transfer_cancelled webhook as you mentioned. Another approach could be to utilize your own internal transaction ID which could be passed through in the correlationId field when creating a transfer. The correlationId should show up on all webhooks related to the transaction creation.