Skip to main content
POST
/
v1
/
checkout
/
sessions
Create checkout session
curl --request POST \
  --url https://api-sandbox.y.uno/v1/checkout/sessions \
  --header 'Content-Type: application/json' \
  --header 'account-code: <api-key>' \
  --header 'private-secret-key: <api-key>' \
  --header 'public-api-key: <api-key>' \
  --data '
{
  "amount": {
    "currency": "BRL",
    "value": 150
  },
  "country": "BR",
  "merchant_order_id": "order-20260301-001",
  "account_id": "your-account-id",
  "payment_description": "Premium subscription - March 2026",
  "workflow": "SDK_CHECKOUT"
}
'
{
  "checkout_session": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "amount": {
    "currency": "BRL",
    "value": 150
  },
  "country": "BR",
  "merchant_order_id": "order-20260301-001",
  "status": "ACTIVE",
  "created_at": "2026-03-01T14:30:00.000Z",
  "payment_methods": [
    {
      "type": "CARD"
    },
    {
      "type": "PIX"
    },
    {
      "type": "BOLETO"
    }
  ]
}
This request creates a checkout session using the unique identifier generated when the customer resource was created.
If your workflow requires sending the additional_data object, it can be sent as part of the checkout session.

Authorizations

public-api-key
string
header
required

Your public API key from the Yuno Dashboard

private-secret-key
string
header
required

Your private secret key (server-side only)

account-code
string
header
required

Your account identifier. The alias X-Account-Code is also accepted.

Body

application/json
amount
object
required
Example:
{ "currency": "BRL", "value": 100 }
country
string
required

ISO 3166-1 alpha-2 country code

Pattern: ^[A-Z]{2}$
Example:

"BR"

merchant_order_id
string
required

Your unique order identifier

Example:

"order-001"

account_id
string
required

Your Yuno account identifier. Same value as the account-code header.

Example:

"your-account-id"

payment_description
string
required

Description of the payment. Required for checkout session creation.

Example:

"Premium subscription - March 2026"

customer_id
string<uuid>

Optional existing customer ID

Example:

"c9d0e1f2-3a4b-5c6d-7e8f-9a0b1c2d3e4f"

workflow
enum<string>

Integration workflow type

Available options:
SDK_CHECKOUT,
SDK_LITE,
SDK_SEAMLESS,
SDK_HEADLESS,
DIRECT
Example:

"SDK_CHECKOUT"

callback_url
string<uri>

URL to receive server-side payment notifications

Example:

"https://merchant.com/webhooks/yuno"

return_url
string<uri>

URL to redirect the customer after payment completion (required for 3DS, PIX, and redirect-based methods)

Example:

"https://merchant.com/checkout/complete"

metadata
object

Custom key-value pairs for storing additional information. Keys and values must be strings. Maximum 50 keys, each key max 40 characters, each value max 500 characters.

Example:
{
"order_source": "web",
"campaign": "spring-2026"
}
recurring_payment
object

Optional configuration for recurring payments and subscriptions

Response

Checkout session created successfully

checkout_session
string<uuid>

The checkout session identifier

Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

amount
object
Example:
{ "currency": "BRL", "value": 100 }
country
string

ISO 3166-1 alpha-2 country code

Example:

"BR"

merchant_order_id
string

Your unique order identifier

Example:

"order-20260301-001"

status
string

Session status

Example:

"ACTIVE"

created_at
string<date-time>

Session creation timestamp

Example:

"2026-03-01T14:30:00.000Z"

payment_methods
object[]

Available payment methods for this session

callback_url
string<uri>

URL to receive server-side payment notifications

Example:

"https://merchant.com/webhooks/yuno"

return_url
string<uri>

URL to redirect the customer after payment completion (required for 3DS, PIX, and redirect-based methods)

Example:

"https://merchant.com/checkout/complete"