ShiftxPay
Core concepts

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

PrefixResource
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.

On this page