Skip to main content

Local card payments in Uzbekistan

You can make local card payments in Uzbekistan.

Currency: UZS
Minimum payment amount: 1 UZS
Maximum payment amount: 99, 900, 000 UZS
Available payment systems: Humo, Uzcard
Refunds: full or partial but the refund amount must be greater than the amount in UZS equivalent to 1 USD and must not be greater than the total transaction amount

To make a payment, complete the standard steps.

info

If you use our widget, pass the mandatory parameters in the session/create method.
Otherwise, you can pass the mandatory parameters either in session/create or in session/start/payment.

Required parameters

Check all the available parameters

NameTypeDescription
payment_detailsobjectPayment method
  typestringPayment method type
  cardobjectCard details
typestringCard details transmission type
    bank_cardobjectUnencrypted card
      numberstringCard number
      expiration_monthstringMonth
      expiration_yearstringYear
amount_detailsobjectAmount information
  amountintAmount
  currencystringISO 4217 currency code. Case insensitive
customerobjectPayer details
  referencestringPayer's identifier in your system
payment_optionsobjectPayment parameters
  recurrentboolWhether the payment is to be performed using a saved token

Request example

curl -X POST \
https://demo.smart-glocal.com/api/v1/session/start/payment \
-H 'content-type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"payment_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242421850",
"expiration_month": "05",
"expiration_year": "35"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "UZS"
},
"customer": {
"reference": "1234567890"
},
"payment_options": {
"return_url": "return url",
"recurrent": false
}
}'

Recurring payments

Recurring payments are made in a standard way.

When a recurring payment is made, you will get a check_otp webhook. In the webhook, you will see the address at which Smart Glocal will expect an OTP code from you in accept_code.callback_url.

Webhook example

curl -X POST \
https://partner.com \
-H 'content-type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "check_otp",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2026-07-08T11:51:12.213675Z",
"updated_at": "2026-07-08T11:51:15.526791Z",
"acquiring_payments": [{
"id": "pm_2501",
"status": "pending",
"created_at": "2026-07-08T11:51:12.626283Z",
"customer": {
"reference": "1234567890"
},
"payment_details": {
"type": "card",
"card": {
"brand": "humo",
"last4": "1850",
"country_iso3": "UZB"
}
},
"amount_details": {
"amount": 10000,
"currency": "UZS"
},
"customer_interaction": {
"type": "redirect",
"redirect": {
"url": "url address",
"base_url": "base url address",
"method": "GET",
"params": {}
}
},
"customer_authorization": {
"suspend_key": "suspend key value",
"accept_code": {
"rest_of_attempts": 3,
"active_to": "2026-07-08T11:52:14+00:00",
"callback_url": "https://smart-glocal.com?foo=bar"
},
"resend_sms": {
"rest_of_attempts": 2,
"allowed_from": "2026-07-08T11:52:14+00:00",
"callback_url": "https://smart-glocal.com?foo=bar"
},
"type": "sms"
},
"payment_options": {
"return_url": "return url",
"recurrent": false
}
}],
"actions": {
"confirm": "2026-07-08T11:51:12.697715Z"
}
}
}'

Reply to the address from accept_code.callback_url as follows:

  • an OTP code received from the payer (6 digits)
  • "suspend_key": "suspend key value"

Response example

'{
"suspend_key": "suspend key value",
"otp": "999999"
}'

You can resend the OTP code up to 3 times in case an unsuccessful response is returned or no payment_finished webhook is received.