Оплата
- Пользователю предоставляются реквизиты кошелька, на которые необходимо совершить оплату.
- Пользователь совершает оплату в своем приложении кошелька и получает уникальный номер транзакции.
- Далее пользователь вводит уникальный номер транзакции в платежном окне - активирует транзакцию.
- Paykassma отсылает постбек на сторону мерчанта.
- Средства начисляются на баланс пользователя на платформе мерчанта.
Интеграция через платежное окно (plugin)
Пример ссылки на открытие платежного окна Upay Manual:
|
---|
wallet_type=upay_manual currency_code=LKR Доступные языки (lang): en, si (сингальский)
Обратите внимание на описание параметров 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
Создание платежа
URL: https://api.{URL сервера}/api/v1/transaction/create/upay_manual?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': 'LKR', 'label': 'eligendi' }
{ "status": "ok", "params": { "Account number": "066013529665120", "Bank name": "Seylan [Mathugama]", "Holder name": "K A PALITHA", "is_check_amount": null } }
{ 'status': 'fail', 'message': 'MESSAGE' }
Запрос активации
URL: http://api.{URL сервера}/api/v1/possible-transaction?secret={pluginapi_secret}
Request method:
POST
Format:
form-data
Parameters:
Name | Type | Required | Max Length | Description |
currency_code | string | yes | 3 | Код валюты (LKR). |
wallet_type | string | yes | 190 | upay_manual |
label | string | yes | 190 | Это уникальный идентификатор (ID) пользователя, осуществляющего платеж. |
key1 | string | yes | 16 | Transaction_ID, полученный от пользователя (длина: 16, допускаются буквы, цифры, дефис). |
screenshot | file | yes | Скриншот оплаты от пользователя. | |
amount | int | yes | 256 | Сумма платежа. |
custom_transaction_id | string | yes | 190 | Идентификатор транзакции в системе Клиента. Должен быть уникальным. |
{ "status": "success", "message": "", "code": 20000, "data": [], "paginate": { "offset": 0, "total": 1, "limit": 1 } }
{ 'status': 'fail', 'message': 'MESSAGE' }
Постбек депозита
Общую документацию по постбекам смотрите здесь.
Пример постбека на депозит Upay Manual
{ "signature": "5d72de994d34e2650e4f8f032f7297f08fc46f49", "wallet_type": "upay_manual", "amount": 2000, "currency_code": "LKR", "label": "15169074", "direction": "ingoing", "created_datetime": "2024-02-29 14:19:15", "access_key": "XxdZIDCzwGYvQa28jfTunHekU", "additional_data": [ { "activated_datetime": "2024-02-29 17:19:12", "exchanger_identifier": null, "comment": "", "amount": "2000", "currency_code": "LKR", "wallet_type": "upay_manual", "stockpiling_id": 3454, "transaction_id": "B3A240229-009236", "transaction_type": 0, "plugin_custom_order_id": "30569060", "withdrawal_id": null, "withdrawal_status": null, "account_number": "", "account_name": "", "account_email": "", "bank_details": { "bank_code": "", "branch_code": "" } } ] }
На повторные постбеки необходимо также отвечать {"status":"ok"} код ответа 200.
Выводы / выплаты пользователям
Общую документацию по выводам смотрите здесь.
Создание вывода
URL: https://api.{URL сервера}/v2/withdrawal/create
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Description |
withdrawal_id | string | yes | Идентификатор вывода, если параметр не передается, то система генерирует withdrawal_id. |
payment_system | string | yes | Платежная система. |
amount | int | required | Дополнительные требования:
|
currency_code | string | yes | Код валюты. |
label | string | yes | Label пользователя, для которого проводится вывод. |
account_number | string | yes | Номер банковского счета пользователя. Валидация:
|
account_name | string | yes | Имя держателя счета. |
bank_details.bank_code | string | yes | Банк из предоставленного списка банков.
|
is_test | boolean | yes | Параметр is_test может принимать одно из двух значений:
|
signature | string | yes | Подпись, формируемая с private_key. |
{ "withdrawal_id": "test12345678", "payment_system": "upay_manual", "amount": 4000, "currency_code": "LKR", "label": "test", "account_number": "100670008622", "account_name": "AWAKA N V S", "bank_details": { "bank_code": "Nations Trust Bank" }, "signature": "83722f5c8c963d7f7a6e5bbe0d1f13a4761927c4" }
{ "status": "ok", }
{ 'status': 'fail', 'message': 'MESSAGE' }
*Если при попытке создания заявки на вывод сумма балансов счетов в валюте заявки будет меньше, чем общая сумма новой и еще незавершенных заявок, то отобразится ошибка 'Недостаточный баланс' (для настройки данного функционала обратитесь в ТП Paykassma).
{ "status": "fail", "message": { "withdrawals_sum_amount": [ "Insufficient balance" ] } }
Список актуальных банков
Пользователь должен выбрать банк только из предложенного списка. Ручной ввод названия банка пользователем запрещен.
LOLC Finance PLC
Amana Bank PLC
Axis Bank LTD
Bank of Ceylon
Cargills Bank
Central Finance PLC
CITI Bank N.A.
Citizen Development Business Finance PLC
Commercial Bank PLC
Deutsche Bank (ASIA)
DFCC Wardhana Bank
Dialog Finance Plc
HABIB Bank LTD
Hatton National Bank PLC
HDFC Bank
HSBC
ICICI Bank LTD
LB Finance PLC
Muslim Commercial Bank LTD
National Development Bank PLC
National Savings Bank
Nations Trust Bank
Pan Asia Bank LTD
People's Bank
People's Leasing
Public Bank Berhard
Regional Development Bank
Richard Pieris Finance
Sampath Bank PLC
Sanasa Development Bank
Sarvodaya Development Finance LTD
Senkadagala Finance PLC
Seylan Bank LTD
Singer Finance (Lanka) PLC
Standard Chartered Bank
State Bank of India
Union Bank of Colombo PLC
Union Pay International
Пример постбека на вывод Upay Manual
{ "signature": "2f9be236d3299256360a928831d92f6cf36871b2", "wallet_type": "upay_manual", "amount": 3600, "currency_code": "LKR", "label": "14929202", "direction": "outgoing", "created_datetime": "2024-02-29 11:01:02", "access_key": "XxdZIDCzwGYvQa28jfTunHekU", "additional_data": [ { "activated_datetime": "", "exchanger_identifier": "", "comment": "", "amount": "3600", "currency_code": "LKR", "wallet_type": "upay_manual", "stockpiling_id": null, "transaction_id": "", "transaction_type": null, "plugin_custom_order_id": "", "withdrawal_id": "29599588", "withdrawal_status": 1, "account_number": "117854929954", "account_name": "WNKPerera", "account_email": "", "bank_details": { "bank_code": "Sampath Bank PLC", "branch_code": null } } ] }
На повторные постбеки необходимо также отвечать {"status":"ok"} код ответа 200.
Статусы выводов
1 | SUCCESS | Статус для вывода, когда заявка на вывод была успешно обработана. |
5 | FAIL | Статус для вывода, когда заявка на вывод была отклонена. |
Создание заявки на выплату в ЛК Paykassma
Для создания заявки на вывод, необходимо перейти на страницу Выводы (Оплаты → Выводы) и выполнить следующие шаги:
- Нажмите на кнопку "Добавить заявку на вывод".
- Выберите из списка нужную ПС.
- Заполните поля для создания заявки в следующем окне (Cписок полей стандартизирован и не все поля являются обязательными. Для создания заявки по определенной ПС, необходимо заполнить обязательные поля для этой ПС).
Обязательные поля для выплаты Upay manual:
- Лейбл (ID пользователя);
- Сумма;
- Валюта;
- Кошелек получателя. - После оплаты статус вывода поменяется.
Paykassma не высылает постбек по выводам, созданным вручную.