Blog

Share this post on Twitter

Accept ACH payments

Ray Morgan on January 12, 2016

Even though there are many benefits, accepting ACH payments—that is, payments where you charge a bank account directly—has traditionally been pretty difficult. Doing so has generally involved baroque, legacy APIs. There’s additional complexity compared to credit cards because the transaction amounts are typically larger and authorization is subtler. Still, being able to handle ACH payments with Stripe has come up a lot as a feature request over the years. And so, today, we’re delighted to launch support for ACH payments for all U.S. Stripe users.

Our ACH support is tightly integrated with the rest of Stripe. You can, of course, directly create one-off transactions and manage them within the Dashboard. You can also charge for subscriptions (as Slack or Digital Ocean do), while companies using Connect (like Fancy or Tilt) can accept ACH payments on behalf of their customers. No matter what sort of payments you’re dealing with, the reporting pipeline is fully unified with credit card transactions.

Simplifying setup and verification

Our ACH support comes with two key additional features: built-in support for micro-deposits and optional instant verification with Plaid.

With micro-deposits, we send two unique amounts to a customer’s bank account so that your customer can verify their account by entering the amounts they see on their statement.

Alternatively, we’ve worked with Plaid on an integration that provides instant bank account verification. If you choose to use it, your customers can authenticate directly with their bank in real-time—no digging around for routing numbers. (This process also prevents most of the common errors of mistyping bank account numbers or incorrect routing numbers.)

From a technical perspective, ACH is another type of source for a customer. It’s easy to create an ACH charge once your customer authenticates:

curl https://api.stripe.com/v1/charges \
  -u sk_test_BQokikJOvBiI2HlWgH4olfQ2: \
  -d amount=250000 \
  -d currency=usd \
  -d description="Corp Site License 2016" \
  -d customer=cus_7hyNnNEjxYuJOE \
  -d source=ba_17SYQs2eZvKYlo2CcV8BfFGz

ACH payments on Stripe cost 0.80%, capped at $5, with no monthly fees or verification fees. So, a $100 payment incurs a $0.80 fee; any payments above $625 cost $5. This can be especially useful if you routinely charge customers large amounts on a recurring basis. (If you’re operating at scale already and would like to discuss pricing, we’d love to chat.)

Update: If you'd like to authorize bank information instantly, please get in touch with our partners at Plaid for pricing.

We’re excited to make more of the financial system’s functionality accessible to developers and look forward to seeing what people build. If you’re ready to get started, we’ve created a guide for ACH payments. As always, please let us know if you have any questions or feedback!