Интеграция 1С-Битрикс с платежной системой Click (Узбекистан)

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс с платежной системой Click (Узбекистан)
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Интеграция 1С-Битрикс с платёжной системой Click (Узбекистан)

Click — крупнейший платёжный сервис Узбекистана. Используется для оплаты картами Uzcard и Humo (локальные узбекские платёжные системы), а также через мобильное приложение Click. Для интернет-магазинов работает в режиме SPAY (Shopping): покупатель выбирает оплату Click, вводит телефон и подтверждает в приложении или через SMS.

Схема работы Click SPAY

  1. Магазин формирует запрос на создание платежа через API Click
  2. Покупатель получает Push-уведомление или SMS с суммой
  3. Подтверждает в приложении Click
  4. Click уведомляет магазин о результате
  5. Магазин обновляет статус заказа

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 дня