Configure the payment messages

Conversa Labs

Conversa Labs

Last updated on Jul 22, 2026

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