Documentation Index
Fetch the complete documentation index at: https://docs.caibo.digital/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Caibo embedded checkout is a drop-in JavaScript SDK that renders the Caibo payment page inside your website as an inline container or full-screen modal overlay — no full-page redirect required. The customer never leaves your site, and your servers never touch raw card data.Architecture
The SDK creates an<iframe> that hosts the Caibo payment UI. You choose between two display modes:
- Inline mode — the iframe is mounted into a
<div>on your page (ideal for single-page checkout flows). - Modal mode — the SDK injects a centered modal with backdrop overlay onto
<body>(no container element required).
embedded=true to the checkout URL automatically. The payment UI detects this flag and fires window.parent.postMessage instead of performing a full-page redirect.
postMessage Event Flow
The lifecycle of an embedded checkout session, from script load through completion:Merchant page loads SDK script
Add the SDK
<script> tag (or load it dynamically). The global CaiboCheckout object becomes available.CaiboCheckout.init() creates iframe
Your code calls
CaiboCheckout.init(options) with the payment URL and callbacks.Checkout UI renders inside iframe
The Caibo payment page is fetched and displayed inside the iframe.
Customer enters card & submits payment
Card data and any 3-D Secure challenge happen entirely inside the iframe — never on your domain.
3DS challenge (if required) — inside iframe
Authentication navigates within the iframe. The final authentication result is delivered via
postMessage.payment.success / payment.failure → callback
The terminal event is forwarded to
onSuccess or onFailure with the result payload.Why Embedded?
No full-page redirect
The customer stays on your page; only the iframe content changes.
Card data isolation
Raw card data lives only inside the Caibo-hosted iframe — keeping your PCI scope minimal.
Native 3DS support
3-D Secure flows happen seamlessly inside the iframe with no extra code on your side.
Works with Apple/Google Pay
Wallet payments work normally inside the iframe; no extra configuration required.
Next Steps
- Create a Payment Request — obtain the
requestIdyou’ll pass to the SDK. - Quick Start — Inline & Modal — copy a minimal working integration.
- SDK API Reference — review every option and event payload.

