{
    "id": null,
    "name": null,
    "status": "pending",
    "orderNumber": null,
    "reference": null,
    "description": null,
    "redirectUrl": null,
    "cancelUrl": null,
    "successUrl": null,
    "lineItems": {
        "data": []
    },
    "financialAccountId": null,
    "brandingOptions": {
        "primaryColor": null
    },
    "expireTime": null,
    "createTime": null,
    "ownershipGraph": {
        "owner": {
            "id": null,
            "type": null,
            "metadata": null,
            "": null
        }
    },
    "metadata": null
}
A Checkout Session represents a Monime-hosted payment flow where customers complete purchases for a defined set of items.
It is designed for e-commerce and embedded payment scenarios where merchants want a simple, secure way to accept payments across multiple channels without building the payment UI themselves.
Unlike direct API-based payments, a Checkout Session aggregates multiple payment methods — such as Mobile Money, Card, and Bank Transfers — and presents them in a unified checkout experience.

Use Cases

  • E-Commerce Cart Checkout
    A customer selects items in a cart. The merchant creates a Hosted Checkout Session, and Monime presents Mobile Money, Card, and Bank options in one unified flow.
  • Embedded SaaS Billing
    A SaaS platform embeds a Hosted Checkout Session to bill users. Customers pick their preferred channel (Card, MoMo, Bank), and once payment is confirmed, the SaaS receives checkout_session.completed.
  • QR or Link-Based Payment
    Merchants generate a checkout session link or QR code. Customers open the hosted page and choose any available payment method.
  • Fallback Across Methods
    If a user’s card payment fails, they can seamlessly retry with Mobile Money — all within the same checkout session.
{
    "id": null,
    "name": null,
    "status": "pending",
    "orderNumber": null,
    "reference": null,
    "description": null,
    "redirectUrl": null,
    "cancelUrl": null,
    "successUrl": null,
    "lineItems": {
        "data": []
    },
    "financialAccountId": null,
    "brandingOptions": {
        "primaryColor": null
    },
    "expireTime": null,
    "createTime": null,
    "ownershipGraph": {
        "owner": {
            "id": null,
            "type": null,
            "metadata": null,
            "": null
        }
    },
    "metadata": null
}
📋
Properties
id
string
Unique identifier of the checkout session.
name
string
Title or label for the checkout session. Used for display in customer-facing UIs.
status
enum<string>
Status of the checkout session. Possible values:
  • pending: Awaiting initiation.
  • completed: Checkout completed successfully.
  • cancelled: User cancelled the session.
  • expired: Session expired due to inactivity.
Available options: pending cancelled expired completed
orderNumber
string
Internally generated order number that uniquely identifies the payment associated to this checkout session.
reference
string
Optional external reference identifier (e.g., order ID) used to link this session with the developer’s backend system.
description
string
Optional long-form description explaining the purpose or context of the checkout session.
redirectUrl
string
The URL where the customer should be redirected to begin the checkout session. This is typically a hosted checkout page managed by Monime.
cancelUrl
string
The URL to redirect the customer to if they cancel the checkout process before completing payment. This typically returns the user to your site or app with context about the cancellation.
successUrl
string
The URL to redirect the customer to after successfully completing the checkout. Typically used to confirm the order or show a success message on your site or app.
lineItems
object
Container for the list of items included in the checkout session. Each item represents a product or service being purchased, along with its quantity and pricing.
financialAccountId
string
Financial account where the collected funds were settled. Defaults to the main account if omitted.
brandingOptions
object
Visual customization options for the checkout UI, such as color schemes or logos.
expireTime
string
The timestamp at which the checkout session will automatically expire.
createTime
string
Timestamp indicating when the checkout session was created.
ownershipGraph
object
Ownership graph that traces the origin of this checkout session, enabling deep auditability and understanding of its creation context.
metadata
object
Structured key-value metadata for tagging the session with contextual or custom information.