> ## Documentation Index
> Fetch the complete documentation index at: https://docs.heylua.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# payment

> A checkout, booking, or invoice link rendered as a payment button

`payment` turns a URL into a payment button on the channels that have one. The platform teaches this block on every text channel; see [Response formatting](/channels/formatting/overview). The URL comes from your payment provider, typically returned by a tool.

*Verified against lua-cli 3.33.0.*

## Syntax

```text theme={null}
::: payment
[Label](https://pay.example.com/session)
:::
```

## Fields

| Field | Required | Notes |
| - | - | - |
| `[Label]` | Yes | Button text in email sent from your own address only. The web widget shows a fixed **Open payment** button; WhatsApp, Slack, and Teams show **Pay Now**, Messenger and Instagram **Pay**. |
| `(url)` | Yes | Public HTTPS URL of the checkout page. |

## Example

```text theme={null}
Your order is ready to pay.

::: payment
[Pay $1,299 for order 4821](https://checkout.stripe.com/c/pay/cs_test_abc123)
:::
```

<Frame caption="payment rendered as a button in the web widget">
  <img src="https://mintcdn.com/luaglobal/5airD3u2P6mv3Ovl/images/formatting/payment-link.png?fit=max&auto=format&n=5airD3u2P6mv3Ovl&q=85&s=c6d124206009db126012c2729bfe5955" alt="Payment button rendered in the web widget" width="3024" height="544" data-path="images/formatting/payment-link.png" />
</Frame>

## Where it renders

| Channel | Behavior |
| - | - |
| Web widget | **Open payment** button that opens the URL in a popup, or a new tab on phones |
| Email (your own address) | Button with the label |
| WhatsApp | Call-to-action URL button labelled **Pay Now**, with the reply text as the message body |
| Messenger, Instagram | Button template with a **Pay** button per link |
| Slack, Teams | **Pay Now** button; any `actions` block in the same reply is dropped |
| iMessage | The URL as plain text |
| MessageBird | The URL as text, prefixed `💳 Pay Now:` |
| SMS, Front, email (generated inbox) | `Pay:` and the URL as a text line |
| RCS | Dropped; put the link in the text |

On WhatsApp only the first payment link in a reply becomes the button.

## See also

* [Response formatting](/channels/formatting/overview) — the per-channel matrix
* [actions](/channels/formatting/actions) — follow-up choices that don't open a URL
* [links](/channels/formatting/links) — URLs that are not payments


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.