Skip to main content
checkout_button Takes the customer straight to payment.

How it works

The template is the invitation to pay, approved once. At send time you provide the order: items, quantities, subtotal, total and the payment method (Pix, boleto, link or card). The customer taps the button, reviews the order and pays without leaving WhatsApp, and the payment result arrives on your webhook. The button label is fixed by Meta (Review and Pay), translated to the customer’s language.
Requires catalog and payments enabled in Commerce Manager. Without them the template is approved, but the button does not open payment.

At creation and at send time

Fields in this model

Full JSON

Two JSON payloads: one creates the template, and Meta approves it once. The other sends the message, and goes on every dispatch, with that send’s values in the variables marked with braces.

1. Create the template

POST /whatsapp/businesses/{wabaId}/templates — see API reference.

2. Send it once approved

POST /v1/channels/{channelId}/messages — see Send template.

What Meta rejects here

  • A label other than Review and Pay, with code 2388153.
  • A quick reply interleaved with the payment button.
Order amounts go in cents (offset 100: 500.00 is 50000), and every order needs a unique reference_id — that is how the payment status comes back on the webhook.