---
title: "Create Checkout Session (V2)"
method: POST
path: "/v2/checkout_sessions"
tags: ["Checkout Sessions"]
---

# Create Checkout Session (V2)

`POST /v2/checkout_sessions`

Creates a new checkout session.

## Request body

- CreateCheckoutSessionRequestDTO
  - `data` CreateCheckoutSessionDataRequestDTO
    - `attributes` CreateCheckoutSessionAttributesRequestDTO
      - `billing` BillingDTO
        - `address` AddressDTO
          - `city` string
          - `country` string
          - `line1` string
          - `line2` string
          - `postal_code` string
          - `state` string
        - `email` string
        - `name` string
        - `phone` string
      - `cancel_url` string
      - `customer_email` string
      - `customer_id` string
      - `description` string
      - `line_items` LineItemDTO[], required — Required fields
        - `amount` integer
        - `currency` string
        - `description` string
        - `images` string[]
        - `name` string
        - `quantity` integer
      - `merchant` string
      - `metadata` object
      - `origin` string
      - `pass_on_fees` boolean
      - `payment_method_types` string[], required
      - `reference_number` string
      - `send_email_receipt` boolean
      - `show_description` boolean
      - `show_line_items` boolean
      - `split_payment` SplitPaymentDTO
        - `recipients` SplitPaymentRecipientDTO[]
          - `merchant_id` string, required
          - `split_type` 'fixed' | 'percentage_net'
          - `value` integer, required
        - `transfer_to` string
      - `statement_descriptor` string
      - `success_url` string

## Response `200`

Checkout session created successfully

- WrappedCreateCheckoutSessionResponseDTO
  - `data` CreateCheckoutSessionResponseDTO
    - `attributes` CheckoutSessionAttributesResponseDTO
      - `checkout_url` string
      - `created_at` integer
      - `livemode` boolean
      - `updated_at` integer
    - `id` string
    - `type` string
  - `has_more` boolean

## Other responses

- `400` — Invalid request
- `500` — Internal server error

---

[API](https://skmtc.net/paymongo/apis/paymongo-api.md) · [All operations](https://skmtc.net/paymongo/apis/paymongo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/paymongo/paymongo-api/revisions/c18f9a027b2c/schema)
