Интеграция 1С-Битрикс с платёжной системой Click (Узбекистан)
Click — крупнейший платёжный сервис Узбекистана. Используется для оплаты картами Uzcard и Humo (локальные узбекские платёжные системы), а также через мобильное приложение Click. Для интернет-магазинов работает в режиме SPAY (Shopping): покупатель выбирает оплату Click, вводит телефон и подтверждает в приложении или через SMS.
Схема работы Click SPAY
- Магазин формирует запрос на создание платежа через API Click
- Покупатель получает Push-уведомление или SMS с суммой
- Подтверждает в приложении Click
- Click уведомляет магазин о результате
- Магазин обновляет статус заказа
API-интеграция
Click предоставляет два API:
Merchant API — для создания платёжных форм и проверки статусов. Базовый URL: https://api.click.uz/v2/merchant/
Prepare/Complete callbacks — Click уведомляет о подготовке и завершении платежа через POST на URL магазина.
Авторизация: serviceId + merchantId + подпись на основе merchantUserId и secretKey.
Формирование платежа
$serviceId = $this->getBusinessValue($payment, 'CLICK_SERVICE_ID');
$merchantId = $this->getBusinessValue($payment, 'CLICK_MERCHANT_ID');
$secretKey = $this->getBusinessValue($payment, 'CLICK_SECRET_KEY');
$orderId = $payment->getOrder()->getId();
$amount = $payment->getSum(); // в UZS (узбекских сумах)
// Генерация платёжной ссылки (без API — через прямую ссылку)
$payUrl = sprintf(
'https://my.click.uz/services/pay?service_id=%s&merchant_id=%s&amount=%s&transaction_param=%s&return_url=%s',
$serviceId,
$merchantId,
$amount,
$orderId,
urlencode($returnUrl)
);
// Или через API создания инвойса
$timestamp = time();
$digest = md5($timestamp . $secretKey);
$authHeader = $merchantId . ':' . $digest . ':' . $timestamp;
$invoiceData = [
'service_id' => $serviceId,
'amount' => $amount,
'phone_number' => $phone, // телефон покупателя
'merchant_trans_id' => $orderId,
];
$response = $this->httpPost(
'https://api.click.uz/v2/merchant/invoice/create',
$invoiceData,
['Auth: ' . $authHeader, 'Content-Type: application/json']
);
// $response['invoice_id'] — ID счёта
Обработка Prepare callback
Click сначала присылает Prepare (подготовка платежа), затем Complete (завершение). Оба — POST-запросы:
// Prepare
$clickTransId = $_POST['click_trans_id'];
$merchantTransId = $_POST['merchant_trans_id']; // наш orderId
$amount = $_POST['amount'];
$signString = $_POST['sign_string'];
$signTime = $_POST['sign_time'];
// Проверка подписи
$expectedSign = md5($clickTransId . $serviceId . $secretKey . $merchantTransId . $amount . $signTime);
if ($signString !== $expectedSign) {
echo json_encode(['error' => -1, 'error_note' => 'Invalid sign']);
exit;
}
// Проверить, существует ли заказ
$order = \Bitrix\Sale\Order::loadByAccountNumber($merchantTransId);
if (!$order) {
echo json_encode(['error' => -5, 'error_note' => 'Order not found']);
exit;
}
// Ответ на Prepare
echo json_encode([
'click_trans_id' => $clickTransId,
'merchant_trans_id' => $merchantTransId,
'merchant_prepare_id' => $orderId,
'error' => 0,
'error_note' => 'Success',
]);
// Complete
$merchantPrepareId = $_POST['merchant_prepare_id'];
$error = $_POST['error']; // 0 = успех
if ($error === '0' || $error === 0) {
$order = \Bitrix\Sale\Order::loadByAccountNumber($merchantPrepareId);
// setPaid('Y'), save()
}
echo json_encode([
'click_trans_id' => $_POST['click_trans_id'],
'merchant_trans_id' => $_POST['merchant_trans_id'],
'merchant_confirm_id' => $orderId,
'error' => 0,
'error_note' => 'Success',
]);
Особенности узбекского рынка
- Суммы в узбекских сумах (UZS). На начало 2026 года 1 USD ≈ 12 800 UZS. Для суммы 500 000 UZS — это ~39 USD. Убедитесь, что в Битрикс корректно настроена валюта UZS
- Карты Uzcard и Humo — локальные карты без международного кода BIN. Click обрабатывает их через свою процессинговую сеть
- Приложение Click установлено у большинства активных покупателей в Узбекистане — метод оплаты привычный
Сроки разработки
| Задача | Срок |
|---|---|
| Платёжная ссылка + Prepare/Complete callbacks | 2–3 дня |
| Проверка на тестовой среде Click | 0.5–1 день |
| Настройка валюты UZS в Битрикс | 0.5 дня |







