curl --request GET \
--url https://api.xpaycheckout.com/customer/{customerId}/payment-method-tokens \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.xpaycheckout.com/customer/{customerId}/payment-method-tokens"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.xpaycheckout.com/customer/{customerId}/payment-method-tokens', 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.xpaycheckout.com/customer/{customerId}/payment-method-tokens",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.xpaycheckout.com/customer/{customerId}/payment-method-tokens"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.xpaycheckout.com/customer/{customerId}/payment-method-tokens")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.xpaycheckout.com/customer/{customerId}/payment-method-tokens")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"data": [
{
"paymentMethodId": "pmt_ftoeKIYGC3f43frT",
"paymentMethod": "CARD",
"customerId": "cus_Tfd3Jq1tZxPjYVhRQW2r3",
"status": "LIVE",
"createdAt": 1727340330123
}
],
"metadata": {
"offset": "<string>"
}
}{
"errorCode": "bad_request",
"errorDescription": "Failed to read request"
}List Payment Method Tokens
Retrieve a list of payment method tokens for a customer created within a specific time range, with support for filtering and pagination. This endpoint allows you to track and analyse all payment method tokens for a customer. It’s useful for building dashboards, reconciling payment methods, or reviewing saved payment methods programmatically.
curl --request GET \
--url https://api.xpaycheckout.com/customer/{customerId}/payment-method-tokens \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.xpaycheckout.com/customer/{customerId}/payment-method-tokens"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.xpaycheckout.com/customer/{customerId}/payment-method-tokens', 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.xpaycheckout.com/customer/{customerId}/payment-method-tokens",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.xpaycheckout.com/customer/{customerId}/payment-method-tokens"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.xpaycheckout.com/customer/{customerId}/payment-method-tokens")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.xpaycheckout.com/customer/{customerId}/payment-method-tokens")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"data": [
{
"paymentMethodId": "pmt_ftoeKIYGC3f43frT",
"paymentMethod": "CARD",
"customerId": "cus_Tfd3Jq1tZxPjYVhRQW2r3",
"status": "LIVE",
"createdAt": 1727340330123
}
],
"metadata": {
"offset": "<string>"
}
}{
"errorCode": "bad_request",
"errorDescription": "Failed to read request"
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Path Parameters
Unique identifier of the customer
Query Parameters
Start of range in epoch milliseconds. Fetches items created after this timestamp.
End of range in epoch milliseconds. Fetches items created before this timestamp.
Max items per page (default 50, max 100)
1 <= x <= 100Cursor-based pagination token. Use the offset value from metadata.offset in the previous response to fetch the next page. Continue until metadata.offset is no longer present in the response.
🚨 Important: Changing any query parameters invalidates existing offset values and requires restarting pagination from the beginning.
For detailed pagination implementation guide, see Pagination Guide.
Was this page helpful?