Warning: session_start() [function.session-start]: open(/home/content/30/7423630/tmp/sess_2aks3af5hdejaqn8o5qejc18q1, O_RDWR) failed: No such file or directory (2) in /home/content/30/7423630/html/wp-content/plugins/simple-twitter-connect/stc.php on line 33

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/content/30/7423630/html/wp-content/plugins/simple-twitter-connect/stc.php:33) in /home/content/30/7423630/html/wp-content/plugins/simple-twitter-connect/stc.php on line 33

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/content/30/7423630/html/wp-content/plugins/simple-twitter-connect/stc.php:33) in /home/content/30/7423630/html/wp-content/plugins/simple-twitter-connect/stc.php on line 33
dwolla for developers Archive - TransSwipe - Merchant Services and Credit Card Processing

TransSwipe - Merchant Services and Credit Card Processing

Archive for the ‘dwolla for developers’ Category

5 Qualities of a Good Payments API for Bank Transfers

Payments API

There are APIs abound for integrating credit card transactions into your platform or application, but what about an API for ACH transfers? Here’s what you should be looking for when determining if an ACH solution is right for you:


ACH transfers aren’t always a bed of roses, especially if you’ve explored building your own solution with a financial institution. What you save in a relatively low initial integration cost can add up in dedicating months of your time and energy to meeting all of the compliance requirements and building all of the processes necessary to pass any financial industry test. That’s why many companies and developers are turning to software companies that have built and open sourced their own ACH APIs. These APIs allow you to tap into their network of experts and functionality in order to make ACH transfers work for you, in a way that fits with your business and customer needs.


If you have a well-established product, you’ve spent the time, money, and burned the brainpower growing your customer base and brand. You may be leery of introducing your customers to another platform to create another account for making or receiving payments via your app or site. A quality API allows for various customization options and control, and is adaptable for specific use cases and scenarios. The ability for an API to scale alongside your business—whether it’s on the front or backend of your product—can make for a winner.

Intuitive and complete documentation

Nothing is more irritating than searching an entire site or forum for what you need, bouncing between different tabs, and trying to piece together information. Software providers that have removed the busy work, and put in the time to accurately and simply document their APIs in a way that a developer would need to read it while coding alongside is invaluable.

Working examples

Finding a payments API with working examples of its integrations out in the wild is always attractive. The more variety of use cases, the better—these use cases demonstrate the possibilities after putting a little creativity into developing a tailored solution that works best for your unique needs.

Great support

When developing payments into your platform, there may be questions that you just need to float by someone that works on that API for a living. There’s great value in finding a service that is committed to getting you and your product to market before you rip every last hair out trying to Google the answer.

Are you looking for a better ACH solution? If so, we’d like to invite you to contact one of our integration specialists so we can introduce you to a solution that fits your needs. Or, take a tour of our developer portal, where we offer extensive API documentation, starter guides, and other resources to help you begin building.

Let's talk aCH payments

How We Did It: Inside Our Developer Portal Redesign

This post is an introduction to a longer piece co-written by Brent Baker, Dwolla’s VP of Product, and Melissa Cooper, Dwolla’s Director of UX. To learn more about the new Dwolla API and the developer portal redesign, read the full post on Medium.


Last week, I mentioned that we are rolling out a complement to the latest version of the Dwolla API—a deeply integrated developer experience within the entire Dwolla website—and the relaunch of our developer portal is now live. Our new API is the foundation of a revised Dwolla narrative and we knew how important it was to bring the developer experience to the forefront.

The developer portal relaunch effort spanned nearly four months and required a herculean effort led by our Director of UX, Melissa Cooper. Our UX, Design, and Developer Relations teams played major roles in this relaunch, and we’ll peel back the curtain in this post to share our process.

With a redesign project, it can be tempting to throw out everything and start fresh. But when you do this, a lot of insight can be lost. Don’t start with the new—establish a baseline of the known.


Our developer relations team constantly interacts with developers on the Dwolla platform, answering questions and gathering feedback. So we had plenty of information about what developers wanted, but our design team still had a lot of questions. Particularly, we wanted to speak with developers who were less familiar with Dwolla, especially those who weren’t actively reaching out. We developed our user research plan very early in our process, conducted in-person and remote interviews, then synthesized and shared our findings.

From this, we gained insight into the needs of less-experienced developers and the expectations of experienced developers. We observed friction points encountered by first-time visitors attempting to complete a lightweight integration from scratch. We also spotted similarities in the ways developers of all experience levels sought information.

In parallel to the user research, we performed an audit of content on our existing developer portal. The extensive audit allowed us to understand what content was applicable to the new version and how developers consumed existing content.

Our third piece of research was to look at best-in-class developer portals that have been rightly praised for their developer documentation like Twilio, Firebase, and Github. We familiarized ourselves with standards that have been set by the industry and reviewed around twenty portals to determine what resonates best with Dwolla’s brand and intent.

To learn more about the process behind the developer portal redesign, read the full post on Medium.

Visit the new developer portal now


A developer’s guide to getting started with dwolla-php

PHP Starter header

Ever since its introduction in 1995, PHP has been a favorite of web programmers around the world; over 200 million websites are powered by PHP. With such high volume, Dwolla has newly rewritten the PHP library—dwolla-php. Now, dwolla-php is officially supported and regularly audited for security and user feature requests.

Since dwolla-php is popular among our community of developers, we wanted to walk you through some of the best practices for setup from a technical perspective.

Getting started

Using Composer

In accordance with best practices, you should not plainly clone the Git repository or download it as a *.zip archive. Instead, it is best to use Composer, a package manager used to distribute various PHP libraries including dwolla-php. While the Composer requires you to install another application on your development box/server, it automatically manages all your packages, dependencies, and includes so that you  won’t have to worry about a “class not found” error again.

Find instructions on how to install Composer here.

Now what?

First, add dwolla-php as a requirement for your project. Composer stores its requirements in a file named “composer.json”; allowing you to specify version constraints for each package requirement. This helps keep your software running without the risk of updating to packages that may cause potentially breaking changes.

dwolla-php 2.x will always be compatible with all 2.x releases as we use semantic versioning. Set a version constraint against the latest 2.x release available, and download it into our working directory.

Dwolla PHP Example 1

Getting your hands dirty

Now that you’ve got dwolla-php, it’s time to have some fun. Let’s walk through sending someone $5—the best part is that it only takes three lines of code.

Dwolla PHP example 2

That wasn’t so bad, was it? Let’s go over what just happened:

  • The first `require` line calls in Composer’s autoloader. This is just another perk of using Composer. You can import as many libraries as are defined in your composer.json, with just one require statement!
  • The second line instantiates the “Transactions” grouping of the dwolla-php library, granting you access to the send functionality of library. Read more here!
  • The $Transactions->send() function above sends 5 dollars to ‘812-202-3784’, which is the dwolla-php’s author Dwolla ID. It returns the resulting transaction ID of sending money.

Keeping up with the times

You can do a lot more with dwolla-php than just send money. Dwolla-php supports all of the endpoints that the Dwolla API offers and comes with awesome support from our API Support forum and GitHub issue reports

You can always drop us a line and we’ll be right there to help you integrate.


This post comes from one of our developer interns, David Stancu. David writes libraries for the Dwolla API to make developers’ lives easier – one line at a time. His free time is typically spent building robots or catching up on much-needed sleep.

Custom Feature: Facilitator Fee in the Dwolla API

custom-fees-orange copyThe facilitator fee was one of the earliest features released on our platform because it made sense to us—as a developer, you want the ability to earn revenue by taking a cut of the transactions you facilitate between your users.

With the removal of Dwolla’s 25 cent transaction fee, our API and custom facilitator fee feature lets you seamlessly take a cut of every payment you facilitate on Dwolla. You have the power to build your ideal fee collection tool.

Facilitator fees are perfect for marketplaces. Let’s say you run a marketplace that connects private pilots with frequent flyers who need last minute private flights. Obviously, you’re not doing this for free. You want to charge the pilot a 10% fee for making the deal happen. Easy.

Enable the facilitator fee feature for your application. Once the pilot receives his money, a 10% cut of the original payment will automatically be sent from the pilot to your Dwolla account.

What if you want to give multiple parties, besides just yourself, a cut of a payment?  For instance, you might have a referral bonus that goes something like this:

When a user refers another customer to your marketplace, you want to give them $5 for every flight the new customer purchases. Not a problem—you can take multiple facilitator fees for a single payment. In fact, you can take an unlimited number of fees, so long as the total amount of fees doesn’t exceed 50% of the original payment.

Read More: Getting started with OAuth Account Creation

How about something as complicated as a 3-tier referral bonus program?  When “User A” refers “Customer B”, A will get a 5% cut of any purchases B makes, and an additional 1% cut for any purchases by customers referred by user B.

Want to charge a convenience fee? It’s simple. For example, a company selling software solutions to school systems can leverage facilitator fees to charge a convenience fee for helping manage payments from parents to an after school program.

As a developer, the facilitator fee feature allows for flexibility within your application, but these guides have been put in place:

  • Facilitator fees are debited from either the sender or the recipient of the original payment as separate transactions
  • Facilitator fees cannot exceed 50% of the original transaction
  • A facilitator fee must be at least $0.01
  • Multiple facilitator fees can be associated with a payment, each paying a different facilitator

Setting up your Facilitator Fee

Once the facilitator fee feature is enabled, any fees will be collected and sent to the application owner’s account. Again, this credit can be either percentage based or a fixed amount, but in either circumstance the fee cannot exceed 50% of the total transaction.

The facilitator fee will take action whenever your app facilitates a transaction. For each transaction—sending money, requesting funds, flow of payments, etc.—the facilitator fee is applied and the creator of the application will receive those funds.

Setting fees for a payment

Once a facilitator fee is enabled for your application, we’ll automatically apply the fee to any payments you facilitate at the rate you specified.  For any given payment, you can also waive the fee or set a custom fee:

Dwolla Facilitator Fee in the API

You can disable the facilitator fee for a payment by setting facilitatorAmount to 0, like so:

Facilitator Fee in the Dwolla API

As the creator of an application, you deserve the ability to earn revenue for your work. Dwolla’s facilitator fee allows you to do just that.

Screen Shot 2015-06-22 at 3.36.49 PM

While you’ll need to talk to us to enable this feature in production, you can start playing with the feature at any time in our sandbox environment.

Build smarter, more flexible recurring payments into your applications

Recurring in API

Here at Dwolla, we want to make sending and receiving payments easier and more accessible for you to build on top of our platform and into your own applications.

We’ve recently released improved recurring payments functionality in Dwolla.com, and with that comes improved recurring payments functionality in our API. You now have the ability to leverage one-time scheduled or recurring payments by building with our Scheduled Payment API.

Features of scheduled, recurring payments:

  • Set up a bank-sourced payment for a time and date in the future
  • Establish the frequency of the payment: weekly, every two weeks, 1st and 15th of the month, or monthly
  • Determine a date or time for completion of payments by making a one-time payment, ending a recurring payment after a certain number of payments, or ending it on a specific date
  • Payments can be scheduled for up to three years in the future

For an integration or services that require regular recurring payments, this new feature is perfect—think CSAs, landlords, nonprofit donations, or membership fees. No money moves until the scheduleDate you’ve provided.

Take a look at the example below. In this scenario, we are going to send $9.95 to someMerchant@dwolla.com every other week on Mondays.

Build recurring payments app

In this example, the Dwolla Account is connected to a FiSync-enabled BBVA Compass account, so the $9.95 will move in real time every other week starting 5-20-2015. In a matter of seconds, the recipient will have access to their funds. Pretty slick!

Additional OAuth scope: Scheduled

The OAuth scope, Scheduled, allows your users to give your application permission to create, edit, and delete scheduled payments on their behalf. You’ll need to add Scheduled to your app’s permissions, as well as an authorization request URL.

Get busy building

With the added functionality in our new recurring payments feature, the integration options are far more powerful. If you’re looking for inspiration, check out our sample Ruby on Rails app that implements scheduled payments.

As always, we welcome any feedback, and are happy to help with your integration questions, just visit our discussion board.

New C#/.NET library: dwolla.net

We’ve released a new C#/.NET wrapper for the Dwolla API. Previously, developers had to manually implement and handle requests to our API if they were writing applications for Windows, Windows Phone, or ASP.NET. Now they no longer have to do so.

Moving forward dwolla.net will be officially maintained and has the following features:

  • Bindings for all API endpoints
  • Live integration testing for most endpoints
  • Sandbox/UAT support
  • An example ASP.NET application to demo dwolla.net

Getting Started

Install the library via NuGet by searching for dwolla.net in the Visual Studio refrence management GUI, or drop down to the Package Manager console and write:

PM> Install-Package dwolla.net

Then, configure your application via App.config:

Screen Shot 2015-03-04 at 12.10.16 PM

…finally, instantiate the library and use it!

To list 10 transactions:

Screen Shot 2015-03-04 at 12.11.22 PMCheck it out on GitHub and NuGet, we would love to know what you think!


This post comes from one of our developer interns, David Stancu. David writes libraries for the Dwolla API to make developers’ lives easier – one line at a time. His free time is typically spent building robots or catching up on much-needed sleep.

©2018 TransSwipe


Warning: Unknown: open(/home/content/30/7423630/tmp/sess_2aks3af5hdejaqn8o5qejc18q1, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in Unknown on line 0