Customer payment methods
Last used alternate payment details
The customer details this customer last supplied for each alternate
payment method, keyed by the payment method type reported in a cart’s
available_payment_methods (for example mpesa_dlocal). Checkout seeds
an auto-selected method’s required fields with these so a returning
customer is not asked for them again.
Values are limited to the fields the integration declares and to the
authenticated customer’s own records. These are identity documents, so
they are served here rather than on the cart, which is readable by cart
token alone. Returns an empty object when nothing is stored, and 401
when unauthenticated.
GET
/
api
/
checkout
/
v2026-04
/
customers
/
me
/
payment_methods
/
customer_details
Last used alternate payment details
curl --request GET \
--url https://api.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details', 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.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details",
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: Bearer <token>"
],
]);
$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.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"customer_details": {
"mpesa_dlocal": {
"phone": "+254712345678",
"document_id": "28471936"
}
},
"status": 200,
"meta": {
"request_uuid": "4e8b2c61-9d7a-4f30-b5e1-3a6c8d2f7b19",
"timestamp": "2026-09-30T14:05:22Z"
}
}{
"message": "<string>"
}Response
Success
⌘I
Last used alternate payment details
curl --request GET \
--url https://api.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details', 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.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details",
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: Bearer <token>"
],
]);
$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.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/checkout/v2026-04/customers/me/payment_methods/customer_details")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"customer_details": {
"mpesa_dlocal": {
"phone": "+254712345678",
"document_id": "28471936"
}
},
"status": 200,
"meta": {
"request_uuid": "4e8b2c61-9d7a-4f30-b5e1-3a6c8d2f7b19",
"timestamp": "2026-09-30T14:05:22Z"
}
}{
"message": "<string>"
}