Payments (Singapore only)

Native Payment features in WhatsApp Business API enhances the customer journey and facilitates conversion.

It's important to note that this payment feature is currently exclusive to Singapore businesses receiving payments from users located in Singapore.

What WhatsApp Payments Enables

WhatsApp Payments allows businesses to receive payments directly inside WhatsApp. This transforms WhatsApp from a messaging channel into a full commerce experience, where customers can:

With the Payments Gateway integration, businesses can send bills and payment requests directly to customers within WhatsApp.

Payments Inside a Message

Payments are initiated through a new type of interactive WhatsApp message called an order_details message. This message:

  • Always contains four components: header, body, footer, and action

  • Includes all information required for the customer to complete payment

  • Is associated with a unique reference_id generated by the business

The reference_id is used throughout the payment flow to identify and track the order.

Regional Availability

The Stripe payment integration is currently exclusive to Singapore and applies only when:

  • The business is registered in Singapore

  • The WhatsApp phone number is from Singapore

  • The customer making the payment is also located in Singapore

Eligible businesses using the 360Dialog WhatsApp Business API can request activation through Support.

How Payment Status Works

Once the order_details message is sent, the business waits for updates about the transaction. WhatsApp supports three possible payment statuses:

  • Pending

  • Captured

  • Failed

A single payment may include one or multiple transactions, each with its own status.

Status updates can be received through webhook notifications, but for security reasons, WhatsApp also provides a payment lookup API that allows businesses to retrieve status directly — even across different phone numbers under the same Business Manager.

Responsibilities and Limitations

Neither 360Dialog nor WhatsApp performs payment reconciliation. The business must reconcile payments directly in Stripe, using:

  • The reference_id of the order, or

  • The transaction_id of each transaction

This ensures accurate financial tracking outside of WhatsApp.

Purchase Flow in App

The purchase flow has the following steps in the WhatsApp customer app:

1

Customers send an order with selected products to the business either through simple text messages or using other interactive messages such as Single Product Message, Multi Product Message, and Product Detail.

2

Once the business receives the order, they send an order_details message to the user. When the user taps on Review and Pay, they will see details about the order and total amount to be paid.

3

When the user taps the Secure Checkout button, a secure in-app webview will appear for the user to pay for the order.

4

Once the payment has been confirmed, the business will be notified of the latest payment status using a webhook notification as shown in section 2 below.

5

Businesses can then send an order_status message to the consumer informing them about the status of the order. Each message will result in a message bubble (as shown below) that refers to the original order details message and also updates the status displayed on the order details page.

Businesses should add a Stripe payment configuration to the WhatsApp Business Account to receive payments on WhatsApp.

Accounts created with Embbeded-Sign up model (Shared WABA) can add it using the 'Direct pay methods' page under 'Singapore' in the WhatsApp Business Manager as shown below. In addition, only Admin and Financial Editors users of such a business are eligible connect the Stripe accounts.

If the WABA was created using the OBO (On Behalf-Of) model, please reach out to our support team and we will assist you during this step.

A payment configuration allows businesses to link their Stripe account to WhatsApp. Each payment configuration is associated with a unique name.

As part of the order_details message, you can specify the payment configuration to use for a specific checkout. WhatsApp will then generate a payment link using the associated Stripe account indicated in the request. This link opens up in an in-app webview so consumers can pay for their order.

After linking your Stripe account, you must integrate with the Payments APIs below. This will allow you to send an order_details message to customers with the payment configuration to receive payments.

Last updated

Was this helpful?