Register Domain
Register a payment method domain with Yuno so it can be verified for card-scheme domain requirements.
curl --request POST \
--url https://api-sandbox.y.uno/v1/payment-methods/domains \
--header 'Content-Type: application/json' \
--header 'X-Idempotency-Key: <x-idempotency-key>' \
--header 'private-secret-key: <api-key>' \
--header 'public-api-key: <api-key>' \
--data '
{
"account_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"connection_id": "7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a",
"payment_method_type": "APPLE_PAY",
"domains": [
{
"url": "checkout.example.com"
},
{
"url": "shop.example.com"
}
]
}
'import requests
url = "https://api-sandbox.y.uno/v1/payment-methods/domains"
payload = {
"account_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"connection_id": "7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a",
"payment_method_type": "APPLE_PAY",
"domains": [{ "url": "checkout.example.com" }, { "url": "shop.example.com" }]
}
headers = {
"X-Idempotency-Key": "<x-idempotency-key>",
"public-api-key": "<api-key>",
"private-secret-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Idempotency-Key': '<x-idempotency-key>',
'public-api-key': '<api-key>',
'private-secret-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
account_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
connection_id: '7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a',
payment_method_type: 'APPLE_PAY',
domains: [{url: 'checkout.example.com'}, {url: 'shop.example.com'}]
})
};
fetch('https://api-sandbox.y.uno/v1/payment-methods/domains', 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/payment-methods/domains",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '3fa85f64-5717-4562-b3fc-2c963f66afa6',
'connection_id' => '7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a',
'payment_method_type' => 'APPLE_PAY',
'domains' => [
[
'url' => 'checkout.example.com'
],
[
'url' => 'shop.example.com'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Idempotency-Key: <x-idempotency-key>",
"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/payment-methods/domains"
payload := strings.NewReader("{\n \"account_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"connection_id\": \"7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a\",\n \"payment_method_type\": \"APPLE_PAY\",\n \"domains\": [\n {\n \"url\": \"checkout.example.com\"\n },\n {\n \"url\": \"shop.example.com\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Idempotency-Key", "<x-idempotency-key>")
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.post("https://api-sandbox.y.uno/v1/payment-methods/domains")
.header("X-Idempotency-Key", "<x-idempotency-key>")
.header("public-api-key", "<api-key>")
.header("private-secret-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"connection_id\": \"7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a\",\n \"payment_method_type\": \"APPLE_PAY\",\n \"domains\": [\n {\n \"url\": \"checkout.example.com\"\n },\n {\n \"url\": \"shop.example.com\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.y.uno/v1/payment-methods/domains")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Idempotency-Key"] = '<x-idempotency-key>'
request["public-api-key"] = '<api-key>'
request["private-secret-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"connection_id\": \"7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a\",\n \"payment_method_type\": \"APPLE_PAY\",\n \"domains\": [\n {\n \"url\": \"checkout.example.com\"\n },\n {\n \"url\": \"shop.example.com\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"account_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"payment_method_type": "APPLE_PAY",
"domains": [
{
"id": "8a2f4b1c-6d3e-4f7a-9b21-0c5d8e7f6a43",
"domain": "checkout.example.com",
"status": "REGISTERED",
"created_at": "2026-01-22T10:30:00Z",
"updated_at": "2026-01-22T10:30:00Z"
},
{
"id": "c71e2d9a-5b04-4e6f-8a3d-2f1b7c9e0d55",
"domain": "shop.example.com",
"status": "REGISTERED",
"created_at": "2026-01-22T10:30:00Z",
"updated_at": "2026-01-22T10:30:00Z"
}
]
}Headers
Required: requests without it are rejected with 400 INVALID_PARAMETERS. Stored for audit only and not enforced today: every call creates a new registration attempt and a new call to the wallet provider, even when it repeats a previous key.
Body
The unique identifier of the account. Find this in the Yuno dashboard (MAX 64; MIN 36)
The unique identifier of the wallet connection the domains are registered on (UUID). With Yuno's Apple Pay certificate, a connection holds at most 99 domains.
Single payment method to register for all domains.
APPLE_PAY, GOOGLE_PAY Domains to register, 1 to 50 per request. Each subdomain is a separate domain.
1 - 50 elementsShow child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://api-sandbox.y.uno/v1/payment-methods/domains \
--header 'Content-Type: application/json' \
--header 'X-Idempotency-Key: <x-idempotency-key>' \
--header 'private-secret-key: <api-key>' \
--header 'public-api-key: <api-key>' \
--data '
{
"account_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"connection_id": "7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a",
"payment_method_type": "APPLE_PAY",
"domains": [
{
"url": "checkout.example.com"
},
{
"url": "shop.example.com"
}
]
}
'import requests
url = "https://api-sandbox.y.uno/v1/payment-methods/domains"
payload = {
"account_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"connection_id": "7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a",
"payment_method_type": "APPLE_PAY",
"domains": [{ "url": "checkout.example.com" }, { "url": "shop.example.com" }]
}
headers = {
"X-Idempotency-Key": "<x-idempotency-key>",
"public-api-key": "<api-key>",
"private-secret-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Idempotency-Key': '<x-idempotency-key>',
'public-api-key': '<api-key>',
'private-secret-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
account_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
connection_id: '7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a',
payment_method_type: 'APPLE_PAY',
domains: [{url: 'checkout.example.com'}, {url: 'shop.example.com'}]
})
};
fetch('https://api-sandbox.y.uno/v1/payment-methods/domains', 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/payment-methods/domains",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '3fa85f64-5717-4562-b3fc-2c963f66afa6',
'connection_id' => '7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a',
'payment_method_type' => 'APPLE_PAY',
'domains' => [
[
'url' => 'checkout.example.com'
],
[
'url' => 'shop.example.com'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Idempotency-Key: <x-idempotency-key>",
"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/payment-methods/domains"
payload := strings.NewReader("{\n \"account_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"connection_id\": \"7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a\",\n \"payment_method_type\": \"APPLE_PAY\",\n \"domains\": [\n {\n \"url\": \"checkout.example.com\"\n },\n {\n \"url\": \"shop.example.com\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Idempotency-Key", "<x-idempotency-key>")
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.post("https://api-sandbox.y.uno/v1/payment-methods/domains")
.header("X-Idempotency-Key", "<x-idempotency-key>")
.header("public-api-key", "<api-key>")
.header("private-secret-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"connection_id\": \"7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a\",\n \"payment_method_type\": \"APPLE_PAY\",\n \"domains\": [\n {\n \"url\": \"checkout.example.com\"\n },\n {\n \"url\": \"shop.example.com\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.y.uno/v1/payment-methods/domains")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Idempotency-Key"] = '<x-idempotency-key>'
request["public-api-key"] = '<api-key>'
request["private-secret-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"connection_id\": \"7c1d9a2e-3f44-4e8a-9b61-8e2f4c6b9d0a\",\n \"payment_method_type\": \"APPLE_PAY\",\n \"domains\": [\n {\n \"url\": \"checkout.example.com\"\n },\n {\n \"url\": \"shop.example.com\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"account_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"payment_method_type": "APPLE_PAY",
"domains": [
{
"id": "8a2f4b1c-6d3e-4f7a-9b21-0c5d8e7f6a43",
"domain": "checkout.example.com",
"status": "REGISTERED",
"created_at": "2026-01-22T10:30:00Z",
"updated_at": "2026-01-22T10:30:00Z"
},
{
"id": "c71e2d9a-5b04-4e6f-8a3d-2f1b7c9e0d55",
"domain": "shop.example.com",
"status": "REGISTERED",
"created_at": "2026-01-22T10:30:00Z",
"updated_at": "2026-01-22T10:30:00Z"
}
]
}