Dwolla's registration API allows you to create a fully verified Dwolla user account via our RESTful API.
In order to use these APIs, you will need a few permissions. First, add the 'ManageAccount' OAuth scope to your Dwolla application. Finally, you'll need to apply to get access to the registration endpoints. You can do so here.
After applying for access to the registration API, you'll be given a dev sandbox account. Your development trials will use the sandbox account, until you're comfortable with launching your application in production mode. We'll be here to guide you through the process once you get approved for registration API usage.
Since the registration needs to be compatible with the Dwolla.com web UI flow, it's important to follow a strict registration flow with the API.
At any point during the API registration flow, you may query the user's current registration step using the Register / Current Step endpoint. A detailed explanation of the different steps can be found in the section below.
The correct flow is:
- Register / New User: Create a new basic user account
- Register / Add Phone: Attach a new phone number to the account
- Register / Verify Phone: Verify the attached phone number
- Register / Add Address: Set the user's address
- Register / Verify SSN: Verify the user's Social Security Number
- ... If failed, Register / Get KBA: Get an array of KBA questions
- ... Then, Register / Verify KBA: Verify the user's account using KBA
During an API registration, you'll receive a 'CurrentStep' parameter with each API call. This will tell you what the user needs to do next. The steps are outlined as follows:
|User needs to verify an email address.|
|Phone||User needs to verify a phone number using the verification code.|
|Address||User needs to provide a phsyical address.|
|Ssn||User needs to verify a SSN.|
|Kba||User's SSN auto-verification failed. User needs to answer KBA questions.|
|AuthorizedRepresentative||Company needs to specify an authorized representative to manage its Dwolla account.|
|Finished||Account is fully verified and ready to be used.|
Email Verification Flow / UX
As part of the Dwolla verification process, users must positively verify their email address. When an account is created via the API, we will fire off an email to the given address, asking the user to click on the verification link. The user's email address will be automatically verified, and the user will be redirected back to your site. The following is an example of the verfication UX.
Specify an Email verification redirect URL in your application settings.
User will receive an email after the Register / New User call is made. The email will contain your application name, and a link to verify the user's email address.
User will be taken to this screen, where the email will be marked as verified, and the user will be redirected back to the URL specified in your application settings.