Skip to content

Create cashier session

Request

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 token like 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.

Selecting payment types

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.

Deposit-only / withdrawal-only

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.

Customer identification

Identify the customer with exactly one of: an inline customer object, an externalCustomerId, or an internalCustomerId (Omno customer ID). Send exactly one.

Session lifetime

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.

Security
bearerAuth
Bodyapplication/jsonrequired

Create Cashier Request

customerobject(CustomerRequest)

Customer information

externalCustomerIdstring

Existing merchant-side customer identifier. Optional alternative to an inline customer object.

internalCustomerIdstring

Existing Omno customer ID. Optional alternative to an inline customer object.

currencystringrequired

Currency for the cashier session, in which all pay-in/pay-out transactions are created (ISO 4217).

Example:"EUR"
amountstring

Pre-fills the deposit amount for the session.

Example:"1000.50"
balancestring

Current balance of the customer. Shown on the withdrawal widget.

Example:"1000.50"
kycVerifiedboolean

Whether this customer is KYC verified in your system.

Example:true
previousTransactionCountinteger, >= 0

Number of previous transactions the customer made in your system.

Example:5
paymentTypesArray of strings, non-empty

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.

Items Enum:"CARD""APM""CRYPTO"
Example:
[ "CARD", "APM", "CRYPTO" ]
disallowDepositboolean

When true, deposits are not offered in the session (withdrawal-only session). Don't set both disallowDeposit and disallowWithdrawal to true.

Example:false
disallowWithdrawalboolean

When true, withdrawals are not offered in the session (deposit-only session). Don't set both disallowDeposit and disallowWithdrawal to true.

Example:false
merchantTransactionIdstring

Merchant's external transaction reference.

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"
  }'

Responses

Cashier session created

Bodyapplication/json
sessionIdstring, (uuid)required

Cashier session ID. Pass this to the Web SDK open({ sessionId, token }).

Example:"25aee2fd-fd2a-4a1c-a127-df26206b2a30"
tokenstring, (jwt)

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.

Example:"eyJhbGciOiJSUzI1NiIsImtpZCI6Imtf..."
checkoutUrlstring, (url)

Hosted cashier URL (both deposit and withdrawal).

Example:"https://checkout.omno.com/payments/cashier/25aee2fd-fd2a-4a1c-a127-df26206b2a30"
depositUrlstring, (url)

Hosted cashier URL that lands directly on deposit.

Example:"https://checkout.omno.com/payments/cashier/25aee2fd-fd2a-4a1c-a127-df26206b2a30/deposit"
withdrawalUrlstring, (url)

Hosted cashier URL that lands directly on withdrawal.

Example:"https://checkout.omno.com/payments/cashier/25aee2fd-fd2a-4a1c-a127-df26206b2a30/withdraw"
Response
{ "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" }