Creates a cashier session for a customer and returns the sessionId, the hosted URLs, and a short-lived token used to open the session. Open the session on your frontend with the Web SDK, forwarding both sessionId and token; see the Guides topic Integrating the Cashier for how the backend call and the frontend fit together.
ℹ️ Treat
tokenlike a credential: pass it from your backend to the > frontend only to open this session, and never log it. Omno verifies it > against its published signing keys (JWKS) — you do not validate it > yourself.
paymentTypes controls which methods appear in the cashier. Allowed values: CARD, APM, CRYPTO. Provide one value or any combination.
⚠️ Only the listed types are shown. To accept card payments you must include
CARD; a method you omit is not available to the customer.
Examples: ["CARD"] (card only — also used for a Single Payment card session and for Hosted Payment Fields), ["APM"] (APM only), ["CARD","CRYPTO"], ["CARD","APM","CRYPTO"]. The JSON key is paymentTypes.
Set disallowWithdrawal: true for a deposit-only session, or disallowDeposit: true for a withdrawal-only session. balance is shown on the withdrawal widget. Don't set both disallowDeposit and disallowWithdrawal to true.
Identify the customer with exactly one of: an inline customer object, an externalCustomerId, or an internalCustomerId (Omno customer ID). Send exactly one.
The session — and its token — is valid for 15 minutes from creation. The token can be reused for the same session until it expires. Create the session right before you open the Cashier, not at page load.
Create Cashier Request
Existing merchant-side customer identifier. Optional alternative to an inline customer object.
Existing Omno customer ID. Optional alternative to an inline customer object.
Currency for the cashier session, in which all pay-in/pay-out transactions are created (ISO 4217).
Number of previous transactions the customer made in your system.
Payment methods shown in the cashier. Provide one value or any combination. Only the listed types are shown; to accept card payments you must include CARD. Provide a single value (for example ["CARD"]) for a Single Payment or Hosted Payment Fields session.
[ "CARD", "APM", "CRYPTO" ]
When true, deposits are not offered in the session (withdrawal-only session). Don't set both disallowDeposit and disallowWithdrawal to true.
When true, withdrawals are not offered in the session (deposit-only session). Don't set both disallowDeposit and disallowWithdrawal to true.
- Productionhttps://api.omno.com/v3/public/cashier/session
curl -i -X POST \
https://api.omno.com/v3/public/cashier/session \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"customer": {
"externalUserId": "3183818381183",
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phoneNumber": "1 1234567890",
"dateOfBirth": "1990-12-01",
"userName": "John123",
"customerGroups": [
"Vipgroup"
],
"billing": {
"address": "123 Main St",
"city": "Atlanta",
"state": "GA",
"countryCode": "US",
"postalCode": "30308"
},
"kyc": {
"idType": "passport",
"idNumber": "A12345678",
"idCountry": "US",
"idExpirationDate": "2030-12-31",
"nationality": "US",
"countryOfBirth": "US",
"kycLevels": [
"Identity Check",
"Mail Verification"
],
"allowBypass": true
}
},
"externalCustomerId": "string",
"internalCustomerId": "string",
"currency": "EUR",
"amount": "1000.50",
"balance": "1000.50",
"kycVerified": true,
"previousTransactionCount": 5,
"paymentTypes": [
"CARD",
"APM",
"CRYPTO"
],
"disallowDeposit": false,
"disallowWithdrawal": false,
"merchantTransactionId": "string"
}'Cashier session created
Cashier session ID. Pass this to the Web SDK open({ sessionId, token }).
JWT that authorizes opening this Cashier session and nothing else. Required: pass it with sessionId to open() in the Web SDK (or as the omCashierToken query parameter — ct is an accepted alias — on hosted URLs). Valid for the session's lifetime — 15 minutes from creation. It authorizes only this one session. Treat it as a credential: never log or store it. You don't need to decode or validate it.
Hosted cashier URL (both deposit and withdrawal).
Hosted cashier URL that lands directly on deposit.
{ "sessionId": "25aee2fd-fd2a-4a1c-a127-df26206b2a30", "token": "eyJhbGciOiJSUzI1NiIsImtpZCI6Imtf...", "checkoutUrl": "https://checkout.omno.com/payments/cashier/25aee2fd-fd2a-4a1c-a127-df26206b2a30", "depositUrl": "https://checkout.omno.com/payments/cashier/25aee2fd-fd2a-4a1c-a127-df26206b2a30/deposit", "withdrawalUrl": "https://checkout.omno.com/payments/cashier/25aee2fd-fd2a-4a1c-a127-df26206b2a30/withdraw" }