> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jupico.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a checkout session

> Creates a hosted checkout session where the customer completes payment on a Jupico-hosted page. Configure accepted payment methods, data collection, and redirect behavior through the hosted session settings.



## OpenAPI

````yaml /openapi.json post /v1/checkouts
openapi: 3.0.0
info:
  title: Jupico - OpenAPI 3.0
  description: >-
    The Jupico API lets Service Providers onboard merchants, process card and
    eCheck (ACH) payments, run hosted payment pages, manage recurring billing,
    send payouts, and query every resource. All endpoints use HTTPS with Basic
    authentication and accept and return JSON. Endpoints are grouped by
    workflow: onboard merchants first, then accept payments, then move funds and
    report.
  termsOfService: https://help.jupico.com/references-and-resources/legal
  contact:
    email: support@jupico.com
  license:
    name: Jupico License
    url: https://jupico.com
  version: 1.0.5
servers:
  - url: https://sandbox-platform.jupico.com
security:
  - basicAuth: []
tags:
  - name: Status
    description: Health check for the Jupico API.
  - name: Onboarding Invites
    description: >-
      Create and send invites that onboard merchants through the Jupico-hosted
      flow, with optional pre-filled identity, fees, and payout bank account
      data.
  - name: Provisioning
    description: >-
      Onboard merchants from your own UI. Collect onboarding data and submit it
      through the provisioning chain: applicant → application → submerchant.
  - name: Session
    description: >-
      Create browser authorization sessions for the Jupico web components, so
      card and bank account data is tokenized client-side and never touches your
      servers.
  - name: Tokenization
    description: >-
      Convert one-time tokens from the web components into permanent Jupico
      tokens, or tokenize raw card data if your systems are PCI DSS compliant.
  - name: Customer
    description: >-
      Create and manage customer records that payments, subscriptions,
      installments, and invoices link to.
  - name: Card Transactions
    description: >-
      Process credit and debit card transactions using tokenized card data:
      sale, authorization, capture, void, refund, and rollback.
  - name: eCheck Transactions
    description: >-
      Debit customer bank accounts via eCheck (ACH): sale, void, refund,
      rollback, and bank account tokenization.
  - name: Checkouts
    description: >-
      Hosted checkout sessions where customers complete payment on a
      Jupico-hosted page.
  - name: Payment Links
    description: >-
      Shareable links that open a Jupico-hosted payment page — no integration
      code needed at the point of sharing.
  - name: Invoices
    description: Create and email invoices that customers pay online.
  - name: Subscriptions
    description: >-
      Recurring billing. Plans define billing schedules and pricing models;
      subscriptions enroll customers against a stored payment token.
  - name: Installments
    description: Split a fixed total into scheduled payments with an optional deposit.
  - name: Payouts
    description: >-
      Send funds from a submerchant's available balance to a tokenized bank
      account with on-demand payout instructions.
  - name: Query
    description: >-
      Search and report across every resource: transactions, merchants,
      settlements, balances, disputes, fees, and more. All query endpoints
      accept the same filter, sort, and pagination envelope — see the Query
      Capabilities guide.
paths:
  /v1/checkouts:
    post:
      tags:
        - Checkouts
      summary: Create a checkout session
      description: >-
        Creates a hosted checkout session where the customer completes payment
        on a Jupico-hosted page. Configure accepted payment methods, data
        collection, and redirect behavior through the hosted session settings.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                subMerchantId:
                  type: string
                  example: jpt-sim-md-1
                  description: The subMerchantId associated with the checkout.
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      description:
                        type: string
                        example: Consulting services
                        description: Description of the line item.
                      quantity:
                        type: number
                        example: 5
                        description: Number of units.
                      amount:
                        type: number
                        example: 10
                        description: Price per unit.
                  description: Line items included in the total amount.
                totalModifiers:
                  type: array
                  items:
                    type: object
                    properties:
                      description:
                        type: string
                        example: tax
                        description: Free-text description.
                      amount:
                        type: number
                        example: 5
                        description: The amount of the transaction.
                  description: >-
                    Adjustments applied to the total, such as discounts or
                    additional fees.
                totalAmount:
                  type: number
                  example: 55
                  description: The total amount of the checkout.
                description:
                  type: string
                  description: The checkout description.
                hostedSession:
                  type: object
                  description: Object to edit configuration of created hosted session.
                  properties:
                    paymentMethods:
                      type: object
                      properties:
                        defaultMethod:
                          type: string
                          description: >-
                            Default payment method one of
                            ["creditCard","eCheck", "applePay","googlePay"]
                          example: creditCard
                        creditCard:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: true
                              description: Whether this setting is enabled.
                          description: Credit card acceptance settings for the hosted page.
                        eCheck:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: false
                              description: Whether this setting is enabled.
                          description: >-
                            eCheck (ACH) acceptance settings for the hosted
                            page.
                        applePay:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: false
                              description: Whether this setting is enabled.
                          description: Apple Pay acceptance settings for the hosted page.
                        googlePay:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: false
                              description: Whether this setting is enabled.
                          description: Google Pay acceptance settings for the hosted page.
                      description: Payment methods offered on the hosted page.
                    flow:
                      type: object
                      properties:
                        redirect:
                          type: object
                          properties:
                            successUrl:
                              type: string
                              example: https://yoursite.com/successUrl
                              description: >-
                                URL the customer is redirected to after
                                successful payment.
                            cancelUrl:
                              type: string
                              example: https://yoursite.com/cancelUrl
                              description: >-
                                URL the customer is redirected to if they
                                cancel.
                            backUrl:
                              type: string
                              example: https://yoursite.com/backUrl
                              description: >-
                                URL the customer is redirected to when they
                                navigate back.
                          description: URLs the customer is redirected to during the flow.
                      description: Navigation behavior of the hosted page.
                    functions:
                      type: object
                      description: Hosted session functions
                      properties:
                        collectBillingAddress:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: true
                              description: Whether this setting is enabled.
                          description: >-
                            Collect the customer's billing address during
                            checkout.
                        collectShippingAddress:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: false
                              description: Whether this setting is enabled.
                          description: >-
                            Collect the customer's shipping address during
                            checkout.
                        collectPhoneNumber:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: true
                              description: Whether this setting is enabled.
                          description: Collect the customer's phone number during checkout.
                        callToAction:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: true
                              description: Whether this setting is enabled.
                            label:
                              type: string
                              description: Custom button label
                              example: Pay
                            note:
                              type: string
                              description: Custom button label
                              example: Note desc.
                          description: Customization of the pay button.
                        notes:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: false
                              description: Whether this setting is enabled.
                          description: Free-text notes displayed on the hosted page.
                        collectEmail:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: false
                              description: Whether this setting is enabled.
                            updateCustomer:
                              type: boolean
                              example: false
                              description: >-
                                When true, the collected value is saved to the
                                customer record.
                          description: >-
                            Collect the customer's email address during
                            checkout.
                    constraints:
                      type: object
                      properties:
                        timeLimit:
                          type: number
                          description: Number of minutes to keep session active
                          example: 1000
                      description: Limits applied to the hosted session.
              required:
                - subMerchantId
                - description
                - totalAmount
                - hostedSession
      responses:
        '201':
          description: Checkout successfully created.
        '400':
          description: Bad Request. Invalid input.
        '401':
          description: Unauthorized.
        '500':
          description: Internal Server Error.
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic

````