Apple Pay Settings
Replace trust anchor
Replace the active Apple Root CA trust anchor Guardian verifies payment payloads against. The instance ships with Apple’s current root CA seeded, so you only need this if Apple rotates its root certificate. The previous anchor is superseded atomically.
A PEM that cannot be decoded as a valid X.509 certificate returns 422 with the classifier APPLE_PAY_INVALID_TRUST_ANCHOR.
POST
/
api
/
wallet
/
apple-pay
/
trust-anchors
Replace trust anchor
curl --request POST \
--url https://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"cert_pem": "<string>"
}
'import requests
url = "https://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors"
payload = { "cert_pem": "<string>" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({cert_pem: '<string>'})
};
fetch('https://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors', 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://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors",
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([
'cert_pem' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors"
payload := strings.NewReader("{\n \"cert_pem\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-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://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"cert_pem\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cert_pem\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"activated_at": "2023-11-07T05:31:56Z"
}{
"code": 401,
"message": "No valid means of authentication was provided",
"classifier": "UNAUTHORIZED"
}{
"code": 403,
"message": "Not allowed to access this resource or feature",
"classifier": "FORBIDDEN"
}{
"code": 422,
"classifier": "VALIDATION_ERROR",
"message": "Validation error",
"validation_errors": [
{
"path": "json-path",
"message": "human readable error message"
}
]
}⌘I
Replace trust anchor
curl --request POST \
--url https://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"cert_pem": "<string>"
}
'import requests
url = "https://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors"
payload = { "cert_pem": "<string>" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({cert_pem: '<string>'})
};
fetch('https://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors', 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://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors",
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([
'cert_pem' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors"
payload := strings.NewReader("{\n \"cert_pem\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-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://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"cert_pem\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{cluster_id}.on-hellgate.cloud/api/wallet/apple-pay/trust-anchors")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cert_pem\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"activated_at": "2023-11-07T05:31:56Z"
}{
"code": 401,
"message": "No valid means of authentication was provided",
"classifier": "UNAUTHORIZED"
}{
"code": 403,
"message": "Not allowed to access this resource or feature",
"classifier": "FORBIDDEN"
}{
"code": 422,
"classifier": "VALIDATION_ERROR",
"message": "Validation error",
"validation_errors": [
{
"path": "json-path",
"message": "human readable error message"
}
]
}