Register member at payment location - v2
curl --request POST \
--url https://{host}/payment/v2/checkin/{paymentLocation} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"memberId": "<string>",
"loyaltyCardId": "<string>",
"phone": "<string>",
"code": "<string>"
}
'import requests
url = "https://{host}/payment/v2/checkin/{paymentLocation}"
payload = {
"memberId": "<string>",
"loyaltyCardId": "<string>",
"phone": "<string>",
"code": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
memberId: '<string>',
loyaltyCardId: '<string>',
phone: '<string>',
code: '<string>'
})
};
fetch('https://{host}/payment/v2/checkin/{paymentLocation}', 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://{host}/payment/v2/checkin/{paymentLocation}",
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([
'memberId' => '<string>',
'loyaltyCardId' => '<string>',
'phone' => '<string>',
'code' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$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://{host}/payment/v2/checkin/{paymentLocation}"
payload := strings.NewReader("{\n \"memberId\": \"<string>\",\n \"loyaltyCardId\": \"<string>\",\n \"phone\": \"<string>\",\n \"code\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<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://{host}/payment/v2/checkin/{paymentLocation}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"memberId\": \"<string>\",\n \"loyaltyCardId\": \"<string>\",\n \"phone\": \"<string>\",\n \"code\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/payment/v2/checkin/{paymentLocation}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"memberId\": \"<string>\",\n \"loyaltyCardId\": \"<string>\",\n \"phone\": \"<string>\",\n \"code\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"memberId": "<string>",
"paymentAmountLimit": 123,
"paymentMethods": [
{
"id": "<string>",
"type": "Bonus",
"availableBalance": 123
}
],
"coupons": [
{
"couponId": "<string>",
"campaignId": "<string>"
}
],
"isEmployee": true
}{
"name": "<string>",
"message": "<string>",
"details": null
}Register member at payment location - v2
Register a member at the payment location using either their member ID, loyalty card, phone number, or check-in code. Requested by POS.
POST
/
v2
/
checkin
/
{paymentLocation}
Register member at payment location - v2
curl --request POST \
--url https://{host}/payment/v2/checkin/{paymentLocation} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"memberId": "<string>",
"loyaltyCardId": "<string>",
"phone": "<string>",
"code": "<string>"
}
'import requests
url = "https://{host}/payment/v2/checkin/{paymentLocation}"
payload = {
"memberId": "<string>",
"loyaltyCardId": "<string>",
"phone": "<string>",
"code": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
memberId: '<string>',
loyaltyCardId: '<string>',
phone: '<string>',
code: '<string>'
})
};
fetch('https://{host}/payment/v2/checkin/{paymentLocation}', 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://{host}/payment/v2/checkin/{paymentLocation}",
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([
'memberId' => '<string>',
'loyaltyCardId' => '<string>',
'phone' => '<string>',
'code' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$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://{host}/payment/v2/checkin/{paymentLocation}"
payload := strings.NewReader("{\n \"memberId\": \"<string>\",\n \"loyaltyCardId\": \"<string>\",\n \"phone\": \"<string>\",\n \"code\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<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://{host}/payment/v2/checkin/{paymentLocation}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"memberId\": \"<string>\",\n \"loyaltyCardId\": \"<string>\",\n \"phone\": \"<string>\",\n \"code\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/payment/v2/checkin/{paymentLocation}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"memberId\": \"<string>\",\n \"loyaltyCardId\": \"<string>\",\n \"phone\": \"<string>\",\n \"code\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"memberId": "<string>",
"paymentAmountLimit": 123,
"paymentMethods": [
{
"id": "<string>",
"type": "Bonus",
"availableBalance": 123
}
],
"coupons": [
{
"couponId": "<string>",
"campaignId": "<string>"
}
],
"isEmployee": true
}{
"name": "<string>",
"message": "<string>",
"details": null
}Authorizations
JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"
Path Parameters
Unique identifier of POS in payment service
Maximum string length:
128Body
application/jsontext/jsonapplication/*+json
The check in method used
Response
OK
The id of member.
The daily amount limit of payment.
Available methods of payment.
Show child attributes
Show child attributes
Available member coupons.
Show child attributes
Show child attributes
Indicates whether the member is an employee. Populated only when the CheckInMember_IncludeIsEmployee feature flag is enabled.
Last modified on August 10, 2026
⌘I