Оплата
- Пользователю предоставляются реквизиты кошелька, на которые необходимо совершить оплату.
- Пользователь совершает оплату в своем приложении кошелька и получает уникальный номер транзакции.
- Далее пользователь вводит уникальный номер транзакции в платежном окне - активирует транзакцию.
- Paykassma отсылает постбек на сторону мерчанта.
- Средства начисляются на баланс пользователя на платформе мерчанта.
Интеграция через платежное окно (plugin)
Пример ссылки на открытие платежного окна:
|
---|
wallet_type=kbzpay_manual currency_code=MMK Доступные языки (lang): en, my (Бирманский)
Обратите внимание на описание параметров 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/kbzpay_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': 'MMK', 'label': 'eligendi' }
{ "status": "ok", "params": { "kbzpay number": "12321" } }
{ '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 | Код валюты (MMK). |
wallet_type | string | yes | 190 | kbzpay_manual |
label | string | yes | 190 | Это уникальный идентификатор (ID) пользователя, осуществляющего платеж. |
key1 | string | yes | 25 | Transaction_ID, полученный от пользователя (15-25 цифр). |
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' }
Постбек депозита
Общую документацию по постбекам смотрите здесь.
Пример постбека на депозит KBZpay Manual
{ "signature": "f33227723305ae59e4aa75b295f92856225e1b57", "wallet_type": "kbzpay_manual", "amount": 10000, "currency_code": "MMK", "label": "1234", "direction": "ingoing", "created_datetime": "2023-11-21 23:30:24", "access_key": "SU8jgmm716Pky0o5zjWA2qvJtieFaYqS", "additional_data": [ { "activated_datetime": "2023-11-22 02:30:22", "exchanger_identifier": null, "comment": "", "amount": "10000", "currency_code": "MMK", "wallet_type": "kbzpay_manual", "stockpiling_id": 1252, "transaction_id": "01003246080588218368", "transaction_type": 0, "plugin_custom_order_id": "test", "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 | Одиннадцатизначный номер счета пользователя Клиента в KBZpay. Валидация:
|
is_test | boolean | yes | Параметр is_test может принимать одно из двух значений:
|
signature | string | yes | Подпись, формируемая с private_key. |
{ "withdrawal_id": "1234567test1234", "payment_system": "kbzpay_manual", "amount": 30000, "currency_code": "MMK", "label": "125199", "account_number": "09444595698", "is_test": true, "signature": "1bfb60ae114b102fff0409804da2302f4f7fbee5" }
{ "status": "ok" }
{ 'status': 'fail', 'message': 'MESSAGE' }
*Если при попытке создания заявки на вывод сумма балансов счетов в валюте заявки будет меньше, чем общая сумма новой и еще незавершенных заявок, то отобразится ошибка 'Недостаточный баланс' (для настройки данного функционала обратитесь в ТП Paykassma).
{ "status": "fail", "message": { "withdrawals_sum_amount": [ "Insufficient balance" ] } }
Пример постбека на вывод KBZpay Manual
{ "signature": "66e711eedd6e35e023bbe58a182074aa89997ad1", "wallet_type": "kbzpay_manual", "amount": 30000, "currency_code": "MMK", "label": "125199", "direction": "outgoing", "created_datetime": "2023-11-21 23:36:01", "access_key": "SU8jgmm716Pky0o5zjWA2qvJtieFaYqS", "additional_data": [ { "activated_datetime": "", "exchanger_identifier": "", "comment": "test", "amount": "30000", "currency_code": "MMK", "wallet_type": "kbzpay_manual", "stockpiling_id": null, "transaction_id": "", "transaction_type": null, "plugin_custom_order_id": "", "withdrawal_id": "1234567test1234", "withdrawal_status": 5, "account_number": "09444595698", "account_name": "", "account_email": "", "bank_details": { "bank_code": null, "branch_code": null } } ] }
На повторные постбеки необходимо также отвечать {"status":"ok"} код ответа 200.
Статусы выводов
1 | SUCCESS | Статус для вывода, когда заявка на вывод была успешно обработана. |
5 | FAIL | Статус для вывода, когда заявка на вывод была отклонена. |
Создание заявки на выплату в ЛК Paykassma
Для создания заявки на вывод, необходимо перейти на страницу Выводы (Оплаты → Выводы) и выполнить следующие шаги:
- Нажмите на кнопку "Добавить заявку на вывод".
- Выберите из списка нужную ПС.
- Заполните поля для создания заявки в следующем окне (Cписок полей стандартизирован и не все поля являются обязательными. Для создания заявки по определенной ПС, необходимо заполнить обязательные поля для этой ПС).
Обязательные поля для выплаты KBZpay Manual:
- Лейбл (ID пользователя);
- Сумма;
- Валюта;
- Кошелек получателя. - После оплаты статус вывода поменяется.
Paykassma не высылает постбек по выводам, созданным вручную.