Payin Overview

A Payment Page is the core resource for accepting payments. Breeze generates a hosted checkout page that handles card processing, Apple Pay, Google Pay, and crypto — so you don't need to build your own checkout UI or manage PCI compliance.

📘

Payment methods include credit/debit cards, Apple Pay, Google Pay, and crypto. Apple Pay and crypto require account-level enablement — see Configuring Payment Methods.

Why use payment pages?

  • One integration — supports cards, Apple Pay, Google Pay, and crypto with no per-method work
  • No PCI scope — Breeze hosts the checkout; your server never touches raw card data
  • Flexible delivery — redirect to the hosted page, embed as an iframe, or use the React SDK
  • Real-time updates — receive webhook events on every status change without polling

How it works

flowchart TD
    A["Your backend creates a Payment Page (POST /v1/payment_pages)"] --> B[Breeze returns a hosted payment URL]
    B --> C[Customer redirected to payment page]
    C --> D[Customer completes payment]
    D --> E[Breeze redirects to your successReturnUrl]
    E --> F[Your backend receives PAYMENT_SUCCEEDED webhook]

1. Create a Payment Page

Call POST /v1/payment_pages with the amount, currency, and optional customer and product details. Breeze returns a unique hosted URL. See the Quick Start for a full worked example, or the 📄 API Reference — Create a payment page for the full schema.

2. Send the Customer to the Page

Redirect the customer to the returned URL — or embed the page in your UI using the iframe guidelines or React SDK.

3. Customer Completes Payment

Breeze handles the entire checkout: card entry, 3DS authentication, Apple Pay / Google Pay sheets, and crypto wallet flows.

4. Handle the Result

After payment, Breeze redirects the customer to your successReturnUrl or failReturnUrl. Your backend should listen for the PAYMENT_SUCCEEDED webhook rather than relying solely on the redirect — redirects can fail if the customer closes the tab.

5. Stay in Sync

Your server receives webhook events (PAYMENT_SUCCEEDED, PAYMENT_EXPIRED, PAYMENT_ATTEMPT_FAILED) as the payment page moves through its lifecycle. See Webhook Event Reference for full payload examples.


What's in this section

PageWhat it covers
Query Status & CancelChecking payment page status, expiring a page before payment
React SDKEmbedding the checkout with the Breeze React SDK
Embedding iframeiframe setup, Apple Pay cross-domain config, postMessage events
Configuring Payment MethodsControlling which methods appear; which require account enablement
Customised UITheming and branding the hosted checkout
RefundsIssuing full and partial refunds