Оплата
- Пользователю предоставляются реквизиты кошелька, на которые необходимо совершить оплату.
- Пользователь совершает оплату в своем приложении кошелька и получает уникальный номер транзакции.
- Далее пользователь вводит уникальный номер транзакции в платежном окне - активируется транзакция.
- Paykassma отсылает постбек на сторону мерчанта.
- Средства начисляются на баланс пользователя на платформе мерчанта.
Интеграция через платежное окно (plugin)
Пример ссылки на открытие платежного окна bkash:
|
|---|
wallet_type=bkash currency_code=BDT Доступные языки (lang): en, bn
Обратите внимание на описание параметров 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/bkash?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': 'BDT',
'label': 'eligendi'
}
{
"status": "ok",
"params": {
"identifier": "324342342",
"account_type": "personal" //Тип кошелька/аккаунта. Возможные значения: agent - агентский аккаунт, personal - персональный аккаунт, merchant - мерчант аккаунт
}
}
{
'status': 'fail',
'message': 'MESSAGE'
}
Способ оплаты в зависимости от типа аккаунта bKash
Пользователь Клиента переходит в сервис bKash и проводит там оплату в зависимости от типа аккаунта предоставленного кошелька.
На персональный аккаунт через "Send money".![]()
На агентский аккаунт через "Cash out".![]()
На мерчант аккаунт через "Make Payment".
Запрос активации
URL: http://api.{ URL сервера }/api/v1/transaction/activate?secret={pluginapi_secret}
На данном этапе пользователь передает номер транзакции, который вы пересылаете на сторону Paykassma для активации.
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Max Length | Description |
| currency_code | string | yes | 3 | Код валюты. |
wallet_type | string | yes | 190 | Метод (Платежная система). |
| label | string | yes | 190 | Это уникальный идентификатор (ID) пользователя, осуществляющего платеж. |
| key1 | string | yes | 190 | Transaction_ID, полученный от пользователя. bKash - 10 символов, буквы и цифры. |
| amount | float | yes | 256 | Сумма платежа. |
| custom_transaction_id | string | yes | 190 | Идентификатор транзакции в системе Клиента. Должен быть уникальным. |
{
"currency_code": "BDT",
"wallet_type": "bkash",
"label": "55",
"amount": 500,
"key1": "AAD6DHSAVC",
"custom_transaction_id": "123465477897"
}
{
"status": "ok",
"deposit": true,
"deposit_amount": 500,
"currency": {
"code": "BDT",
"symbol": "BDT"
}
}
{
"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'
}
Постбек депозита
Общую документацию по постбекам смотрите здесь.
Пример постбека на депозит bKash
{
"signature": "35e54262246adeafd4694e767557945827339a7f",
"wallet_type": "bkash",
"amount": 500,
"currency_code": "BDT",
"label": "7848747947846",
"direction": "ingoing",
"created_datetime": "2023-08-01 13:37:42",
"access_key": "FQ9jMwrNSkFbyMNqYFf6Ed4xeKmjHK",
"additional_data": [
{
"activated_datetime": "2023-08-01 16:37:16",
"exchanger_identifier": null,
"comment": "",
"amount": "100",
"currency_code": "BDT",
"wallet_type": "bkash",
"stockpiling_id": 963,
"transaction_id": "CD0C06E08D",
"transaction_type": 1,
"plugin_custom_order_id": null,
"withdrawal_id": null,
"withdrawal_status": null,
"account_number": "",
"account_name": "",
"account_email": "",
"bank_details": {
"bank_code": "",
"branch_code": ""
}
},
{
"activated_datetime": "2023-08-01 16:37:40",
"exchanger_identifier": null,
"comment": "",
"amount": "400",
"currency_code": "BDT",
"wallet_type": "bkash",
"stockpiling_id": 963,
"transaction_id": "5750E9FBB3",
"transaction_type": 1,
"plugin_custom_order_id": null,
"withdrawal_id": null,
"withdrawal_status": null,
"account_number": "",
"account_name": "",
"account_email": "",
"bank_details": {
"bank_code": "",
"branch_code": ""
}
}
]
}
Сервер Paykassma ожидает ответ в json {"status":"ok"} код ответа 200, в противном случае, при получении отличающегося ответа, Paykassma будет пересылать постбек с определенной периодичностью.
На повторные постбеки необходимо также отвечать {"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 | Код валюты. |
is_test | boolean | yes | Параметр is_test может принимать одно из двух значений:
|
label | string | yes | Label пользователя, для которого проводится вывод. |
| account_email | string | yes | Е-mail держателя счета. |
| account_number | string | yes | Номер счета получателя. 11 цифр, первые две - "01", example "01XXXXXXXXX". |
| signature | string | yes | Подпись, формируемая с private_key. |
{
"withdrawal_id": "af84c26f-931d-4c28-a30d-7b75e46b7685",
"payment_system": "bkash",
"amount": 6000,
"currency_code": "BDT",
"is_test": true,
"label": "c81594cc-e4b1-4ed5-914c-3817f2ccf13a",
"account_email": "[email protected]",
"account_number": "01642234663",
"signature": "98565041a9e126d325e864da0ba3d467f6ab0566"
}
{
"status": "ok",
}
{
'status': 'fail',
'message': 'MESSAGE'
}
*Если при попытке создания заявки на вывод сумма балансов счетов в валюте заявки будет меньше, чем общая сумма новой и еще незавершенных заявок, то отобразится ошибка 'Недостаточный баланс' (для настройки данного функционала обратитесь в ТП Paykassma).
{
"status": "fail",
"message": {
"withdrawals_sum_amount": [
"Insufficient balance"
]
}
}
Пример постбека на вывод
{
"signature": "80dea4b4ac348b3362a6ae8a384bda273090d736",
"wallet_type": "bkash",
"amount": 1000,
"currency_code": "BDT",
"label": "53999",
"direction": "outgoing",
"created_datetime": "2023-08-04 09:13:00",
"access_key": "FQ9jMwrNSkFbyMNqYFf6Ed4xeKmjHK",
"additional_data": [
{
"activated_datetime": "",
"exchanger_identifier": "",
"comment": "",
"amount": "1000",
"currency_code": "BDT",
"wallet_type": "bkash",
"stockpiling_id": null,
"transaction_id": "",
"transaction_type": null,
"plugin_custom_order_id": "",
"withdrawal_id": "10319",
"withdrawal_status": 1,
"account_number": "56432467654",
"account_name": "",
"account_email": "[email protected]",
"bank_details": {
"bank_code": null,
"branch_code": null
}
}
]
}
На повторные постбеки необходимо также отвечать {"status":"ok"} код ответа 200.
После обработки вывода, Paykassma пришлет постбек о результате вывода со статусом, подписанный сигнатурой.
Статусы выводов
| ID | Название | Описание |
|---|---|---|
| 1 | PROCESSED | Статус для вывода, когда заявка на вывод была успешно обработана. |
| 5 | REJECTED | Статус для вывода, когда заявка на вывод была отклонена. |
Создание заявки на выплату в ЛК Paykassma
Для создания заявки на вывод, необходимо перейти на страницу Выводы (Оплаты → Выводы) и выполнить следующие шаги:
- Нажмите на кнопку "Добавить заявку на вывод".

- Выберите из списка нужную ПС.

- Заполните поля для создания заявки в следующем окне (Список полей стандартизирован и не все поля являются обязательными. Для создания заявки по определенной ПС, необходимо заполнить обязательные поля для этой ПС).
Обязательные поля для выплаты bKash:
- Лейбл (ID пользователя)
- Сумма
- Валюта
- Кошелек получателя
- Email получателя
4. После оплаты статус вывода поменяется.
Paykassma не высылает постбек по выводам, созданным вручную.