The Messenger Platform makes it fast, easy, and seamless for you to accept payments from users of your bot. Payments on the Messenger Platform can be implemented in-conversation with the Buy Button, or in the Messenger webview with tokenized payments. This gives you the flexibility to handle user payments in the way that makes the most sense for your bot.
Payments are currently in beta
The feature can be tested by any bot in development mode, if the bot has been accepted into our beta program to receive payments in production.
Currently the beta is only available to Pages with a US-based admin, and only supports processing payments for US-based transactions.Request Access →
Payments in Messenger Platform v2.1
The new SDK improves the native payment experience in the Messenger webview, allowing people to complete a transaction in the webview in a single step. Previously, webview payments were a two-step process. The integration is easier to implement and will work for both the webview on your 1:1 thread but also in the chat extension. We are deprecating the original SDK over the next 6 months (Feb 1st, 2018).
To view the documentation for the deprecated payments SDK, see Deprecated Webview Payments.
There are three options for integrating payments into your Messenger bot:
Buy Button (U.S. Only)
The buy button can be sent in a Generic Template or List Template message. The button starts the payment flow, and prompts the message recipient to choose their payment method, shipping address, and other details.
When the message recipient taps the 'Pay' button, the Messenger Platform will automatically complete the transaction using your connected Stripe or Paypal account, or send a tokenized, single-use Discover Card to your webhook for you to process the payment. Once the transaction is completed, details are returned to your webhook.
Messenger Webview (U.S. Only)
For a custom experience, you can process payments from Messenger users in the Messenger webview, using a connected Stripe/Paypal account or tokenized payments. This gives you complete control of the payment experience. For example, you can integrate your existing checkout page into your customer's Messenger experience.
For implementation steps, see Implementing Payments With the Messenger Webview.
To view the documentation for the deprecated payments SDK from Messenger Platform v1.2 - 2.0, see Deprecated Webview Payments.
Custom Implementation in the Messenger Webview (Worldwide)
The Messenger Platform provides several ways for you to integrate payments into your Messenger bot with a connected Stripe/Paypal account or tokenized payments, but you are not required to use these integrations. For example, you may already have a checkout flow built into your website that you want to leverage to process payments.
To implement your custom payment flow in Messenger, simply open your existing site in the Messenger webview, and handle your customer's payment as though they were visting your checkout flow on the web.
Please note, that you must apply for permission to offer payments through a custom flow.
For complete details on using the Messenger webview, see the Messenger webview reference.
Supported Payment Providers
Payment providers are services that process payments for your bot. Currently, we support the following payment providers:
- Connected Stripe/PayPal Account
- Tokenized Payments
For more information and setup instructions, see Setting Up A Payment Provider.
Support for Deprecated Versions
As of July 27, 2017, the implementation and usage of webview payments from Messenger Platform versions v1.2 - v2.0 are deprecated. Support for the deprecated usage will continue until February 1, 2018.
All integrations for payments in the Messenger webview, using the Messenger Extensions SDK should migrate to the usage described in this document.
The documentation for the deprecated usage, can be found here:
Visit our Help Center for more information about payments in Messenger.