Оплата
- Пользователю предоставляются реквизиты кошелька, на которые необходимо совершить оплату.
- Пользователь совершает оплату в своем приложении кошелька и получает уникальный номер транзакции.
- Далее пользователь вводит уникальный номер транзакции в платежном окне - активируется транзакция.
- Paykassma отсылает постбек на сторону мерчанта.
- Средства начисляются на баланс пользователя на платформе мерчанта.
По UPI (p2p) у нас несколько типов, которые необходимо интегрировать параллельно с возможностью включения/выключения.
UPI - wallet_type=upi_l, upi_ib, upi_hb, upi_in, upi_w, upi_m.
Интеграция через платежное окно (plugin)
Пример ссылки на открытие платежного окна UPI:
https://plugin.{URL_сервера}/?label=label¤cy_code=INR&lang=en&wallet_type=upi_l&custom_transaction_id=custom_transaction_id&payment_url_fail_id=1 |
|---|
wallet_type=upi_l wallet_type=upi_ib wallet_type=upi_hb wallet_type=upi_in wallet_type=upi_w wallet_type=upi_m currency_code=INR Доступные языки (lang): en, hi (Хинди)
Обратите внимание на описание параметров payment_url_success_id / payment_url_fail_id / payment_url_pending_id и success_url / fail_url / pending_url
Для использования payment_url_success_id / payment_url_fail_id / payment_url_pending_id необходимо передать URL'ы саппорту Paykassma, и использовать полученные ID в параметрах.
Для использования success_url / fail_url / pending_url необходимо использовать хэширование URL'ов (подробнее про хэширование см. здесь).
Описание всех параметров плагина смотрите здесь.
Интеграция через клиентский API
Примечание
Клиентский API в настоящее время недоступен. Актуальную информацию о его статусе рекомендуется уточнять у технической поддержки.
Создание платежа
URL: https://api.{URL_сервера}/api/v1/transaction/create/upi_l?secret={pluginapi_secret}
В данном случае сначала мы принимаем запрос на ввод по платежной системе. Далее в ответе мы предоставим реквизиты кошелька, на который пользователь должен перевести платеж. После оплаты Вам необходимо отправить запрос на активацию транзакции.
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Max Length | Description |
| currency | string | yes | 3 | Код валюты. |
label | string | yes | 190 | Это уникальный идентификатор (ID) пользователя, осуществляющего платеж. |
{
"currency": "INR",
"label": "eligendi"
}
{
"status": "ok",
"params": {
"identifier": "test@upi"
}
}
{
"status": "fail",
"message": "MESSAGE"
}
Запрос активации
URL: https://api.{URL_сервера}/api/v1/transaction/activate?secret={pluginapi_secret}
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Max Length | Description |
| currency_code | string | yes | 3 | Код валюты. |
wallet_type | string | yes | 190 | Значение из списка доступных ПС. Например: upi_l, upi_ib, upi_hb, upi_in, upi_w, upi_m и тд. |
| label | string | yes | 190 | Это уникальный идентификатор (ID) пользователя, осуществляющего платеж. |
| key1 | string | yes | 190 | Transaction_ID, полученный от пользователя. Длина: 12 цифр. |
| amount | float | yes | 256 | Сумма платежа. |
| custom_transaction_id | string | yes | 190 | Идентификатор транзакции в системе Клиента. Должен быть уникальным. |
{
"currency_code": "INR",
"wallet_type": "upi_l",
"label": "55",
"key1": "321323438267",
"amount": 500,
"custom_transaction_id": "123465477897"
}
{
"status": "ok",
"deposit": true,
"deposit_amount": 500,
"currency": {
"code": "INR",
"symbol": "INR"
}
}
{
"status": "pending",
"message": "The deposit status check has been started. The operation may take longer than expected. Upon completion of the verification, the funds will be credited to your account"
}
{
"status": "possible_transaction_created",
"message": "Transaction not found. Possible transaction created"
}
{
"status": "fail",
"message": "MESSAGE"
}
Постбек депозита
Общую документацию по постбекам смотрите здесь.
Пример постбека на депозит UPI
{
"signature": "b17740afeaaca68a35afbe2950537648d5ad74f4",
"wallet_type": "upi_hb",
"amount": 1000,
"currency_code": "INR",
"label": "2519566",
"direction": "ingoing",
"created_datetime": "2023-07-03 06:42:53",
"access_key": "FQ9jMwrNSkFbyMNqYFf6Ed4xeKmjHK",
"additional_data": [
{
"activated_datetime": "2023-07-03 06:42:55",
"exchanger_identifier": "99xxxx6690",
"comment": "",
"amount": "1000",
"currency_code": "INR",
"wallet_type": "upi_hb",
"stockpiling_id": 1430926,
"transaction_id": "355015818634",
"transaction_type": 0,
"plugin_custom_order_id": "h8JxcM123DbmAvfn",
"withdrawal_id": null,
"withdrawal_status": null,
"account_number": "",
"account_name": "",
"account_email": "",
"bank_details": {
"bank_code": "",
"branch_code": ""
}
]
}
Сервер Paykassma ожидает ответ в json {"status":"ok"} c кодом ответа 200. В противном случае, при получении отличающегося ответа Paykassma будет пересылать постбек с определенной периодичностью.
На повторные постбеки необходимо также отвечать {"status":"ok"} с кодом ответа 200.
Выводы / выплаты пользователям
Выплаты пользователям осуществляются через метод IMPS (подробнее про метод IMPS смотрите здесь).