# How Xero payment pages work

> Step-by-step Pay Now from a Xero invoice through a branded page, Stripe, and duplicate-safe write-back.

## Pay Now

Xero Payment Services register a custom URL on the organisation. Placeholders carry **invoice number, amount and currency** when the customer clicks Pay Now.

## Branded page

The customer lands on a page that shows who is being paid and what is owed. Card details go to **Stripe** — Xero is not storing cards, and Stripe is not becoming a second ledger.

## Write back

OnDraft posts the payment onto the Xero invoice. If the invoice is already paid, that response is treated as **success**. Retries must not double-apply cash.

## What can follow

Xero now holds cash truth. Where Logistaas (or another operational system) is in scope, the existing [payment.received path](/integrations/logistaas/xero/) can enrich, duplicate-check and write with serial `XERO-{id}`.

The visual flow sits on the [Xero Payment Pages spec](/services/xero-payment-pages/). You can also [draw it in the Flow Designer demo](/services/xero-payment-pages/designer/) — demo mode, nothing talks to your Xero organisation. The first scoped custom integration is free; [talk to us](/contact/?source=flow-designer-demo&service=free-custom-integration) to claim it.
