Dodo Payments Checkout Sessions API

The Checkout Sessions API from Dodo Payments — 2 operation(s) for checkout sessions.

Operations 2

POST /checkouts Create a checkout session #
GET /checkouts/{session_id} Get a checkout session #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dodo-payments-checkout-sessions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dodo-payments-checkout-sessions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Dodo Payments Checkout Sessions API
  description: REST API for the Dodo Payments merchant-of-record (MoR) platform. Covers products, one-time payments, subscriptions, customers, checkout sessions, discounts, license keys, payouts, refunds, disputes, and webhooks. Dodo Payments acts as the seller of record and handles global sales tax, VAT, and GST calculation, collection, and remittance.
  termsOfService: https://dodopayments.com/legal/terms-of-service
  contact:
    name: Dodo Payments Support
    url: https://docs.dodopayments.com
    email: support@dodopayments.com
  version: '1.0'
servers:
- url: https://live.dodopayments.com
  description: Live mode
- url: https://test.dodopayments.com
  description: Test mode
security:
- bearerAuth: []
tags:
- name: Checkout Sessions
paths:
  /checkouts:
    post:
      operationId: createCheckoutSession
      tags:
      - Checkout Sessions
      summary: Create a checkout session
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCheckoutSessionRequest'
      responses:
        '200':
          description: The created checkout session, including a hosted checkout URL.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckoutSession'
  /checkouts/{session_id}:
    get:
      operationId: getCheckoutSession
      tags:
      - Checkout Sessions
      summary: Get a checkout session
      parameters:
      - name: session_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The checkout session.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckoutSession'
components:
  schemas:
    CheckoutSessionProductCartItem:
      type: object
      required:
      - product_id
      - quantity
      properties:
        product_id:
          type: string
        quantity:
          type: integer
        amount:
          type: integer
    CustomerRequest:
      type: object
      description: Either an existing customer reference (customer_id) or new customer details (email, name) used to attach a payment or subscription.
      properties:
        customer_id:
          type: string
        email:
          type: string
          format: email
        name:
          type: string
        create_new_customer:
          type: boolean
    CreateCheckoutSessionRequest:
      type: object
      required:
      - product_cart
      properties:
        product_cart:
          type: array
          items:
            $ref: '#/components/schemas/CheckoutSessionProductCartItem'
        customer:
          $ref: '#/components/schemas/CustomerRequest'
        billing_address:
          $ref: '#/components/schemas/BillingAddress'
        return_url:
          type: string
          format: uri
        discount_code:
          type: string
        metadata:
          type: object
          additionalProperties:
            type: string
    CheckoutSession:
      type: object
      properties:
        session_id:
          type: string
        checkout_url:
          type: string
          format: uri
        status:
          type: string
        created_at:
          type: string
          format: date-time
    BillingAddress:
      type: object
      required:
      - country
      - city
      - state
      - street
      - zipcode
      properties:
        country:
          type: string
          description: Two-letter ISO country code.
        city:
          type: string
        state:
          type: string
        street:
          type: string
        zipcode:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Authenticate with your Dodo Payments API key as a bearer token: `Authorization: Bearer YOUR_API_KEY`. Use a test-mode key against https://test.dodopayments.com and a live-mode key against https://live.dodopayments.com.'