slikair
slikair APIV2
Back to the full API reference

API

Tokenization

Vault card data with a merchant-signed JWT, then charge the stored token.

Use these endpoints to vault a card and to charge a stored token on later transactions, so sensitive card data never has to be stored on your side. Every operation below lists its required headers, the full request body fields, and the full body of each response it can return.

Endpoints on this page

MethodPathSummaryoperationId
POST/payment/create/tokenizationCreate Payment TokenizationcreateTokenization
POST/payment/create/tokenCreate Payment with TokencreateWithToken
POST/payment/create/tokenization

Create Payment Tokenization

operationId: createTokenization

Initiates a credit-card payment and vaults the card for later use with /payment/create/token. The tokenization result arrives asynchronously at tokenization_notification_url. Credit cards only, consent must be true, and card data is supplied inside merchant_jwt.

Required headers

merchant-tokenContent-TypeIdempotency-Key

Request body

Example variants

credit_card_tokenize

Responses

200Payment create response
400Error response
401Error response
500Error response
Example: tokenization JWT payload
{
  "jti": "e0f0a2f4-6f1e-4a5b-9a0e-1f2c3d4e5f60",
  "op": "tokenize",
  "sub": "9e07802d51264b02b4b3ef09dfb94219",
  "iat": 1735689600,
  "cardholder_number": "4111111111111111",
  "cardholder_name": "John Doe",
  "cardholder_exp_month": "12",
  "cardholder_exp_year": "2030"
}

Request body fields

Tokenization request26 fields
FieldRequiredTypeDescriptionExample
merchant_idrequiredstring
merchant_site_idrequiredstring
payment_methodrequiredenumcredit_card only.credit_card
amountrequirednumber
currencyrequiredstring
emailrequiredstring
request_idrequiredstring
countryrequiredstringISO 3166-1 alpha-3.
first_namerequiredstring
last_namerequiredstring
notification_linkrequiredstring (uri)
success_urlrequiredstring (uri)
pending_urlrequiredstring (uri)
fail_urlrequiredstring (uri)
back_urlrequiredstring (uri)
device_iprequiredstring
mobilerequiredstring
addressrequiredstring
cityrequiredstring
zipCoderequiredstring
staterequiredstring
birthDaterequiredstring
cardCvvrequiredstringBody field; never tokenized.
merchant_jwtrequiredstringCarries the tokenize card data.
consentrequiredbooleanMust be true.true
tokenization_notification_urlrequiredstring (uri)Receives the tokenization result; separate from notification_link.

Response body fields

200Payment create response6 fields
FieldRequiredTypeDescriptionExample
statusoptionalenumsuccess | failed
status_codeoptionalinteger
request_idoptionaluuid / string
payin_idoptionaluuid
redirect_urloptionalstring (uri)
created_atoptionalstring (date-time)
400401500Error response8 fields
FieldRequiredTypeDescriptionExample
statusoptionalenumerror
status_codeoptionalinteger
reason_codeoptionalstring
error_codeoptionalstring5 digits
request_idoptionaluuid / string
messageoptionalstring
payin_idoptionaluuid | null
detailsoptionalobjectField validation errors.
POST/payment/create/token

Create Payment with Token

operationId: createWithToken

Charges a vaulted card by redeeming the token inside merchant_jwt. No PAN, cardholder name or expiry is sent; CVV is collected on every charge. The merchant_jwt payload uses op=decrypt, sub and token.

Required headers

merchant-tokenContent-TypeIdempotency-Key

Request body

Example variants

pay_with_token

Responses

200Payment create response
400Error response
401Error response
500Error response
Example: pay-with-token JWT payload
{
  "jti": "b71c9f0a-2c33-4d7e-8f61-52a0d9c7e311",
  "op": "decrypt",
  "sub": "9e07802d51264b02b4b3ef09dfb94219",
  "iat": 1735689600,
  "token": "tok_9f8c1b2a3d4e"
}

Request body fields

Pay with token request24 fields
FieldRequiredTypeDescriptionExample
merchant_idrequiredstring
merchant_site_idrequiredstring
payment_methodrequiredenumcredit_card only.credit_card
amountrequirednumber
currencyrequiredstring
emailrequiredstring
request_idrequiredstring
countryrequiredstring
first_namerequiredstring
last_namerequiredstring
notification_linkrequiredstring (uri)
success_urlrequiredstring (uri)
pending_urlrequiredstring (uri)
fail_urlrequiredstring (uri)
back_urlrequiredstring (uri)
device_iprequiredstring
mobilerequiredstring
addressrequiredstring
cityrequiredstring
zipCoderequiredstring
staterequiredstring
birthDaterequiredstring
merchant_jwtrequiredstringCarries the decrypt token data.
cardCvvrequiredstringCollected on every charge.

Response body fields

200Payment create response6 fields
FieldRequiredTypeDescriptionExample
statusoptionalenumsuccess | failed
status_codeoptionalinteger
request_idoptionaluuid / string
payin_idoptionaluuid
redirect_urloptionalstring (uri)
created_atoptionalstring (date-time)
400401500Error response8 fields
FieldRequiredTypeDescriptionExample
statusoptionalenumerror
status_codeoptionalinteger
reason_codeoptionalstring
error_codeoptionalstring5 digits
request_idoptionaluuid / string
messageoptionalstring
payin_idoptionaluuid | null
detailsoptionalobjectField validation errors.
Back to the full API reference