Fiscalization Click payment
curl --request POST \
--url https://fbox.ngrok.io/payment/click_confirm \
--header 'Content-Type: application/json' \
--data '
{
"payment_id": "4710103925",
"qr_code": "https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161"
}
'import requests
url = "https://fbox.ngrok.io/payment/click_confirm"
payload = {
"payment_id": "4710103925",
"qr_code": "https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
payment_id: '4710103925',
qr_code: 'https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161'
})
};
fetch('https://fbox.ngrok.io/payment/click_confirm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://fbox.ngrok.io/payment/click_confirm",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'payment_id' => '4710103925',
'qr_code' => 'https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://fbox.ngrok.io/payment/click_confirm"
payload := strings.NewReader("{\n \"payment_id\": \"4710103925\",\n \"qr_code\": \"https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://fbox.ngrok.io/payment/click_confirm")
.header("Content-Type", "application/json")
.body("{\n \"payment_id\": \"4710103925\",\n \"qr_code\": \"https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://fbox.ngrok.io/payment/click_confirm")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"payment_id\": \"4710103925\",\n \"qr_code\": \"https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"inn": null,
"payment_id": null,
"qr_code": null,
"status": "successfully",
"error": null
},
"error": null,
"is_success": true
}{
"data": null,
"error": {
"code": 7,
"message": "{\"payment_id\":[\"This field may not be blank.\"]}",
"data": null
},
"is_success": false
}To'lovlar
Click fiskalizatsiyasi
Click to’lovlarini fiskalizatsiya qilish
POST
/
payment
/
click_confirm
Fiscalization Click payment
curl --request POST \
--url https://fbox.ngrok.io/payment/click_confirm \
--header 'Content-Type: application/json' \
--data '
{
"payment_id": "4710103925",
"qr_code": "https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161"
}
'import requests
url = "https://fbox.ngrok.io/payment/click_confirm"
payload = {
"payment_id": "4710103925",
"qr_code": "https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
payment_id: '4710103925',
qr_code: 'https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161'
})
};
fetch('https://fbox.ngrok.io/payment/click_confirm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://fbox.ngrok.io/payment/click_confirm",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'payment_id' => '4710103925',
'qr_code' => 'https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://fbox.ngrok.io/payment/click_confirm"
payload := strings.NewReader("{\n \"payment_id\": \"4710103925\",\n \"qr_code\": \"https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://fbox.ngrok.io/payment/click_confirm")
.header("Content-Type", "application/json")
.body("{\n \"payment_id\": \"4710103925\",\n \"qr_code\": \"https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://fbox.ngrok.io/payment/click_confirm")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"payment_id\": \"4710103925\",\n \"qr_code\": \"https://ofd.soliq.uz/check?t=UZ170703100597&r=2421&c=20230104121801&s=514343190161\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"inn": null,
"payment_id": null,
"qr_code": null,
"status": "successfully",
"error": null
},
"error": null,
"is_success": true
}{
"data": null,
"error": {
"code": 7,
"message": "{\"payment_id\":[\"This field may not be blank.\"]}",
"data": null
},
"is_success": false
}Umumiy ko’rinish
Click Fiscalization API avval boshlangan to’lovni yakunlash (fiskalizatsiya) uchun ishlatiladi initiated Click payment. Bu endpoint to’lovni tasdiqlaydi va Soliq (OFD) tomonidan yaratilgan fiskal chekni biriktiradi by Soliq (OFD).So’rov maydonlari
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
payment_id | string | ✅ | Unique payment identifier received from Click payment |
qr_code | string | ✅ | URL of the fiscal receipt from Soliq (OFD) |
Javob maydonlari
✅ Muvaffaqiyatli javob
| Maydon | Turi | Tavsif |
|---|---|---|
data | object | Javob ma’lumoti |
data.payment_id | string | null | Payment identifier |
data.inn | string | null | Taxpayer identification number (if available) |
data.qr_code | string | null | Fiscal receipt URL |
data.status | string | Fiscalization status (successfully, failed, etc.) |
data.error | string | null | Error description (null on success) |
error | null | Error object (always null on success) |
is_success | boolean | Always true |
🚫 Xatolik javobi
Eslatma: Validatsiya xatosi bo’lsa ham server HTTP 200 qaytaradi.
| Maydon | Turi | Tavsif |
|---|---|---|
data | null | No data returned |
error | object | Error details |
error.code | integer | Internal validation or processing error code |
error.message | string | O’qilishi oson xato xabari |
error.data | any | null | Additional error details |
is_success | boolean | Always false |
Tanasi
application/json
⌘I

