## Overview

Payments send the customer two messages: the **charge** and the **payment confirmation**. Here you
customize each one's **body** **per language**, with no AI involved. Anything left untouched keeps the
shipped Conversa Labs message.

Beyond the body, you also edit the charge's **auxiliary labels** (captions, button texts, the amount and
due-date lines and the copy-the-code instructions) and configure, **per message type and per language**,
the **approved WhatsApp template** used when the 24h window is closed.

## Prerequisites

- Payments enabled on the account and administrator permission.
- To configure sending outside the window: a **WhatsApp Cloud** inbox with templates approved by Meta.

## Step by step

1. Open **Settings → Payments → Messages**.
2. Pick the **language** in the selector at the top. It opens on the **account language** and lists
   **every language the installation enables** (up to 40), showing how many already carry your copy
   ("N of M languages with content").
3. Write the **charge** and **confirmation** bodies in **Markdown**. Empty = the language's shipped
   message (**Default** badge).
4. Use **variables** (`{x}`) to insert contact, account and charge data. The picker offers **only the
   variables that actually resolve** in that message.
5. Open the **Auxiliary labels** block to adjust the charge's **12** labels.
6. The **Outside the 24h window (WhatsApp Cloud)** block shows up **open, right under each message
   type**. Pick the approved template **for that type in that language**, map the `{{1}}`, `{{2}}`…
   parameters and fill in the link button, if there is one. If no template exists yet, use **Create from
   my text** to generate one from the body you wrote.
7. Check the **preview** per channel, use **Send test** to validate it on a real conversation, and click
   **Save messages** — including after creating a template, because **creating the template does not
   store the configuration**. **Restore default** removes the customization **on the server**, not only
   on screen.

## Settings & options

### Languages and fallback

Language is a **selector** with every language the installation enables. At send time, Conversa Labs looks
for the copy in this order: the **contact's** language → the same base language (`pt_BR` ↔ `pt`) → the
**account** language → the **shipped default** message.

### Auxiliary labels

There are **12** labels: captions, button texts, the **amount** and **due-date** lines and the
**copy-the-code** instructions. They sit in a collapsible block and follow the same language and restore
rules as the body.

### Outside the 24h window (WhatsApp Cloud)

The block appears **open and inline right under each message type** — it is not a section you have to
expand. The template is **per message type and per language** — charge and confirmation each have their
own, instead of a single template for the whole module. It gives you:

- **Pick the approved template** from the catalog.
- **Sync from Meta** and **Create from my text** are **always visible**. When the action is unavailable,
  the button appears **disabled with the reason written next to it**: the inbox is not WhatsApp Cloud,
  the account does not have the **WhatsApp Inbox Suite**, or your profile does not manage inboxes.
- **Sync from Meta** refreshes the list of approved templates.
- **Create from my text** generates the template **from that type's text in that language**, submitting
  it to Meta as a **UTILITY** template, converting each `{{ variable }}` into `{{1}}`, `{{2}}`… and
  pre-mapping them. With no text to generate from, the button is disabled and the screen asks you to
  **write the text first**.
- After submission the template is **not approved yet**: it appears in the selector marked **awaiting
  approval** and only starts delivering once Meta approves it and you sync. Submitting again with the
  **same name replaces the pending draft** instead of failing.
- **Creating the template does not save the configuration** — click **Save messages** to store the
  mapping.
- The **`{{n}}` parameter mapping** and the **link-button** field.
- **Delivery**: picks **which WhatsApp inbox's** approved-template catalog is browsed. The send still
  leaves through the conversation's own inbox.

Templates whose **header requires media or a variable** are not listed here — this send has no way to
fill that header — and the screen states **how many were left out**. They remain usable from the inbox's
own **Templates** tab, linked directly from this screen.

Notes: **WhatsApp Web (WazMeow) has no 24h window** (the block does not even appear); **360dialog** can
select a template but cannot create one; Meta matches **name + language + approved**, so a template in
the wrong language is flagged on screen and would be rejected on send.

### Preview and test send

The preview is **rendered server-side**, per channel, and shows only the channels the account actually
has. It also displays the **resolved out-of-window template**, with the values each parameter will carry.
**Send test** delivers the message to a chosen conversation honouring the 24h window: with the window
closed and no template configured, the test is **skipped with the reason stated on screen**.

### Payment variables

Beyond **contact**, **account**, **conversation**, **inbox**, **agent**, **CRM** and **organization** —
which now really render — these messages offer the charge's own data:

| Variable | Replaced with |
|---|---|
| `{{ payment.amount }}` | Charge amount |
| `{{ payment.currency }}` | Currency |
| `{{ payment.description }}` | Charge description |
| `{{ payment.status }}` | Current status |
| `{{ payment.due_date }}` | Due date |
| `{{ payment.billing_type }}` | Billing type (PIX, boleto, card…) |
| `{{ payment.pay_url }}` | Payment link |
| `{{ payment.pix_payload }}` | PIX copy-and-paste code |
| `{{ payment.boleto_url }}` | Boleto link |
| `{{ payment.boleto_line }}` | Boleto barcode line |
| `{{ payment.gateway }}` | Gateway used |

## Tips, limits & best practices

- Markdown per channel: attachments drop on LINE/TikTok/X; raw HTML disappears in email/widget; `*bold*`
  on WhatsApp shows as a pair of asterisks.
- Configure the out-of-window template **in the same language** as the body — they are pairs, not a
  single global setting.
- Always offer a way to pay in the copy: `{{ payment.pay_url }}`, `{{ payment.pix_payload }}` or
  `{{ payment.boleto_line }}`, depending on the billing type.
- After "Create from my text", the template sits **awaiting approval** at Meta — use **Sync from Meta**
  to see when it is approved and starts delivering.

## Troubleshooting

- **It went out as the default:** the type was empty (**Default** badge) in that language, or the
  contact's language has no copy and the fallback reached the shipped default.
- **Nothing sent outside the window:** confirm the **approved template** for that type **in that
  language**.
- **The template shows as flagged:** it is in a different language from the message — swap it for an
  approved one in the right language.
- **"Create from my text" is disabled:** the reason is written next to the button — the inbox is not
  WhatsApp Cloud (on 360dialog you pick an already-approved template), the account does not have the
  WhatsApp Inbox Suite, your profile does not manage inboxes, or there is no text in that type and
  language to generate the template from.
- **I created the template but it doesn't show up / isn't used:** right after submission it sits
  **awaiting approval** — it only delivers once Meta approves it and you use **Sync from Meta**. Also
  confirm you clicked **Save messages**: creating the template does not store the configuration.
- **I can't find a template in the list:** templates with a **media header or a header variable** are not
  listed here; use them from the inbox's own **Templates** tab.
- **The test send was skipped:** the conversation was outside the 24h window and the message had no
  template configured — the screen states the reason.

## See also

- Connect payment gateways (Asaas / Mercado Pago)
- [WhatsApp Inbox Suite: Templates, Flows and Calls](/hc/ajuda/articles/inboxes-channels-whatsapp-inbox-suite-en)