curl --request PATCH \
--url https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session} \
--header 'Content-Type: application/json' \
--header 'private-secret-key: <api-key>' \
--header 'public-api-key: <api-key>' \
--data '
{
"country": "BR",
"amount": {
"currency": "ARS"
},
"alternative_amount": {
"currency": "ARS"
},
"merchant_order_id": "007",
"payment_description": "Payment Test",
"account_id": "{{account_id}}"
}
'import requests
url = "https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session}"
payload = {
"country": "BR",
"amount": { "currency": "ARS" },
"alternative_amount": { "currency": "ARS" },
"merchant_order_id": "007",
"payment_description": "Payment Test",
"account_id": "{{account_id}}"
}
headers = {
"public-api-key": "<api-key>",
"private-secret-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'public-api-key': '<api-key>',
'private-secret-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
country: 'BR',
amount: {currency: 'ARS'},
alternative_amount: {currency: 'ARS'},
merchant_order_id: '007',
payment_description: 'Payment Test',
account_id: '{{account_id}}'
})
};
fetch('https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'country' => 'BR',
'amount' => [
'currency' => 'ARS'
],
'alternative_amount' => [
'currency' => 'ARS'
],
'merchant_order_id' => '007',
'payment_description' => 'Payment Test',
'account_id' => '{{account_id}}'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"private-secret-key: <api-key>",
"public-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session}"
payload := strings.NewReader("{\n \"country\": \"BR\",\n \"amount\": {\n \"currency\": \"ARS\"\n },\n \"alternative_amount\": {\n \"currency\": \"ARS\"\n },\n \"merchant_order_id\": \"007\",\n \"payment_description\": \"Payment Test\",\n \"account_id\": \"{{account_id}}\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("public-api-key", "<api-key>")
req.Header.Add("private-secret-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session}")
.header("public-api-key", "<api-key>")
.header("private-secret-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"country\": \"BR\",\n \"amount\": {\n \"currency\": \"ARS\"\n },\n \"alternative_amount\": {\n \"currency\": \"ARS\"\n },\n \"merchant_order_id\": \"007\",\n \"payment_description\": \"Payment Test\",\n \"account_id\": \"{{account_id}}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["public-api-key"] = '<api-key>'
request["private-secret-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"country\": \"BR\",\n \"amount\": {\n \"currency\": \"ARS\"\n },\n \"alternative_amount\": {\n \"currency\": \"ARS\"\n },\n \"merchant_order_id\": \"007\",\n \"payment_description\": \"Payment Test\",\n \"account_id\": \"{{account_id}}\"\n}"
response = http.request(request)
puts response.read_body{
"merchant_order_id": "007",
"checkout_session": "c67ce158-6053-4661-a1de-aed5c945b935",
"country": "BR",
"payment_description": "Payment Test",
"callback_url": null,
"amount": {
"currency": "ARS",
"value": 100
},
"created_at": "2025-11-14T00:43:22.719648Z",
"metadata": null,
"workflow": "SDK_CHECKOUT",
"installments": {
"plan_id": null,
"plan": null
},
"used": false
}{
"code": "INVALID_REQUEST",
"messages": [
"Invalid request"
]
}{
"code": "INVALID_CREDENTIALS",
"messages": [
"Invalid credentials"
]
}{
"code": "AUTHORIZATION_REQUIRED",
"messages": [
"The merchant has no authorization to use this API."
]
}Update Checkout Session
curl --request PATCH \
--url https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session} \
--header 'Content-Type: application/json' \
--header 'private-secret-key: <api-key>' \
--header 'public-api-key: <api-key>' \
--data '
{
"country": "BR",
"amount": {
"currency": "ARS"
},
"alternative_amount": {
"currency": "ARS"
},
"merchant_order_id": "007",
"payment_description": "Payment Test",
"account_id": "{{account_id}}"
}
'import requests
url = "https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session}"
payload = {
"country": "BR",
"amount": { "currency": "ARS" },
"alternative_amount": { "currency": "ARS" },
"merchant_order_id": "007",
"payment_description": "Payment Test",
"account_id": "{{account_id}}"
}
headers = {
"public-api-key": "<api-key>",
"private-secret-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'public-api-key': '<api-key>',
'private-secret-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
country: 'BR',
amount: {currency: 'ARS'},
alternative_amount: {currency: 'ARS'},
merchant_order_id: '007',
payment_description: 'Payment Test',
account_id: '{{account_id}}'
})
};
fetch('https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'country' => 'BR',
'amount' => [
'currency' => 'ARS'
],
'alternative_amount' => [
'currency' => 'ARS'
],
'merchant_order_id' => '007',
'payment_description' => 'Payment Test',
'account_id' => '{{account_id}}'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"private-secret-key: <api-key>",
"public-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session}"
payload := strings.NewReader("{\n \"country\": \"BR\",\n \"amount\": {\n \"currency\": \"ARS\"\n },\n \"alternative_amount\": {\n \"currency\": \"ARS\"\n },\n \"merchant_order_id\": \"007\",\n \"payment_description\": \"Payment Test\",\n \"account_id\": \"{{account_id}}\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("public-api-key", "<api-key>")
req.Header.Add("private-secret-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session}")
.header("public-api-key", "<api-key>")
.header("private-secret-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"country\": \"BR\",\n \"amount\": {\n \"currency\": \"ARS\"\n },\n \"alternative_amount\": {\n \"currency\": \"ARS\"\n },\n \"merchant_order_id\": \"007\",\n \"payment_description\": \"Payment Test\",\n \"account_id\": \"{{account_id}}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.y.uno/v1/checkout/sessions/{checkout_session}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["public-api-key"] = '<api-key>'
request["private-secret-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"country\": \"BR\",\n \"amount\": {\n \"currency\": \"ARS\"\n },\n \"alternative_amount\": {\n \"currency\": \"ARS\"\n },\n \"merchant_order_id\": \"007\",\n \"payment_description\": \"Payment Test\",\n \"account_id\": \"{{account_id}}\"\n}"
response = http.request(request)
puts response.read_body{
"merchant_order_id": "007",
"checkout_session": "c67ce158-6053-4661-a1de-aed5c945b935",
"country": "BR",
"payment_description": "Payment Test",
"callback_url": null,
"amount": {
"currency": "ARS",
"value": 100
},
"created_at": "2025-11-14T00:43:22.719648Z",
"metadata": null,
"workflow": "SDK_CHECKOUT",
"installments": {
"plan_id": null,
"plan": null
},
"used": false
}{
"code": "INVALID_REQUEST",
"messages": [
"Invalid request"
]
}{
"code": "INVALID_CREDENTIALS",
"messages": [
"Invalid credentials"
]
}{
"code": "AUTHORIZATION_REQUIRED",
"messages": [
"The merchant has no authorization to use this API."
]
}Authorizations
Path Parameters
Body
The unique identifier of the customer's order (MAX 255; MIN 3).
The description of the payment (MAX 255; MIN 3).
The customer's country (MAX 2; MIN 2; ISO 3166-1 [blocked]).
AR, BO, BR, CL, CO, CR, EC, SV, GT, HN, MX, NI, PA, PY, PE, US, UY The unique identifier of the account. You find this information on the Yuno dashboard (UUID, 36 chars).
The unique identifier of the customer, created using the Create Customer endpoint (UUID, 36 chars).
The URL where we will redirect your customer after making the purchase. Required for alternative payment methods with redirection. (MAX 526; MIN 3)
Specifies the payment amount object, with the value and currency.
Show child attributes
Show child attributes
Alternative currency representation of the transaction amount.
Show child attributes
Show child attributes
Specifies a list of metadata objects. You can add up to 120 metadata objects.
Show child attributes
Show child attributes
Checkout workflow type.
SDK_CHECKOUT, CHECKOUT, SDK_SEAMLESS 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.
Show child attributes
Show child attributes
Response
200
"007"
"c67ce158-6053-4661-a1de-aed5c945b935"
"BR"
"Payment Test"
Show child attributes
Show child attributes
"2025-11-14T00:43:22.719648Z"
"SDK_CHECKOUT"
Show child attributes
Show child attributes
false
Was this page helpful?