When you create a transfer using the Dwolla API, there are various steps involved in the life cycle of the transfer from the moment of its creation to when it finishes processing. When the funds move through each step in the cycle, various events are created in Dwolla that record the change, and help us identify which step a transfer is in. These events trigger webhooks which developers can subscribe to in order to be notified about any changes to a resource. There are specific webhooks you can expect to receive based on your funds flow and the Customer types involved in a transfer. Use this interactive tool to guide you through the various transfer scenarios in Dwolla, and their life cycles.
funded-transfer
is a link returned when retreiving a transfer which points to the transfer that is further ahead in the overall transfer life cycle. funded-transfer
is a unique transaction created to route funds to the destination user and/or payment account.funding-transfer
is a link returned when retrieving a transfer which points to the transfer that is further behind in the overall transfer life cycle. funding-transfer
is a unique transaction created to route funds from the source user and/or payment account to the destination user.The correlation ID is a string value that can be attached to a transfer resource which can be used for traceability between Dwolla and your application. An example of how to pass in a correlation id and how to search for a transaction using the correlationId query search parameter can be found in the code snippets below. When a correlation ID has been sent with a transfer, Dwolla will preserve it throughout the entire transfer life cycle.
var requestBody = {
_links: {
source: {
href: "https://api-sandbox.dwolla.com/funding-sources/0004a5e9-d053-46e9-af1f-f4123439138c",
},
destination: {
href: "https://api-sandbox.dwolla.com/funding-sources/f14130f1-c613-406c-98c7-8402abdc3fa6",
},
},
amount: {
currency: "USD",
value: "1.00",
},
correlationId: "8a2cdc8d-629d-4a24-98ac-40b735229fe2",
};
dwolla
.post("transfers", requestBody)
.then((res) => res.headers.get("location")); // => 'https://api-sandbox.dwolla.com/transfers/93f78ae0-1f47-ec11-8139-dab70b2f4ba0'
var customerUrl =
"http://api-sandbox.dwolla.com/customers/33e56307-6754-41cb-81e2-23a7f1072295";
dwolla
.get(`${customerUrl}/transfers`, { correlationId: 123 })
.then((res) => res.body._embedded["transfers"]);
Use sandbox environment to test API requests.
All funds transfers made using the Dwolla Platform are performed by a financial institution partner, and any funds held in a Dwolla Balance are held by a financial institution partner. Learn more about our financial institution partners.