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

# The Checkout Session Object

This object represents a checkout session that can be created to make a payment. You can Create a Checkout Session using the id generated when the Customer resource was created.

<Note>
  Create a checkout session is only required for flow **SDK\_CHECKOUT**.\
  Only one payment is supported per each checkout session.
  The checkout session expires 5 hours after its creation.
</Note>

## Attributes

<ParamField body="checkout_session" type="string">
  The unique identifier of the checkout session (MAX 64; MIN 36).

  Example: 9104911d-5df9-429e-8488-ad41abea1a4b
</ParamField>

<ParamField body="customer_id" type="string">
  The unique identifier of the customer (MAX 64; MIN 36).

  Example: 9104911d-5df9-429e-8488-ad41abea1a4b
</ParamField>

<ParamField body="merchant_order_id" type="string">
  The unique identifier of the customer's order (MAX 255; MIN 3).

  Example: 1234
</ParamField>

<ParamField body="payment_description" type="string">
  The description of the payment (MAX 255; MIN 3).

  Example: Purchase in Pepito market
</ParamField>

<ParamField body="callback_url" type="string">
  The URL where to redirect the customer after the payment (MAX 526; MIN 3).

  Example: [https://www.company.com/customer\_1231324](https://www.company.com/customer_1231324)
</ParamField>

<ParamField body="country" type="enum">
  Country where the transaction must be processed (MAX 2; MIN 2; <a href="/reference/country-reference">ISO 3166-1</a> ).

  Possible enum values: Check the <a href="/reference/country-reference">Country reference</a>.
</ParamField>

<ParamField body="created_at" type="timestamp">
  Checkout Session creation date and time (MAX 27; MIN 27; <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a> ).

  Example: 2022-05-09T20:46:54.786342Z
</ParamField>

<ParamField body="amount" type="object">
  Specifies the payment amount object, with the value and currency.

  <Expandable title="properties">
    <ParamField body="currency" type="enum">
      The currency used to make the payment (MAX 3; MIN 3; <a href="/reference/country-reference">ISO 4217</a> ).

      Possible enum values: Check the <a href="/reference/country-reference">Country reference</a>.
    </ParamField>

    <ParamField body="value" type="float">
      The payment amount (multiple of 0.0001).

      Example: 23.5676
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="metadata" type="array of objects">
  Specifies a list of metadata objects. You can add up to 50 metadata objects. To use metadata to drive routing logic, it must be set here at the Checkout Session level.

  <Expandable title="properties">
    <ParamField body="metadata object" type="object">
      Specifies a metadata key and the respective value.

      <Expandable title="properties">
        <ParamField body="key" type="string">
          Specifies one metadata key.

          Example: age
        </ParamField>

        <ParamField body="value" type="string">
          Specifies the value for the defined metadata key.

          Example: 28
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="installments" type="array of objects">
  \[Optional] The object to send the installment plan created in Yuno to show your customers and let them choose from. This optional field is used in case a particular installments plan needs to be used in the session. if not sent, we will display the installment plan created for the account for each scenario, if any.

  <Expandable title="properties">
    <ParamField body="plan_id" type="string">
      Specifies a plan id created in Yuno to show your customer in the checkout session. If not defined, we will use the ones created for the account, if applicable. (MAX 64 ; MIN 64).

      Possible enum values: Check the <a href="/reference/country-reference">Country reference</a>.
    </ParamField>

    <ParamField body="plan" type="array of objects">
      Installments to show the customer in with the checkout\_session. This optional struct is used in case a particular installments plan needs to be used in the session and does not have an installments plan created for it. if not sent, we will display the installment plan created for the account for each scenario, if any.

      <Expandable title="properties">
        <ParamField body="installment object" type="object">
          Specifies an installment available for the checkout session.

          <Expandable title="properties">
            <ParamField body="installment" type="int">
              The number of monthly installments shoppers can choose

              Example: 3
            </ParamField>

            <ParamField body="rate" type="float">
              The rate the end user sees at checkout.

              Example: 1.5
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>
