Dwolla API 2.0 using PHP and SDK

(Jam2z9) #1

I’m working on implementing Dwolla 2.0 with a new project of mine. The idea is to have many people “purchase” products and all of these transactions are done via ACH and sent to the site’s primary bank account attached to Dwolla.

I’m having trouble understanding some of the documentation so I"m looking for a high level overview/explanation of this. I’ve installed the SDK via composer into the project.

So the flow as I understand it is:

  1. They click a “purchase now” button which then sends off a request to “create customer”.
  2. On success of create I then send off a request to create a sort of “wallet” for the customer.
  3. Once wallet is created I attach funding source to it (ACH so routing/etc).
  4. This funding source is then verified via microtransactions (.01/.02 etc)
  5. Once these are successful the large transaction then goes through.

Question 1 : How long does step 4 take? Can I send step 4 and step 5 in one request or MUST I wait for step 4 to be successful?

Question 2: How long does this entire process take?

Question 3: Does this attach payment information for # of transactions/transaction history to the client who submitted the transactions?

(David Stancu) #2

Hi @jam2z9,

You understand the flow correctly. The account verification times differ but I don’t think they should take any more than 3 days. We now offer an instant account verification flow which you can demo over here: IAV demo. The demo app is written in Rails with source here, but the IAV component uses JavaScript (look in the frontend assets and you will see calls to dwolla.js which is imported from a CDN).

The documentation for this flow is available over here.

Let me know if I can get any other resources to you :smile:

(Jam2z9) #3

@David – just to be 100% sure –

until their funding source has “verified” I cannot send through a request to transfer money, correct?

I’ll have to gather their account/routing #s and send off the request to verify, then ~3 days later it’ll become “active” and allow me to send real transactions? Or can I send a “real” transaction along with the verify request and it’ll automatically process once the account has been verified?

(Spencer Hunter) #4

@jam2z9, Before a user can transfer money they’ll first need to have a verified funding source. Once the funding source has been verified through one of the two bank account verification methods available you can then POST to /transfers to send money.

(supra) #5

Whether Transfer API needs verified customer account and verified funding-source?
I am trying to transfer from one customer funding source to another customer account…but it is showing me message as:
“Receiver cannot receive from sender.”

What this error means? please assist.

(Spencer Hunter) #6

hmm, possibly that the sender is not eligible to send to the recipient because of the type of account they have? At least one party in every transaction must undergo additional identity vetting, providing information such as full name, dob, ssn, etc. Can you show the request body that triggered this error? This will help me determine what caused the error.

(supra) #7

Here is Transfer API code, we are using:
DwollaSwagger\Configuration::$access_token = $token;
$apiClient = new DwollaSwagger\ApiClient(“https://api-uat.dwolla.com/”);
$transfer_request = array (
’_links’ =>
array (
‘source’ =>
array (
‘href’ => ‘https://api-uat.dwolla.com/funding-sources/384cf6a4-9671-43c0-9485-24c276bbbfd4’,
‘destination’ =>
array (
‘href’ => ‘https://api-uat.dwolla.com/customers/3acaff95-55f1-4d56-95f6-13e34611b48b
‘amount’ =>
array (
‘currency’ => ‘USD’,
‘value’ => ‘1.00’,

$transferApi = new DwollaSwagger\TransfersApi($apiClient);
$myAccount = $transferApi->create($transfer_request);

Please let me know if there is anything wrong in above code.

(Spencer Hunter) #8

@supraint1, Reference my response in the thread below:

(supra) #9

Thanks. Can funding source be verified through an API calls?

We are trying to integrate Dwolla into a iOS app using php API calls. But, unable to get funding source verified using API.

Do you have recommendations on how we can get the funding source verified using API?