LogoLogo
  • Ishni boshlash
  • Internet-ekvayering bilan integratsiya
  • Checkout API — to‘lov freymi
    • Prepare — buyurtma yaratish
    • Payment — kartadan yechish
    • Verify — kod bilan tasdiqlash
    • Get Service Info — xizmat ma’lumotlari
    • Get Order Info — buyurtma ma’lumotlari
    • Receipt — fiskal chek
    • Invoys bo‘yicha to‘lov
    • Operatsiya holatlari
  • Acquiring API — kartalar va to‘lovlar
  • Billing API integratsiyasi uchun talablar
  • Ichki API (xizmat uchun)

Invoys bo‘yicha to‘lov

  1. Checkout api — to‘lov freymi
  2. Invoys bo‘yicha to‘lov

Invoys bo‘yicha to‘lov

1. Prepare

POST - /api/v1/checkout/invoice/prepare

Request header

Field

Optional

Description

Content-Type

false

application/json

X-Lang

true

RU

Request sample

curl --location 'baseUrl/api/v1/checkout/invoice/prepare' \
--header 'Content-Type: application/json' \
--data '{
    "invoiceIdentifier": "976328aeb1414c48b288201dd9343fe0"
}'

Этот идентфикатор получается от урл который бекенд отправил клиенту как смс 
https://checkout.xonsaroypay.uz/invoice?invoiceIdentifier=976328aeb1414c48b288201dd9343fe0
оон выглядит таким образом

Если status:
SUCCESS
REVERSED
FAILED
PENDING
REJECTED
WAITING
CANCELED
просто надо показать что заказ уже конечном статусе

CREATED
HOLD_SUCCESS
VERIFICATION_FAILED
можно оплатит заказа клиент может оплатить если заказ только в этих статусах

PROCESS
BALANCE_WAITING
WARNED
то показать что оплата в процессе

Response sample (HTTP 200)

{
    "orderId": "cf956d85-d87a-4409-8883-7cfa1638fbe5",
    "senderMasked": "9860***5612",
    "serviceId": "c655a18f-73c3-4abe-a0c8-bf7df7a3697e",
    "serviceName": "branch1",
    "amount": 5000,
    "feeAmount": 0,
    "currency": "UZS",
    "serviceImageUrl": "Service Image Url",
    "generatedPayUrl": "Generated Pay Url",
    "billingIdentifier": "branch1",
    "lang": "RU",
    "returnUrl": "",
    "paymentData": {},       
    "items": [
            {
                "id": 4,
                "fieldOrder": 0,
                "key": "billingIdentifier",
                "title": "Номер договора",
                "isRequired": true,
                "type": "STRING",
                "fieldRegex": "^[a-zA-Z]+$",
                "placeholder": "BBxxxxxxx",
                "value": "ZE12381923"
            },
            {
                "id": 6,
                "fieldOrder": 0,
                "key": "description",
                "title": "Допрольнительный инфо",
                "isRequired": false,
                "type": "STRING",
                "fieldRegex": "",
                "placeholder": "",
                "value": "Xonsaroy uchun to'lov"
            }
     ],
    "status": "CREATED",
    "payTime": 0
}

Response sample (HTTP 4xx)

{
    "data": {
        "message": "Инвойс не найдена"
    },
    "timestamp": 1757402253311
}

2. Payment

POST - /api/v1/checkout/invoice/payment

Request header

Field

Optional

Description

Content-Type

false

application/json

X-Lang

true

RU

Request sample

curl --location 'lbaseUrl/api/v1/checkout/invoice/payment' \
--header 'Content-Type: application/json' \
--data '
{
    "orderId": "1dc1e1c1-399e-4402-b1b8-241777f5cae6",
    "cardNumber": "9860270000070000",
    "cardExpire": "1227"
}'

Response sample (HTTP 200)

{
    "data": {
        "message": "success.payment"
    },
    "timestamp": 1758047999722
}

Response sample (HTTP 4xx)

{
    "data": {
        "message": "Инвойс не найдена"
    },
    "timestamp": 1757402253311
}

3. Confirm

POST - /api/v1/checkout/invoice/verify

Request header

Field

Optional

Description

Content-Type

false

application/json

X-Lang

true

RU

Request sample

curl --location 'baseUrl/api/v1/checkout/invoice/verify' \
--header 'Content-Type: application/json' \
--data '{
   "operationId": "5e1107bc-6984-4661-b8dd-8e8c84b729cc",
   "otpCode": "782419"
}'

Response sample (HTTP 200)

{
    "data": {
        "id": "85bec26d-d86a-4fdc-aece-2269d9d3b26b",
        "amount": 5000,
        "feeAmount": 0,
        "currency": "UZS",
        "serviceName": "Smartcast Business1",
        "orderId": "ee6ec31a-a59f-4c7d-80ba-32733f2054b4",
        "senderMasked": "9860•5395",
        "payTime": 1760899056300,    
        "items": [
            {
                "id": 4,
                "fieldOrder": 0,
                "key": "billingIdentifier",
                "title": "Номер договора",
                "isRequired": true,
                "type": "STRING",
                "fieldRegex": "^[a-zA-Z]+$",
                "placeholder": "BBxxxxxxx",
                "value": "ZE12381923"
            },
            {
                "id": 6,
                "fieldOrder": 0,
                "key": "description",
                "title": "Допрольнительный инфо",
                "isRequired": false,
                "type": "STRING",
                "fieldRegex": "",
                "placeholder": "",
                "value": "Xonsaroy uchun to'lov"
            }
     ]
        "serviceImageUrl": "https://s3.xonsaroypay.uz/ecom/business-1-1141661b-e35e-4f3b-bdb5-44f1e6ddf326.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ecom-user%2F20251019%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251019T183736Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=69aae726e28c4d55647e47d8e96de63434e24752b973b901ee9cbc678f2561f0",
        "operationStatus": "SUCCESS"
    },
    "timestamp": 1760899056308
}

Response sample (HTTP 4xx)

{
    "data": {
        "message": "Инвойс не найдена"
    },
    "timestamp": 1757402253311
}

OldingiReceipt — fiskal chek
KeyingiOperatsiya holatlari