Corporate
Payable is joining Stripe
We’re excited to announce that Stripe has acquired Payable to help make it easier for platforms and marketplaces on Stripe Connect to meet their tax reporting obligations worldwide.
We’re excited to announce that Stripe has acquired Payable to help make it easier for platforms and marketplaces on Stripe Connect to meet their tax reporting obligations worldwide.
Startups are a curious alchemy of people, knowledge, money, and technology. Access to these building blocks has historically been grossly uneven, but is improving over time. Open-source software and cloud services have made the core infrastructure of technology companies easier and cheaper to build than ever before. The internet has collected and distributed a growing body of practice for the practical know-how of how to build and scale companies.
We just released version 11.0 of our iOS SDK, which adds a few new features: simpler integration, sources support, card scanning, city and state auto-fill, and customer pre-fetching.
We recently released a new and improved version of Connect, our suite of tools designed for platforms and marketplaces. Stripe’s design team works hard to create unique landing pages that tell a story for our major products. For this release, we designed Connect’s landing page to reflect its intricate, cutting-edge capabilities while keeping things light and simple on the surface.
In this blog post, we’ll describe how we used several next-generation web technologies to bring Connect to life, and walk through some of the finer technical details (and excitement!) on our front-end journey.
Managing payments for marketplaces and platforms is harder than for most other businesses: not only do these businesses have to accept money from customers, but they also need to handle funds and pay out to third parties. Adding further complication, paying out money means doing things like checking recipient IDs, reporting taxable income, and a whole host of new tasks.
Code is central to Stripe: we build APIs, software tools, and infrastructure that are in turn used by other software engineering-driven businesses. And of course code is also central—by definition—at other software companies.
Today, we’re updating our support for team roles in the Dashboard: we’ve made what’s there clearer and we’re also adding two new roles. If you haven't seen this part of the Dashboard before, we support you giving as many team members as you like access to your Stripe account. When we first added teams and roles to Stripe, we only provided three access levels: administrator, read and write, and read-only. We’ve heard feedback that different job functions need a more distinct set of permissions when accessing Stripe accounts.
As software becomes more important in the world, the practice and art of software is becoming more important too. A lot has been written about how individual engineers can be more effective. We've noticed that much less has been written about how software engineering teams can be more effective.
As software becomes more important in the world, the practice and art of software is becoming more important too. A lot has been written about how individual engineers can be more effective. We've noticed that much less has been written about how software engineering teams can be more effective.
Just over a year ago, we launched Stripe Atlas, a new way to start an internet business. It was something of an experiment to begin with, but the response has been hugely encouraging. Since we announced Atlas, thousands of entrepreneurs from 124 countries have used Atlas to start their company. Atlas companies are building everything you could imagine, including a deployment platform in California, a presentation tool in Chile, and a cosmetics startup in the Gaza Strip.
Availability and reliability are paramount for all web applications and APIs. If you’re providing an API, chances are you’ve already experienced sudden increases in traffic that affect the quality of your service, potentially even leading to a service outage for all your users.
The first few times this happens, it’s reasonable to just add more capacity to your infrastructure to accommodate user growth. However, when you’re running a production API, not only do you have to make it robust with techniques like idempotency, you also need to build for scale and ensure that one bad actor can’t accidentally or deliberately affect its availability.
We built Stripe Atlas to help entrepreneurs from all over the globe start and run an internet business, no matter which industry they're in, where they're based, or their gender or ethnicity. However, women are still not starting companies or raising money at nearly the same rate as men—women made up only 7% of founders whose companies received more than $20M in VC funding between 2009 and 2015. We believe that a more diverse entrepreneurial ecosystem leads to better products and services for everyone.
Today, we're expanding the number of currencies that Canadian businesses on Stripe can accept. In the past, Canadian companies could accept only payments in U.S. or Canadian dollars; starting today, you can charge in any of more than 130 currencies. As you'd expect, we'll automatically convert and transfer funds in either CAD or USD.
The networks connecting our servers are, on average, more reliable than consumer-level last miles like cellular or home ISPs, but given enough information moving across the wire, they’re still going to fail in exotic ways. Outages, routing problems, and other intermittent failures may be statistically unusual on the whole, but still bound to be happening all the time at some ambient background rate.
To overcome this sort of inherently unreliable environment, it’s important to design APIs and clients that will be robust in the event of failure, and will predictably bring a complex integration to a consistent state despite them. Let’s take a look at a few ways to do that.
Engineering teams face a common challenge when building software: they eventually need to redesign the data models they use to support clean abstractions and more complex features. In production environments, this might mean migrating millions of active objects and refactoring thousands of lines of code.
Stripe users expect availability and consistency from our API. This means that when we do migrations, we need to be extra careful: objects stored in our systems need to have accurate values, and Stripe’s services need to remain available at all times.
In this post, we’ll explain how we safely did one large migration of our hundreds of millions of Subscriptions objects.
We're excited to launch a few features today that make it much easier to manage your subscriptions from the Dashboard. One of the most common pieces of feedback we've heard from our users is that it was challenging to support business models where customers are commonly subscribed to multiple plans (such as those with "add on" features). You can now create subscriptions that are composed of multiple plans, which lets you use Stripe to better represent the business model of many subscriptions businesses.
Starting a business is hard. Some of the difficulty is intrinsic—making products and services then convincing customers to pay for them will always be a challenge. Some of the difficulty is unnecessary—access to the infrastructure and tools for starting up an internet business is not evenly distributed.
We just launched version 1.1.0 of our Android SDK, which fixes a few bugs and adds some new features: threading control, brand
instead of type
for cards, look up a card’s funding source, and Javadoc.
When people talk about their data infrastructure, they tend to focus on the technologies. However, we’ve found that just as important as the technologies themselves are the principles that guide their use. Here's our experience with one such principle that we’ve found useful: reproducibility.
With so many new technologies coming out every year (like Kubernetes or Habitat), it’s easy to become so entangled in our excitement about the future that we forget to pay homage to the tools that have been quietly supporting our production environments. One such tool we've been using at Stripe for several years now is Consul. Consul helps discover services (that is, it helps us navigate the thousands of servers we run with various services running on them and tells us which ones are up and available for use). This effective and practical architectural choice wasn't flashy or entirely novel, but has served us dutifully in our continued mission to provide reliable service to our users around the world.