Blog

Follow Stripe 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.)

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!

January 12, 2016

Pricing update for Europe

Joe Cruttwell on December 9, 2015

Good news! We’re available in 14 countries across the European Union and, today, we’re lowering our prices in all of them.

Stripe is working to grow the size of the internet economy and new regulations from the EU have enabled us to simplify and unify pricing across the European Union markets we support.

Our new price is 1.4% + €0.25 for European cards and 2.9% + €0.25 for non-European cards. (Instead of €0.25, the fixed fee in the UK will be 20p and in Denmark and Sweden will be 1.8kr.) As before, we expose our fees on a per-charge basis in real time.

The pricing will go into effect immediately and you don’t need to take any action to get the lower price.

If you’ve any questions or feedback (about this change or Stripe in general), please email me.

December 9, 2015

Open-Source Retreat 2016 grantees

Michelle Bu on December 8, 2015

Like many developers, we often contribute to open-source software in bits and pieces over long periods of time. So we started the Open-Source Retreat to help open-source developers make concentrated progress on features and releases with the potential for significant impact.

For 2016’s Retreat, we’re inviting three developers to work on their projects from Stripe’s office in SF:

  • Nik Graf will be working on Belle, a configurable component library for React that is focused on great user experience, accessibility, and compatibility across devices and browsers. Developers still tend to build the same set of components from scratch for web frameworks like React, Ember, and Angular—and often without considering compatibility or UX issues. We’re excited to see Nik expand the number of components for Belle and improve their usability and accessibility during the Retreat.
  • Christopher Allan Webber wants to launch federation tooling for MediaGoblin, a free software media platform that anyone can run. Think of it as a decentralized alternative to major media publishing services such as Flickr, YouTube, SoundCloud, DeviantArt, etc. We’re huge fans of the federated web and would like to see more software in that space. We see MediaGoblin as more than just a way to share media, but a reference application for building on new, emerging standards, such as the ActivityPump API.
  • Pascal Brandt’s focus will be on OpenMRS, a platform that’s widely used to support the delivery of health care in Africa and developing countries. The introduction of a REST API in their latest version has contributed to an explosion in new front-ends being built atop their medical recording system framework. Pascal hopes to create a single, authoritative JavaScript client for OpenMRS.

  • Though there were many more applicants than we could host, we’d like to thank everyone who applied. We’d also especially like to recognize our finalists:

    • Doron Samech: A proposal to bring NetMQ to feature parity with ZeroMQ.
    • Alan Guo Xiang Tan: Improvements to backfilling and automated regression identification for RubyBench, which provides benchmarking for Ruby and Rails.
    • Anne Ogborn: Writing the authoritative book for programming in SWI-Prolog.
    • Nyah Check: A module for OpenMRS that would help migrate existing databases to OpenMRS.
    • Naomi Most: Metapub, a Python library that unites the National Library of Medicine databases with CrossRef metadata search to improve search, text-mining, and cross-referencing for academic articles.
    • We encourage you to explore (and contribute to!) these projects.


      Our three grantees will be working on their proposed projects starting in January and they’ll share their work towards the end of the Retreat. In the meantime, if you have any questions or suggestions, please let me know!

December 8, 2015

Stripe on Fabric

Jack Flintermann on October 21, 2015

If you’re using Fabric, you can now add payments to your mobile app using the Stripe kit for iOS or Android. Fabric enables mobile developers to add additional services (like analytics, ads, and now payments) to their Android and iOS apps through a single integration instead of having to set each of them up manually.

We built this integration for Fabric so that it’s even easier to get started and accept your first payment on Stripe. You can see it in action in this demo app. (You can of course still use our mobile SDKs to integrate Stripe directly, too.)

If you already use Fabric, just enable the Stripe kit in your settings. If you’d like to try Fabric out, head over to their docs.

Feel free to email me if you have any questions or feedback!

October 21, 2015

Instant debit card transfers

Brendan Taylor on October 8, 2015

We’re rolling out a private beta for Connect users to instantly have money transferred to a debit card.

Why might you want this? Many marketplaces, like Kickstarter, Postmates, Instacart, and TaskRabbit, use Connect to get their sellers paid. Rather than having to collect bank account numbers or having sellers wait on their funds, marketplaces can now use instant debit card transfers to get sellers paid faster.

While we’ve had the ability to send money to debit cards for a while, funds used to take two to three days to arrive. Now, they’re basically instant.

Functionality will be limited to U.S. cardholders to begin with—and not all banks support this yet. We currently have coverage for 64% of U.S. banks, including Bank of America and Chase. Money can still be sent to unsupported banks, but it’ll take a day to arrive rather than being instant.


Lyft is using instant transfers to create Express Pay, which lets drivers get paid out instantly rather than just once a week.


We hope you’ll use this feature to get sellers on your marketplaces paid faster. We’re adding more people to our beta as soon as we can. If you’d like to try it out, please email us at connect@stripe.com.

October 8, 2015

Introducing Relay

Siddarth Chandrasekaran on September 14, 2015

Today, mobile e-commerce websites aren’t working: Ten-step shopping carts, mandatory account signup, slow page loads. When we get linked to a shopping cart on our phone, we usually just give up. That shouldn’t be surprising—most mobile shopping sites are fundamentally the same as the desktop sites that preceded them, despite the medium calling for something completely different.

The result has been predictable. Despite mobile devices representing 60% of browsing traffic for shopping sites, they only make up 15% of purchases.

What does work? Native mobile apps, like Postmates or Instacart, with buying experiences designed to let the user transact as quickly as possible, reuse existing payment details across many orders, and finish the entire transaction in the same app they started in.

Over the past year, a number of companies—Twitter, Pinterest, and Spring, to name a few—have worked to bring this kind of experience to e-commerce, pulling products from many stores into the very apps where users are already spending their time.

While this works, experiences like this are hard to build, since stores don’t usually make their products programmatically available.


So, we’re trying out something new. We’re launching Relay, an API for stores to publish their products, and for apps to read them. Relay makes it easier for developers to build great mobile e-commerce experiences, and for stores to participate in them.

It’s powered by a few new objects in the Stripe API: Products, SKUs (product variants), and Orders. Stores can provide product information to Stripe via the dashboard, the API, or by linking their existing e-commerce systems. SAP Hybris (used by stores like Levi’s, Oakley, and Ted Baker) is the first e-commerce integration we’re announcing, but expect more to come later.

For stores, you can use Relay to enable instant purchases in third-party mobile apps: one of our launch partners, Twitter, is using Relay to enable anyone to start selling within tweets. (You can try it out on this Tweet from @WarbyParker.) Or you can submit your products to be shown in a growing number of apps like ShopStyle and Spring.

For app developers, Relay is a set of APIs for building great in-app buying experiences. People can buy products directly within your app rather than getting pushed to third-party websites. Our friends at Wish have made their product catalog accessible starting today via Relay. You can play around with their data and see what kinds of buying experiences you could build.

To get started, browse the API docs or try selling a product on Twitter.

If you’d like to talk to us about it, we’d love to hear from you: relay@stripe.com.

September 14, 2015

Open-Source Retreat 2016

Kyle Conroy on September 3, 2015

We increasingly rely on (and contribute back to!) a lot of open-source software to build Stripe, and we’d like to give back and get more people working on open-source.

Last year, we invited four developers to the Stripe office as part of our first Open-Source Retreat. Our grantees made significant progress on their projects in a relatively short time—from launching a pure-Python TLS 1.2 implementation to releasing a major update to urllib3. Julian Shapiro of Velocity.js wrote about his experience with the program.

Starting January, we’re hosting another Open-Source Retreat at Stripe. Just like last year, we’re looking for existing projects where these grants can make a large difference in spurring the development of a new feature or infrastructure.

We’ll host three to four developers at our office in SF for three months to work full-time on an open-source project. While we’ll ask that they give a couple of internal tech talks over the course of the program, the grant itself is no-strings-attached.

Selection process

We’ll select projects on based on their importance to the broader community, independently of Stripe itself. Applicants from any country are welcome and we’d love to fund people from backgrounds underrepresented in the open-source community. Here are the criteria we’ll use:

  • Impact of our grant. Does our grant have the ability to transform this project’s trajectory? Are you an influencer within the project? Will your ability to focus on it full-time move the project forward in some significant way?
  • Importance of the project. Is this a project that people already use and has attracted a lot of attention? If this project isn’t itself popular yet, how much potential does it have? Is it a project that, while possibly risky, would be particularly exciting if successful?
  • Likelihood of success. Is there a good plan for how these three months will be used? What indicators are there that you’ll be able to pull it off (obvious passion for the project, existing work on the project, previous work on similar projects)?

Selection team

Here's the team that will be reviewing your application:

Danielle
Evan
Kyle
Krithika
Michelle
Stan

Logistics

We want to provide everything needed to focus and have a substantial impact on an open-source project:

  • The program will run from January 15th until April 15th, 2016 at Stripe HQ in the Mission District of San Francisco.
  • We’ll provide $7,500 per month in addition to desk space at our office and meals during the week.

Application

Applications are now closed. Thanks to everyone who applied. We'll be contacting you individually soon!

September 3, 2015

Checkout in more languages

Gabriel Hubert on August 20, 2015

We’re starting to add support for displaying Checkout in your customers’ preferred languages. In addition to English, Checkout now speaks Japanese, German, French, Simplified Chinese, Spanish, Italian, and Dutch.

We tested this feature with over 220,000 customers across different types of businesses and found that displaying a translated Checkout converts significantly better for many companies—in particular, where the rest of their website is translated. For those sites, revenue from non-English speakers increased by between 7 and 12 percent—a huge jump for one tiny checkout change.

Based on our results, we strongly recommend you enable this feature if you already have a website in the eight languages we currently support.

You can opt in to using the translated version with a single line of code. If you’re using the simple integration, just pass data-locale="auto" into the <script> tag. If you have a custom integration, use locale: 'auto' when calling StripeCheckout.configure(). There’s more info in the docs.

This change illustrates part of our broader goal with Checkout: to deliver a constant stream of refinements that automatically improve your checkout flow and help you reach more customers.

If you notice anything surprising, or have questions or feedback, please let me know!

August 20, 2015

Amex Express Checkout

Christian Anderson on August 18, 2015

Starting today, you can add Amex Express Checkout to your site or app with a single code snippet.

American Express has partnered with Stripe to let over 20 million cardholders pay online and in apps using their existing American Express login, rather than entering their full credit card details.

When you integrate, American Express will also securely pass on useful customer information to you such as address, email, and phone number. They'll even automatically keep that info up to date. (You’ll get a customer.updated webhook.) You’ll have the latest information for your customers without having to prompt them to manually update their data on your site.

During our beta, we worked to make accepting Amex Express Checkout as straightforward as possible. To include the button, just configure the helper library with a client_id that you can generate in the Dashboard:

<amex:init client_id="30e73189-96f4-4797-83d4-6730bf6bed19"
  env="production" callback="aecCallbackHandler" />
<script src="https://icm.aexp-static.com/Internet/IMDC/US_en/
  RegisteredCard/AmexExpressCheckout/js/
  AmexExpressCheckout.js"></script>

As with other payment types, you’ll get a card token that you can use to create charges. You’ll also see these payments alongside other payment types in the Dashboard or via the API.

If you’re interested, check out the guide to getting started. If you’ve got any questions or feedback, please let me know!

August 18, 2015