Blog

Suivre Stripe sur Twitter

New security features for your Stripe account

Aaron Forsander on September 13, 2017

Today, we’re launching two additional features to improve the security of your Stripe account: an option to use hardware tokens for two-step authentication and the ability to create API keys with restricted access and granular permissions.

Two-step authentication with hardware tokens

We first introduced two-step authentication for Stripe accounts back in 2012. Now, in addition to SMS or using Google Authenticator, you can also register a physical security key to approve logins to your Stripe account. We support any device using the Universal 2nd Factor (U2F) standard hosted by the FIDO Alliance. You can read more about the devices and browsers we support; of note, a single hardware key can be registered for two-step authentication with multiple services like AWS, Google, GitHub, and more.

We recommend using a hardware key to protect your Stripe account because they are designed to be resistant to phishing attacks. A U2F key requires physical access to the hardware device, not just access to your password. Unlike two-step authentication that uses SMS or Google Authenticator, you can’t be tricked into entering a pin on the wrong website. In addition, tapping the device is faster than waiting for an SMS code and typing it in.

When you’re ready, you can register a device from your Dashboard settings. Note that you’ll need to enable at least one other two-step authentication method as a backup option before you can add your security key.

Restricted access API keys

We’ve added the ability for businesses to generate multiple API keys, allowing developers to safely grant programmatic access to Stripe accounts while precisely defining the scope of each API key; these keys can also be revoked at any time.

We’ve heard from many of our users—from startups to public companies—that their engineering teams increasingly rely on multiple microservices to interact with and use Stripe’s API. You can now restrict each of these services to the minimum required set of permissions to reduce risk. For example, a data analytics service may be allowed to only read charges on a Stripe account, or the backend for customer support software may be able to exclusively issue refunds, but not alter customer information. Businesses can also use this feature to define restricted access and safely share data when working with third-party partners.

You can generate an API key with restricted access from the Dashboard today. We’re also beta testing the ability to generate these keys programmatically via the API. If you’re interested in this feature, please get in touch.

We hope these features help your business keep your Stripe account safe. You can also check out our security guide to learn about more ways to keep your Stripe integration secure.

September 13, 2017

Supporting Hypothesis

Sam Ritchie on September 1, 2017

In September, Stripe is supporting the development of Hypothesis, an open-source testing library for Python created by David MacIver. Hypothesis is the only project we’ve found that provides effective tooling for testing code for machine learning, a domain in which testing and correctness are notoriously difficult.

Instead of unit tests, Hypothesis lets you define certain properties of your functions that should hold true for every input. A property is a statement like “My sorting function should return a sorted list given any input list.” Every time the tests run, Hypothesis attempts to prove your properties wrong by feeding in thousands of automatically generated example inputs. If any of your properties break, Hypothesis returns the smallest possible example of failing input.

Here’s an example of a Hypothesis test:

from hypothesis import given
import hypothesis.strategies as st

@given(st.lists(st.integers()))
def test_reversing_twice_gives_same_list(xs):
    # This will generate lists of arbitrary length (usually between
    # 0 and 100 elements) whose elements are integers.
    ys = list(xs)
    ys.reverse()
    ys.reverse()
    assert xs == ys

This style of testing is a perfect match for machine learning workflows. We use machine learning to make products like Radar, which helps hundreds of thousands of Stripe users fight fraud at a global scale, more effective. Testing machine learning code is especially critical when your systems can have material consequences for users. Every day, we train many models on large datasets, but unit tests alone can’t capture all of the complexity of the possible input data. For the past few months we’ve been using Hypothesis to generate input data for our tests of the models behind Radar.

While working with Hypothesis, we found that support for property-based testing with Pandas and NumPy wasn’t built out. We’re excited to support the project in making concrete progress towards integrating with these two foundational, commonly-used libraries in Python’s ML toolkit.

We plan to use Hypothesis more broadly at Stripe and hope that the project’s development over the next few months also helps other companies reliably integrate machine learning into more products.

At Stripe, we regularly contribute to open-source projects and rely on open-source software for developing many different parts of our stack. We have a particularly strong interest in areas where the right tooling can provide outsized leverage to the larger developer community. If you’re working on such a project, we’d love to hear from you!

September 1, 2017

Kia ora, New Zealand!

Mac Wang on August 22, 2017

Today we’re officially launching Stripe in New Zealand!

Businesses in New Zealand can now sign up instantly and start accepting payments in minutes with 135+ currencies from customers around the world. From Connect and Subscriptions to Radar and Sigma, New Zealand businesses can now use the full Stripe stack to start and scale global companies.

Thousands of companies gave us feedback and helped shape our product for New Zealand. During our preview, we’ve worked with some of the region’s fastest-growing businesses: Xero uses Stripe to let any of their million users accept credit cards for their invoices—one of the first accounting platforms to do so. Mobi2Go, a software-as-a-service platform for restaurants across the world, uses Stripe to allow restaurants to accept payments from their customers with Apple Pay and cards in local currencies.

And we would love to meet more entrepreneurs and businesses in New Zealand! We’re holding Office Hours this week across four technology hubs in Auckland and Wellington. If you’re considering Stripe, have any questions, or just want to meet other entrepreneurs, we hope to see you there.

We can’t wait to see what Kiwi companies build with Stripe!

Stripe Office Hours
Wed 23
CreativeHQ Wellington 10:00am–12:00pm
Icehouse Auckland 11:00am–1:00pm
BizDojo Wellington 2:00pm–4:00pm
BizDojo Auckland 2:00pm–4:00pm

August 22, 2017

APIs as infrastructure: future-proofing Stripe with versioning

Brandur Leach on August 15, 2017 in Engineering

When it comes to APIs, change isn’t popular. While software developers are used to iterating quickly and often, API developers lose that flexibility as soon as even one user starts consuming their interface. Many of us are familiar with how the Unix operating system evolved. In 1994, The Unix-Haters Handbook was published containing a long list of missives about the software—everything from overly-cryptic command names that were optimized for Teletype machines, to irreversible file deletion, to unintuitive programs with far too many options. Over twenty years later, an overwhelming majority of these complaints are still valid even across the dozens of modern derivatives. Unix had become so widely used that changing its behavior would have challenging implications. For better or worse, it established a contract with its users that defined how Unix interfaces behave.

Similarly, an API represents a contract for communication that can’t be changed without considerable cooperation and effort. Because so many businesses rely on Stripe as infrastructure, we’ve been thinking about these contracts since Stripe started. To date, we’ve maintained compatibility with every version of our API since the company’s inception in 2011. In this article, we’d like to share how we manage API versions at Stripe.

Read more

August 15, 2017

Official support for .NET

Andrew Nelder on August 8, 2017

Today, we’re excited to add .NET to our officially supported languages (alongside Ruby, Python, PHP, Java, Node, and Go). Going forward, we’ll regularly be updating the Stripe .NET library to support our latest products and features.

Over the past few months, we’ve been working closely with Jayme Davis, the maintainer of a popular third-party library for .NET developers, to transfer it over to Stripe. With more than 400,000 downloads, the library represents the cumulative work of dozens of open-source contributors and targets the .NET Standard to support cross-platform compatibility.

The latest release includes some additional improvements:

  • Bitcoin and 3D Secure in Sources. The Sources API offers a single integration path for all payment methods. The .NET library now supports Bitcoin payments and 3D Secure via Sources so that developers can maintain simpler integrations for specific payment methods.
  • Webhook signatures. We’ve added webhook signatures to help you ensure that the information you receive at your webhook endpoint has not been altered by a malicious third party.
  • Improved object expansion. The .NET library now deserializes more objects from our JSON API, which should provide faster access to properties on nested objects. In many cases, it also reduces unnecessary API calls.

We’ve updated our API reference to include complete code samples for .NET and we plan to roll out .NET code examples throughout our documentation over the next few months. You can get the latest library from GitHub or NuGet, and check out a simple example using Stripe and ASP.NET.

We hope these updates make it easier and faster for .NET developers to integrate and use Stripe. We’d also love to hear your feedback and ideas: just open an issue, join our IRC channel, or send us an email.

August 8, 2017

Payable is joining Stripe

Jorge Ortiz on July 26, 2017

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.

Multi-sided platforms around the world are using Stripe Connect to accept money, pay it out to third parties, and eliminate all the complexity that’s typically involved. One traditional pain point is tax reporting: as a marketplace, you’re often providing taxable income to participants of your marketplace, which must be reported to the IRS or other tax authorities. We heard from our users that accurately generating, delivering, and filing tax forms for as many as hundreds of thousands of vendors, contractors, and partners in multiple countries was a consistent difficulty and something they’d like to see fixed.

We partnered with Payable in 2015 to provide and distribute 1099 tax forms to Connect platforms. Payable built a deep integration with the Stripe API that automated generating and sending the right tax forms to the right people for thousands of Stripe platforms. Now, as part of Stripe, the Payable team will continue to improve Stripe Connect’s tax support to better serve global platforms and marketplaces.

Payable’s tax reporting tools will stay hosted on payable.com through the next tax season and we’ll use the current Payable integration to generate any required tax forms for 2017. We will fully integrate Payable with Stripe Connect and the Stripe Dashboard after that.

We’re thrilled to welcome the Payable team to Stripe and look forward to making Connect even more useful for marketplace businesses.

July 26, 2017

Marc Andreessen answers questions from Stripe Atlas founders

Patrick McKenzie on July 13, 2017

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.

There still exists a dependence on certain people, though, particularly where the allocation of money is concerned.

Stripe Atlas helps founders worldwide start ambitious companies. One of the things we hope to do is to decrease the social distance between our entrepreneurs and investors, experts, and others who can help them. To do this, we created a private Stripe Atlas Forum, and have been inviting guests to speak directly with Atlas members and answer their questions about building companies.

Marc Andreessen is a co-founder of Andreessen Horowitz and famously coined the phrase “software is eating the world.” Prior to that, he co-wrote Mosaic, the first mainstream web browser. While he’s unfortunately no longer an active Twitter user (his @pmarca account made for compulsory reading while he was), he did agree to answer over 30 questions from Stripe Atlas founders. These include questions about how to convince a venture capitalist to give one money, what has changed about the tech industry since he co-wrote the first web browser, and where opportunities still exist to build huge, meaningful businesses around technology the world needs. Marc graciously gave us permission to post a portion of his answers publicly, for the benefit of the wider community.

If we can help you with access to the people, knowledge, and technology that will help you start and grow your new business, join Stripe Atlas. (And if you need the money, read Marc’s advice below on pitching venture capitalists.)

Read more

July 13, 2017

Stripe in Hong Kong + Alipay and WeChat Pay globally

Piruze Sabuncu on July 10, 2017

Today, we’re excited to officially launch Stripe in Hong Kong. Local companies can now access the full Stripe stack including Stripe Radar, Connect with Custom accounts, and 3D Secure support. Starting today, we’re also rolling out support for Hong Kong users to get paid out in USD without currency conversion to local, USD-denominated bank accounts.

Located between Mainland China and the rest of Asia, Hong Kong is a launchpad for thousands of globally-minded Asian entrepreneurs and a gateway to Asia for businesses around the world.

While in preview, we’ve been able to work with many of the fastest-growing companies in Hong Kong to help them sell to customers anywhere in the world and manage complex business models at scale. We’d like to thank them for their ongoing support and feedback—from Grana and HBX to Tink Labs and Klook, two-thirds of venture-backed startups accepting payments in Hong Kong now use Stripe.

Alipay and WeChat Pay

Digital wallets are the payment method of choice in mobile-first markets like China. In 2016, Alipay and WeChat Pay dominated the mobile wallet ecosystem in China, with 92% market share between them. So, today we’re introducing global support for Alipay and WeChat Pay, connecting Stripe businesses in 25+ countries to the hundreds of millions of Chinese consumers that actively use these payment methods.

Both Alipay and WeChat Pay can easily be implemented with Sources, Stripe’s unified API for accepting any payment method with a single integration. Additionally, we’ve partnered with Alipay to support recurring payments for Stripe users, which we hope will help SaaS and subscriptions-based businesses create frictionless experiences for customers paying with Alipay.

We’ve also put together a guide to help businesses navigate Alipay, WeChat Pay, and other supported payment methods. If your business wants to support either WeChat Pay or recurring payments on Alipay, please get in touch.

Whether in the Eastern or Western hemisphere, we look forward to seeing more businesses expand globally and create new kinds of products and services with Stripe.

We’re also hiring! If you’d like to work with us, we’d love to hear from you.

Start accepting payments instantly. Get Started with Stripe

今天,我们很高兴地宣布Stripe正式在香港发布。现在,本土企业已经能够访问完整的Stripe产品与服务 ,包括Stripe雷达自定义帐户的连接、以及3D Secure的支持。即日起,香港用户也可以使用我们推出的美元支付方式,无需再通过当地银行的美元账户进行货币兑换。

 

香港地处中国内地及亚洲其他地区之间,是数千名亚洲企业精英腾飞的舞台,也是全球企业进入亚洲的门户。

 

在Stripe试用版推出阶段,我们已经与香港众多增长快速的企业进行了合作,帮助他们向世界各地的客户展开销售,并大规模地管理复杂的商业模式。我们要感谢他们一直以来的支持和反馈——包括GranaHBXTink Labs, 和Klook在内至今有三分之二获得风投支持的初创企业已经正在使用Stripe。

   

携手支付宝和微信支付

 

今天,数字钱包已成为移动先行市场(如中国)的首选付款方式。在2016年中,支付宝和微信支付已占领了92%的市场份额,并服务着多达一千万的手机用户,成为此市场中的两个企业巨头。因此,我们现已在全球范围内支持支付宝和微信支付,将超过25个国家的Stripe业务与使用这些付款方式的数亿中国消费者连接在一起。

 

支付宝和微信支付均可通过Sources轻松实现。Sources是Stripe的统一应用程序编程接口(API),可一线化地实现所有付款方式。此外,我们还与支付宝合作,支持Stripe用户进行定期付款,希望这样能够助力基于软件即服务和基于订阅的企业来为使用支付宝付款的用户创造顺畅的支付体验。

 

我们还汇总了一份指南,便于企业了解支付宝、微信支付和其他已支持的付款方式。如果您的企业想获得微信支付或基于支付宝的定期付款上的支持,请与我们联系。 

 

我们期待能够看到更多企业在全球范围内的不断扩展,并与Stripe一同创造全新的产品和服务。

 

另外,我们正在招贤纳士!如果您想加入我们,欢迎随时与我们联系

今天,我們很高興宣布Stripe正式登陸香港。本地企業現可使用完整的Stripe產品與服務 ,包括Stripe Radar、連接至自訂帳戶、以及支援3D Secure。由即日起,香港用戶也可使用我們推出的美元支付方式,毋需於本地銀行的美元賬戶進行貨幣兌換。 

 

位處中國內地及亞洲其他國家之間,香港是超過千間亞洲企業對外發展的舞台,也是全球企業進入亞洲的重要渠道。

 

在Stripe的試用階段,我們已與香港眾多快速增長的企業合作,協助他們與世界各地的客戶進行交易,並具規模地管理複雜的商業模式。我們衷心感謝他們一直以來的支持和反饋,當中包括Grana、 HBX、Tink Labs及Klook,至今三分之二獲得風險投資支持及支援香港地區支付的初創企業正在使用Stripe。  

 

與支付寶和微信支付攜手合作 

 

今天,電子錢包已成為手機主導市場的首選支付方式,例如中國。在2016年,支付寶和微信支付已佔領了92%的市場份額,主導中國的電子錢包生態系統。因此,我們現已在全球各地支援支付寶和微信支付,將Stripe於超過25個國家的業務與使用這些支付方式的數億中國消費者連接起來。

 

目前,支付寶和微信支付均可通過Stripe的統一應用程序界面Sources輕易實行,一體化地支援所有付款方式。此外,我們還與支付寶合作,支援Stripe用戶進行定期付款,期望幫助以軟件即服務 (SaaS) 和訂閱模式為基礎的企業,為其使用支付寶付款的客戶創造流暢的支付體驗。

 

我們還製作了一份指南,讓企業了解支付寶、微信支付和其他已支援的支付方式。如您的企業欲支援微信支付或支付寶的定期付款方式,請與我們聯系。

 不論在任何地區,我們期待能夠看到更多企業不斷在全球擴展,並與Stripe一同創造全新的產品和服務。

 另外,我們正在招賢納士!如您想加入我們,歡迎隨時與我們聯繫

July 10, 2017

iOS SDK updates

Ben Guo on June 29, 2017

We just released version 11.0 of our iOS SDK, which adds a few new features:

UpdateSimpler integration

We’ve greatly simplified the integration for our pre-built UI components. Previously, it required maintaining multiple endpoints on your backend. Now, just a single endpoint lets you take advantage of features like Apple Pay detection and optimized UI flows for collecting and managing your customer’s payment details.

NewSources support

The SDK now supports creating and retrieving Sources, Stripe’s unified API for accepting any payment method (like SEPA or iDEAL) with a single integration. For more information, you can refer to our guide to using Sources in the iOS SDK.

NewCard scanning

If you use STPPaymentContext, you can now give your users the option to scan a card instead of entering it manually. Just install card.io, a popular open-source card scanning library, and we’ll show a "Scan Card" button above the card field:

NewCity and state auto-fill

Our billing and shipping address forms now fill in city and state automatically based on your customer’s zip code if they are located in the United States.

UpdateCustomer pre-fetching

Our pre-built UI components now have the ability to pre-fetch and cache your customer’s information from the Stripe API, making it easy to build a smoother checkout experience. To take advantage of this, initialize STPCustomerContext before your customer enters the checkout flow.

If you’re new to the Stripe iOS SDK and are interested in these features, we’ve put together an integration guide to get started. If you already use STPPaymentContext, you can follow these instructions to migrate to simpler integration in the latest version.

As always, if you have any questions or feedback, you can email us (or file an issue on Github).

June 29, 2017