---
title: "Get Checkout Session"
method: GET
path: "/v1/checkout-sessions/{id}"
tags: ["Checkout Session"]
---

# Get Checkout Session

`GET /v1/checkout-sessions/{id}`

Retrieves the full details of a checkout session by ID.

## Path parameters

- `id` string, required — ID of the checkout session to retrieve.

## Headers

- `Monime-Version` 'caph.2025-08-23' | 'caph.2025-06-20', nullable — Specifies which version of the Monime API will handle this request.
- `Monime-Space-Id` string, required — The value is the tenancy parameter that Monime uses to determine which space the request is intended for.

## Response `200`

OK

- object
  - `success` boolean — Represents the status of the query operation, confirming if it was successful. This field is always true
  - `messages` unknown[] — Contains a list of messages providing relevant information or feedback related to the query or operation
    - unknown
  - `result` CheckoutSession — 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` string — Unique identifier of the checkout session.
    - `status` 'pending' | 'cancelled' | 'expired' | 'completed' — **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.
    - `name` string — Title or label for the checkout session. Used for display in customer-facing UIs.
    - `orderNumber` string, nullable — Internally generated order number that uniquely identifies the payment associated to this checkout session.
    - `reference` string, nullable — Optional external reference identifier (e.g., order ID) used to link this session with the developer’s backend system.
    - `description` string, nullable — 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, url — 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, url — 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.
      - `data` object[], nullable — Array of individual line items representing products or services included in the checkout session. Each item specifies details like name, quantity, and unit price.
        - `type` 'custom' — Type of line item. This must be set to 'custom'.
        - `id` string — Unique internal identifier for this line item. This is generated by the system and cannot be provided by the user. Unique across all checkout sessions.
        - `name` string, required — Name of the product or service represented by this line item.
        - `price` object, required — Monetary value representing the price per unit of this item.
          - `currency` string — The [3-letter](https://en.wikipedia.org/wiki/ISO_4217) ISO currency code. Currently supported: 'SLE'
          - `value` integer — The value representation in the currency's minor unit. E.g. For 1 Leone (SLE 1), the value should be 100, denoting cents, the minor unit.
        - `quantity` integer — Number of units being purchased. Must be between 1 and 100,000.
        - `reference` string, nullable — External system-provided identifier for this line item, used for cross-system tracking, reconciliation, or referencing purposes. Must be unique within the checkout session. If not provided, a unique identifier will be generated.
        - `description` string, nullable — Optional description providing additional details about the item.
        - `images` string[], nullable — Up to 3 image URLs visually representing this item.
    - `financialAccountId` string, nullable — Financial account where the collected funds were settled. Defaults to the main account if omitted.
    - `brandingOptions` object, nullable — Visual customization options for the checkout UI, such as color schemes or logos.
      - `primaryColor` string — Primary brand color in hex format (e.g., '#00FF00') used to customize the appearance of the checkout interface.
    - `expireTime` string, date-time — The timestamp at which the checkout session will automatically expire.
    - `createTime` string, date-time — Timestamp indicating when the checkout session was created.
    - `ownershipGraph` object, nullable — **Ownership graph** that traces the origin of this checkout session, enabling deep auditability and understanding of its creation context.
      - `owner` object — **Immediate object** that owns this entity. This is the direct originator or source object.
        - `id` string — **Unique ID** of the object instance that owns this entity.
        - `type` string — **Type of the object** that owns this entity. Examples include: 'internal_transfer', 'checkout_session', 'payment_code'.
        - `metadata` object, nullable — **Arbitrary metadata** describing the owning object.
        - `owner` CoreresourcesParentOwningObject
          - `id` string — **Unique ID** of the object instance that owns this entity.
          - `type` string — **Type of the object** that owns this entity. Examples include: 'internal_transfer', 'checkout_session', 'payment_code'.
          - `metadata` object, nullable — **Arbitrary metadata** describing the owning object.
          - `owner` CoreresourcesParentOwningObject — recursive
    - `metadata` object, nullable — Structured key-value metadata for tagging the session with contextual or custom information.

---

[API](https://skmtc.dev/monime/apis/monime-api.md) · [All operations](https://skmtc.dev/monime/apis/monime-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/monime/monime-api/revisions/bd7f875ea428/schema)
