Оплата
- Пользователю предоставляются реквизиты кошелька, на которые необходимо совершить оплату.
- Пользователь совершает оплату в своем приложении кошелька и получает уникальный номер транзакции.
- Далее пользователь вводит уникальный номер транзакции в платежном окне - активирует транзакцию.
- Paykassma отсылает постбек на сторону мерчанта.
- Средства начисляются на баланс пользователя на платформе мерчанта.
Интеграция через платежное окно (plugin)
Пример ссылки на открытие платежного окна Ipay Manual:
https://plugin.{URL_сервера}/? label =label ¤cy_code =LKR &lang =en &wallet_type =ipay_manual &custom_transaction_id =custom_transaction_id &fixed_amount=fixed_amount &payment_url_fail_id=1 |
---|
wallet_type=ipay_manual currency_code=PKR Доступные языки (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/ipay_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': { 'identifier': '0734234201' } }
{ '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 | ipay_manual. |
label | string | yes | 190 | Это уникальный идентификатор (ID) пользователя, осуществляющего платеж. |
key1 | string | yes | 190 | Transaction_ID, полученный от пользователя (8 цифр). |
screenshot | file | yes | Скриншот оплаты от пользователя | |
amount | float | 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' }
Постбек депозита
Общую документацию по постбекам смотрите здесь.
Пример постбека на депозит Ipay Manual
{ "signature": "2ad41735cd2d225cb30fe0665e83a3ade8618e0d", "wallet_type": "ipay_manual", "amount": 1000, "currency_code": "LKR", "label": "545932754", "converted_amount": { "USD": 3.44, "INR": 287, "EUR": 3.26, , . . . , "USDTTRC20": 0, "USDT20": 0 }, "direction": "ingoing", "created_datetime": "2023-09-26 19:37:02", "access_key": "TA25Ea9sjPUFJvIG", "additional_data": [ { "activated_datetime": "2023-09-26 22:37:00", "exchanger_identifier": null, "comment": "", "amount": "1000", "currency_code": "LKR", "wallet_type": "ipay_manual", "stockpiling_id": 4819603, "transaction_id": "56052385", "transaction_type": 0, "plugin_custom_order_id": "5586199250", "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сервера }/api/v2/withdrawal/create
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Description |
withdrawal_id | string(1-36) | yes | Идентификатор вывода, если параметр не передается, то система генерирует withdrawal_id. |
payment_system | string | yes | Платежная система. |
amount | int | yes | Дополнительные требования:
|
currency_code | string(3) | yes | Код валюты. |
is_test | boolean | yes | Параметр is_test может принимать одно из двух значений:
|
label | string(1-36) | yes | Label пользователя, для которого проводится вывод. |
account_name | string | optional | Имя держателя счета. |
account_number | string | yes | Номер счёта пользователя в Ipay. |
bank_details.bank_code | string | yes | Здесь необходимо передавать название банка, например "Bank of Ceylon". |
bank_details.branch_code | string | yes | Номер банковского счета пользователя. |
signature | string | yes | Подпись, формируемая с private_key. |
{ "withdrawal_id": "1234567test565856", "payment_system": "ipay_manual", "amount": 10000, "currency_code": "LKR", "label": "125199", "account_number": "03405138", "account_name": "Test Name Acc", "is_test": true, "bank_details": { "bank_code": "Bank Of Ceylon" }, "signature": "2e56786153bec935220fa1e9409ab24bd99cf9e8" }
{ "status": "ok", }
{ 'status': 'fail', 'message': 'MESSAGE' }
*Если при попытке создания заявки на вывод сумма балансов счетов в валюте заявки будет меньше, чем общая сумма новой и еще незавершенных заявок, то отобразится ошибка 'Недостаточный баланс' (для настройки данного функционала обратитесь в ТП Paykassma).
{ "status": "fail", "message": { "withdrawals_sum_amount": [ "Insufficient balance" ] } }
Список актуальных банков
Amana Bank
Asia Asset Finance PLC
Bank of Ceylon
Bimputh Finance PLC
Cargills Bank
CDB
Central Finance
Citibank
CLC
Commercial Bank of Ceylon PLC
Commercial Bank PLC
Deutsche Bank AG
DFCC Bank
Dialog Finance PLC
Fintrex Finance Limited
Habib Bank Limited
Hatton National Bank PLC
HDFC Bank
HSBC
Indian Bank
Indian Overseas Bank
LB Finance
LOFC
LOLC Development Finance PLC
MCB Bank Limited
Merchant Bank of Sri Lanka & Finance PLC
Nations Trust Bank PLC
NDB Bank
HNB Finance Limited
NSB
National Savings Bank
PABC
People's Bank
Peoples Bank
People’s Leasing and Finance PLC
Public Bank Berhad
Regional Development Bank
Sampath Bank PLC
State Bank of India
SDB Bank (Sanasa)
Senkadagala Finance
Seylan Bank
Standard Chartered Bank
Singer Finance
Union Bank of Colombo PLC
Пример постбека на вывод Ipay Manual
{ "signature": "c698b4961e4bfd93957c3144647f4a6704960f03", "wallet_type": "ipay_manual", "amount": 10000, "currency_code": "LKR", "label": "125199", "converted_amount": { "USD": 30.63, "INR": 2553, "EUR": 28.07, "USDTTRC20": 0, "USDT20": 0 }, "direction": "outgoing", "created_datetime": "2023-11-19 21:39:01", "access_key": "icK2pOJnH7wxSZy9jmLslGeo", "additional_data": [ { "activated_datetime": "", "exchanger_identifier": "", "comment": "test", "amount": "10000", "currency_code": "LKR", "wallet_type": "ipay_manual", "stockpiling_id": null, "transaction_id": "", "transaction_type": null, "plugin_custom_order_id": "", "withdrawal_id": "1234567test565856", "withdrawal_status": 5, "account_number": "03405138", "account_name": "Test Name Acc", "account_email": "", "bank_details": { "bank_code": "Bank Of Ceylon", "branch_code": null } } ] }
На повторные постбеки необходимо также отвечать {"status":"ok"} с кодом ответа 200.
После обработки вывода Paykassma пришлет постбек о результате вывода со статусом, подписанный сигнатурой.
Статусы выводов
1 | SUCCESS | Статус для вывода, когда заявка на вывод была успешно обработана. |
5 | FAIL | Статус для вывода, когда заявка на вывод была отклонена. |
Создание заявки на выплату в ЛК Paykassma
Для создания заявки на вывод, необходимо перейти на страницу Выводы (Оплаты → Выводы) и выполнить следующие шаги:
- Нажмите на кнопку "Добавить заявку на вывод".
- Выберите из списка нужную ПС.
- Заполните поля для создания заявки в следующем окне (список полей стандартизирован и не все поля являются обязательными. Для создания заявки по определенной ПС, необходимо заполнить обязательные поля для этой ПС).
Обязательные поля для выплаты Ipay Manual:
- Лейбл (ID пользователя);
- Сумма;
- Валюта;
- Кошелек получателя.
4. После оплаты статус вывода поменяется.
Paykassma не высылает постбек по выводам, созданным вручную.