Object IDs
Prefixed, sortable identifiers.
Every object in ShiftxPay has a string id with a short, human-readable prefix naming the kind of resource it identifies. The prefix lets you tell at a glance what an id refers to, in logs, in errors, and in your own database.
Format
Ids are 26 characters after the prefix and are time-sortable: sorting a set of ids lexicographically orders them by creation time. That makes them convenient as database keys and for cursor-style pagination, without exposing a sequential counter.
Treat ids as opaque strings. Match on the prefix if you like, but do not parse or depend on the internal structure beyond that.
Prefixes
| Prefix | Resource |
|---|---|
pay_ | Payment |
cs_ | Checkout session |
re_ | Refund |
ak_ | API key |
mer_ | Merchant |
mco_ | Merchant connector |
whk_ | Webhook endpoint |
ma_ | Application (merchant onboarding) |
usr_ | App user |
dp_ | Dispute |
pm_ | PSP payment-method token |
The pm_... token is issued by the PSP, not by ShiftxPay; the gateway only ever
holds the token, never the card behind it.
cs_secret_ is not an id
cs_secret_... looks like it shares the checkout session's cs_ family, but it is
a secret, not an identifier. It authorizes the buyer's browser to resolve and
confirm one checkout session. Treat it like a password: never log it, never put it
in a URL you persist, and never expose it beyond the buyer's own session. See
Authentication for how it is used.