1. Default module
Rahmat: Интеграция приложений (new)
  • Default module
    • Назначение документа
    • Описание
    • Пользовательский сценарий (User Journey)
    • Техническая архитектура
    • Методы
    • Требования к Партнеру
    • Опросник
  1. Default module

Описание


ПРОЦЕСС ОПЛАТЫ#

#
Screenshot 2026-02-26 173950.png
Для интеграции Партнер (платежное приложение) должно выполнить следующее:
1.
Предоставить (подготовить) формат формирования deeplink на страницу оплаты в мобильном приложении.
2.
Подготовить (если отсутствует) в мобильном приложении страницу оплаты с выбором карты/счета.
3.
После успешного списания отправить запрос (коллбэк) на бэкэнд Rahmat о завершении платежа.
4.
Предоставить методы: получение фискальной ссылки; получение деталей транзакции по ID транзакции Rahmat; возврат платежа; получение сверки.
5.
При наличии функции ScanPay (оплата путем сканирования QR/Bar-кода из приложения), предоставить метод для проведения списания по считанному коду.
6.
Реализовать два сценария считывания QR-кода из приложения (с открытием webview и без открытия).

DEEPLINK#

#
Адрес и формат диплинка определяется самим партнером и обычно соответствует домену/субдомену сервиса. При переходе по ссылке с телефона, она должна открыться в приложении с предложением оплатить. Клиент выбирает в приложении карту и подтверждает оплату.
Подробнее о диплинках для Android и iOS.
Диплинк должен быть предоставлен в двух форматах:
1. Универсальная ссылка со схемой https
2. Диплинк с custom-uri схемой.
В параметрах линка Rahmat может передавать:
• сумма оплаты (обязательно)
• id транзакции Rahmat (обязательно)
• ссылка для перенаправления после оплаты (обязательно)
• идентификационные данные, которые партнер предоставил Rahmat (например, merchant_id).
Пример диплинка:
$click_service_id = "1";
$click_merchant_id = "1";
$rahmat_trans_id = 123;
$amount = 150000.00;


$return_url = urlencode("https://app.rhmt.uz/result?id={$rahmat_trans_id}&system=click");

$url = "https://my.click.uz/services/pay?service_id={$click_service_id}&merchant_id={$click_merchant_id}&amount={$amount}&transaction_param={$rahmat_trans_id}&return_url={$return_url}";

СТРАНИЦА ПЛАТЕЖА#

#
Партнер должен у себя в приложении реализовать страницу оплаты (чекаут), на которой плательщик должен выбрать карту и подтвердить оплату.
Для получения дополнительных деталей о платеже (наример, наименование мерчанта), необходимо сделать запрос к методу получения деталей инвойса.
Пример страницы:

Снимок экрана 2026-02-09 120116.png#

После завершения платежа должна отобразиться результирующая страница с кнопкой для возврата (открытие переданной от Rahmat ссылки во внешнем браузере).
Пример:

Снимок экрана 2026-02-09 120023.png#


СКАНИРОВАНИЕ QR-КОДА В ПРИЛОЖЕНИИ#

#
Для сканирования QR-кода Rahmat напрямую через приложение Партнера, необходимо из полученного QR-кода извлечь ссылку. В полученной ссылке необходимо проверить домен на соответствие одному из следующих:
app.rhmt.uz
l.multicard.uz
l.rhmt.uz
Возможны два сценария:
1.
В случае, если полученная ссылка соответствует формату
https://app.rhmt.uz/invoice/* (пример: https://app.rhmt.uz/invoice/d5485789-ee4b-11f0-9a1b-00505680eaf6 ) , то оплату можно провести по созданному инвойсу без открытия webview. Для этого, Партнеру необходимо запросить из мобильного приложения детали инвойса используя метод «ПРОВЕРКА ПЛАТЕЖА В RAHMAT». В метод нужно передать строку после «https://app.rhmt.uz/invoice/*» в поле invoice_uuid. Запрос можно выполнять без авторизации напрямую с фронта клиента.
При обработке ответа обратите внимание на следующие:
• При получении ответа необходимо проверить поле status. Если оно не draft, то оплату можно проводить, в противном случае необходимо вернуть ошибку.
• Проводить списание необходимо по сумме в поле total_amount.
• В коллбэк-запросе в качестве идентификатора Rahmat (rahmat_trans_id) необходимо передать значение из поля id.
2.
В остальных случаях необходимо открыть ссылку во WebView. При открытии ссылки в компоненте WebView необходимо настроить (добавить) заголовок запроса с названием приложения и версией, например:
User-Agent: Payme/3.4.2 (850); iOS 17.5.1
На открытой странице плательщик при необходимости выбирает сумму чаевых или другую информацию и нажимает кнопку «Оплатить». Из компонента webView веб-приложение Rahmat перенаправляет пользователя по диплинку (формат указан выше). Приложение при переходе по диплинку должно отобразить страницу оплаты (также как и при переходе с веб-страницы)
Modified at 2026-02-27 11:43:11
Previous
Назначение документа
Next
Пользовательский сценарий (User Journey)
Built with