Register Terminal
curl --request POST \
--url https://api-sandbox.uqpaytech.com/api/v2/terminal/register \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <api-key>' \
--header 'x-client-id: <x-client-id>' \
--header 'x-idempotency-key: <x-idempotency-key>' \
--data '
{
"firm_code": "01",
"firm_sn": "SN123456789",
"terminal_model": "PAX A920"
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v2/terminal/register"
payload = {
"firm_code": "01",
"firm_sn": "SN123456789",
"terminal_model": "PAX A920"
}
headers = {
"x-client-id": "<x-client-id>",
"x-idempotency-key": "<x-idempotency-key>",
"x-auth-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-client-id': '<x-client-id>',
'x-idempotency-key': '<x-idempotency-key>',
'x-auth-token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({firm_code: '01', firm_sn: 'SN123456789', terminal_model: 'PAX A920'})
};
fetch('https://api-sandbox.uqpaytech.com/api/v2/terminal/register', 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.uqpaytech.com/api/v2/terminal/register",
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([
'firm_code' => '01',
'firm_sn' => 'SN123456789',
'terminal_model' => 'PAX A920'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-auth-token: <api-key>",
"x-client-id: <x-client-id>",
"x-idempotency-key: <x-idempotency-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.uqpaytech.com/api/v2/terminal/register"
payload := strings.NewReader("{\n \"firm_code\": \"01\",\n \"firm_sn\": \"SN123456789\",\n \"terminal_model\": \"PAX A920\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-client-id", "<x-client-id>")
req.Header.Add("x-idempotency-key", "<x-idempotency-key>")
req.Header.Add("x-auth-token", "<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.uqpaytech.com/api/v2/terminal/register")
.header("x-client-id", "<x-client-id>")
.header("x-idempotency-key", "<x-idempotency-key>")
.header("x-auth-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"firm_code\": \"01\",\n \"firm_sn\": \"SN123456789\",\n \"terminal_model\": \"PAX A920\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.uqpaytech.com/api/v2/terminal/register")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-client-id"] = '<x-client-id>'
request["x-idempotency-key"] = '<x-idempotency-key>'
request["x-auth-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"firm_code\": \"01\",\n \"firm_sn\": \"SN123456789\",\n \"terminal_model\": \"PAX A920\"\n}"
response = http.request(request)
puts response.read_body{
"create_time": "2025-12-05 10:38:53",
"firm_sn": "TG676SX1764902333",
"terminal_id": "10000254"
}Register Terminal
Register a new POS terminal device for transaction processing.
POST
/
v2
/
terminal
/
register
Register Terminal
curl --request POST \
--url https://api-sandbox.uqpaytech.com/api/v2/terminal/register \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <api-key>' \
--header 'x-client-id: <x-client-id>' \
--header 'x-idempotency-key: <x-idempotency-key>' \
--data '
{
"firm_code": "01",
"firm_sn": "SN123456789",
"terminal_model": "PAX A920"
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v2/terminal/register"
payload = {
"firm_code": "01",
"firm_sn": "SN123456789",
"terminal_model": "PAX A920"
}
headers = {
"x-client-id": "<x-client-id>",
"x-idempotency-key": "<x-idempotency-key>",
"x-auth-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-client-id': '<x-client-id>',
'x-idempotency-key': '<x-idempotency-key>',
'x-auth-token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({firm_code: '01', firm_sn: 'SN123456789', terminal_model: 'PAX A920'})
};
fetch('https://api-sandbox.uqpaytech.com/api/v2/terminal/register', 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.uqpaytech.com/api/v2/terminal/register",
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([
'firm_code' => '01',
'firm_sn' => 'SN123456789',
'terminal_model' => 'PAX A920'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-auth-token: <api-key>",
"x-client-id: <x-client-id>",
"x-idempotency-key: <x-idempotency-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.uqpaytech.com/api/v2/terminal/register"
payload := strings.NewReader("{\n \"firm_code\": \"01\",\n \"firm_sn\": \"SN123456789\",\n \"terminal_model\": \"PAX A920\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-client-id", "<x-client-id>")
req.Header.Add("x-idempotency-key", "<x-idempotency-key>")
req.Header.Add("x-auth-token", "<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.uqpaytech.com/api/v2/terminal/register")
.header("x-client-id", "<x-client-id>")
.header("x-idempotency-key", "<x-idempotency-key>")
.header("x-auth-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"firm_code\": \"01\",\n \"firm_sn\": \"SN123456789\",\n \"terminal_model\": \"PAX A920\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.uqpaytech.com/api/v2/terminal/register")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-client-id"] = '<x-client-id>'
request["x-idempotency-key"] = '<x-idempotency-key>'
request["x-auth-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"firm_code\": \"01\",\n \"firm_sn\": \"SN123456789\",\n \"terminal_model\": \"PAX A920\"\n}"
response = http.request(request)
puts response.read_body{
"create_time": "2025-12-05 10:38:53",
"firm_sn": "TG676SX1764902333",
"terminal_id": "10000254"
}Authorizations
The API token for login provided by UQPay.
Headers
The API client id generated by UQPAY
A unique identifier (UUID) used to maintain operation idempotency, ensuring that repeated executions of the same operation do not result in unintended effects or duplication. It helps preserve data consistency in the face of network errors, retries, or failures.
Specifies the sub-account on whose behalf the request is made. This should be set to the account_id, which can be retrieved via the List Connected Accounts. If omitted or empty, the request is executed using the master account.
More information at Connected Accounts.
Body
application/json

