Customers
Record a customer on your account, correct their details, and list or retrieve what you hold. A customer added here can be passed to Create a checkout session as customer_id, which sends the buyer straight to the payment selector. There is no delete.
A customer reads back under different names than it is written with: the phone and email you send come back as buyer_phone and buyer_email.
The customer object
| Field | Type | Description |
|---|---|---|
id | string | Public ID, e.g. cus_1ce18d624. A string, never a number. |
buyer_phone | string | Sent as phone on create. Identifies the buyer and can't be changed. |
buyer_email | string | null | Sent as email on create and update. |
full_name | string | null | Max 255 characters. |
address | string | null | — |
created_at | datetime | — |
List customers
/api/v1/customers/Lists the seller's customers, newest first. Paginated — see Page through list results.
Status: 200 OK — paginated list of customer objects.
Retrieve a customer
/api/v1/customers/{id}/Returns a single customer object. {id} is the customer's public ID (cus_…).
Create a customer
/api/v1/customers/Records a customer on your account without opening a subscription.
| Field | Type | Required | Description |
|---|---|---|---|
phone | string | yes | Identifies the buyer and can't be changed later. A Nepali mobile number: 10 digits starting with 96, 97 or 98. A +977 country code, a leading 0, spaces and dashes are accepted and stripped. |
full_name | string | null | no | Max 255 characters. |
email | string | null | no | Reads back as buyer_email. |
address | string | null | no | — |
A phone you already hold returns 200, not 201. Re-sending a known number corrects that customer rather than rejecting the call, so this endpoint is safe to retry and safe to run on every order. The name, email and address are your account's own copy of the buyer's details and aren't shared with other sellers.
Status: 201 Created for a new customer, 200 OK for one that already existed.
{
"id": "cus_2a108b4eb",
"buyer_phone": "9810000001",
"buyer_email": "[email protected]",
"full_name": "Ram Bahadur",
"address": "Kathmandu, Nepal",
"created_at": "2026-07-03T10:15:00Z"
}Update a customer
/api/v1/customers/{id}/Changes your account's copy of a customer's name, email or address. Send only the fields you're changing; "" clears a field. The phone identifies the buyer and can't be changed — sending a different one is rejected.
| Field | Type | Description |
|---|---|---|
full_name | string | null | Send "" to clear. |
email | string | null | Reads back as buyer_email. Send "" to clear. |
address | string | null | Send "" to clear. |
This endpoint is the only way to correct a buyer's details once a checkout session has been opened with their customer_id — they cannot edit them at checkout themselves.
Status: 200 OK — the updated customer object.