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.
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 code2388153. - 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.