Skip to main content
Ionic gives you four ways to collect a payment. Hosted checkout, embedded checkout, and payment links are browser-based and create the same underlying checkout session. Terminal payments use the same PaymentIntent as online payments to collect a card on an assigned physical device.

Hosted Checkout — redirect

Create a session when your application has a live cart, order, quote, or buyer-specific state, or recurring signup, and redirect the buyer to the hosted page.
Use it when the amount comes from an in-app cart, the buyer is already known, you need an order-specific client_reference_id, or your backend decides the exact line items at purchase time. It’s also the smallest integration — start here unless you have a reason not to.

Embedded checkout — your page

The same session, rendered inside an iframe on your own site. Buyers never leave your domain; card details never touch your page.
Choose it when staying on your domain matters more than the extra integration steps (a one-time domain registration and a client-side mount). Everything else — session fields, webhooks, fulfillment — is identical to hosted checkout. A link is a reusable, catalog-backed offer that mints a fresh checkout session every time a buyer opens it.
Use it when a sales or support team shares a fixed offer, a QR code or campaign should point at checkout, or your team needs to activate, edit, or retire an offer without a deploy.

Terminal payments — physical device

Create a PaymentIntent with no payment method attached, then select a Terminal assigned to your account when the buyer is ready to pay.
Use it for an attended checkout where the cardholder presents a card to an assigned terminal. Your backend selects the Ionic tmr_… identifier in the route and sends the PaymentIntent ID with a payment_type of credit or debit. You do not send device credentials or create a PaymentMethod first.

Which to use

For an online cart, create a checkout session: hosted if a redirect is acceptable, or embedded if the buyer should stay on your site. If the payment page itself is the product, create a payment link. For an attended, card-present sale, use an assigned terminal. Apple Pay is available on all three browser-based surfaces; see Apple Pay for what each one requires.