Customer A bank → Customer A balance
Customer A balance → Customer B bank
For #1 above, you’ll see the customer_bank_transfer_created & customer_bank_transfer_completed events when the transfer is created and completed to the balance respectively. To determine if funds completed successfully to the destination user’s bank account, you’d want to listen for the customer_transfer_completed event.
What I would likely recommend for this scenario is storing the transfer URL that gets returned in the API on creation. This is the URL that will show up in the payload of the customer_transfer_* events. What you could then do, is use the _links that are returned on that specific transfer to reference the ACH debit transfer that gets created behind the scenes from Dwolla (#1 above). This transfer can be referenced using the funding-transfer link rel which is contained within the _links object. Here’s an example:
GET https://api-sandbox.dwolla.com/transfers/165dca7c-396d-eb11-812c-fa7f62b274da
{
"_links": {
"cancel": {
"href": "https://api-sandbox.dwolla.com/transfers/165dca7c-396d-eb11-812c-fa7f62b274da",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "transfer"
},
"source": {
"href": "https://api-sandbox.dwolla.com/customers/5ed7b47b-cc22-4782-95b4-777e09516005",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "customer"
},
"funding-transfer": {
"href": "https://api-sandbox.dwolla.com/transfers/155dca7c-396d-eb11-812c-fa7f62b274da",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "transfer"
},
"destination-funding-source": {
"href": "https://api-sandbox.dwolla.com/funding-sources/4aba95f2-ac5f-4651-83ef-791ff64a4f98",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "funding-source"
},
"self": {
"href": "https://api-sandbox.dwolla.com/transfers/165dca7c-396d-eb11-812c-fa7f62b274da",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "transfer"
},
"source-funding-source": {
"href": "https://api-sandbox.dwolla.com/funding-sources/198dad00-df79-4119-b870-3d6dda3199cd",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "funding-source"
},
"destination": {
"href": "https://api-sandbox.dwolla.com/customers/4594a375-ca4c-4220-a36a-fa7ce556449d",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "customer"
}
},
"id": "165dca7c-396d-eb11-812c-fa7f62b274da",
"status": "pending",
"amount": {
"value": "10.00",
"currency": "USD"
},
"created": "2021-02-12T13:52:13.340Z",
"clearing": {
"source": "next-day"
}
}
Another option you could use to track the transaction end-to-end would be to pass in your own unique ID to the correlationId field on transfer creation. This field would show up on both the inbound and be passed through to the outbound transfer.
Hi. I need a developer to help me with Dwolla. I have no single knowledge and I thought I will be able to work on dwolla.com platform but now I see integration and all of that. My account is verified already though contact me if you are a developer.
shreya
(Shreya | Developer Advocate @ Dwolla)
February 19, 2021, 9:44pm
2
Hi @Dewella_Brough – integrating with the Dwolla API does require some development work.
If you come across any questions that the Dwolla team may be able to help out with, let us know!