Оплата
- Пользователю предоставляются реквизиты кошелька, на которые необходимо совершить оплату.
- Пользователь совершает оплату в своем приложении кошелька и получает уникальный номер транзакции.
- Далее пользователь вводит уникальный номер транзакции в платежном окне - активируется транзакцию.
- Paykassma отсылает постбек на сторону мерчанта.
- Средства начисляются на баланс пользователя на платформе мерчанта.
Интеграция через платежное окно (plugin)
Пример ссылки на открытие платежного окна Rocket:
https://plugin.{ URL сервера }/? label =label& currency_code =BDT& lang =lang& wallet_type =rocket& custom_transaction_id =custom_transaction_id& fixed_amount =fixed_amount& &payment_url_success_id=2 &payment_url_fail_id=1 |
---|
wallet_type=rocket 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
Создание платежа Rocket
URL: https://api.{ URL сервера }/api/v1/transaction/create/rocket?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": "01601606950" } }
{ 'status': 'fail' 'message': 'MESSAGE' }
Запрос активации
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, полученный от пользователя Rocket - 10 цифр |
amount | float | yes | 256 | Сумма платежа |
custom_transaction_id | string | yes | 190 | Идентификатор транзакции в системе Клиента. Должен быть уникальным. |
{ "currency_code": "BDT", "wallet_type": "rocket", "label": "55", "amount": 500, "key1": "1720943730", "custom_transaction_id": "123465477897" }
{ "status": "ok", "deposit": true, "deposit_amount": 500, "currency": { "code": "BDT", "symbol": "BDT" } }
{ "status": "ok", "deposit": false, "transactions_sum": 100, "stockpiling_sum": 100, "lacks_sum": 300, "minimum_deposit": 400, "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": "6ae0a07db755bce5753d80ea2bfad4fabe2f7ba3", "wallet_type": "rocket", "amount": 500, "currency_code": "BDT", "label": "53928", "converted_amount": {"USD": 4.55, "INR": 379, "EUR": 4.18, "IDR": 69918.03, "MYR": 21.13, "VND": 108869.72, "SGD": 6.19, "THB": 161.33, "NGN": 3474.05, "TRY": 123.26, "AED": 16.71, "CAD": 6.15, "AUD": 7.11, "BDT": 500, "AFN": 385.11, "ALL": 440.59, "AMD": 1768.18, "AOA": 3762.74, "ARS": 1591.7, "AWG": 8.19, "AZN": 7.73, "BAM": 8.15, "BBD": 9.1, "BGN": 8.18, "BHD": 1.71, "BIF": 12949.89, "BMD": 4.55, "BND": 6.18, "BOB": 31.57, "BRL": 22.69, "BSD": 4.55, "BTC": 0.00015904, "BTN": 380.12, "BWP": 62.15, "BYN": 11.53, "BZD": 9.21, "CDF": 11333.79, "CHF": 4, "CLF": 0.14, "CLP": 3957.15, "CNH": 33.35, "CNY": 33.24, "COP": 18695.44, "CRC": 2447.35, "CUC": 4.55, "CUP": 117.11, "CVE": 460.07, "CZK": 100.8, "DJF": 813.39, "DKK": 31.14, "DOP": 258.79, "DZD": 618.33, "EGP": 140.75, "ERN": 68.22, "ETB": 252.05, "FJD": 10.33, "FKP": 3.57, "GBP": 3.57, "GEL": 11.89, "GGP": 3.57, "GHS": 51.55, "GIP": 3.57, "GMD": 275.38, "GNF": 39244.75, "GTQ": 35.88, "GYD": 955.77, "HKD": 35.6, "HNL": 112.39, "HRK": 31.49, "HTG": 621.32, "HUF": 1619.27, "ILS": 17.18, "IMP": 3.57, "IQD": 5983.26, "IRR": 192438.6, "ISK": 602.25, "JEP": 3.57, "JMD": 705.07, "JOD": 3.22, "JPY": 665.44, "KES": 655.14, "KGS": 401.45, "KHR": 18900.27, "KMF": 2053.44, "KPW": 4093.23, "KRW": 6102.54, "KWD": 1.4, "KYD": 3.81, "KZT": 2095.51, "LAK": 89016.85, "LBP": 68568.39, "LKR": 1466.42, "LRD": 846.84, "LSL": 87.33, "LYD": 21.91, "MAD": 45.07, "MDL": 80.68, "MGA": 20657.03, "MKD": 257.8, "MMK": 9593.28, "MNT": 15690.71, "MOP": 36.68, "MRO": 0, "MRU": 173.03, "MUR": 206.89, "MVR": 69.99, "MWK": 4954.87, "MXN": 77.98, "MZN": 290.51, "NAD": 86.69, "NIO": 167.12, "NOK": 48.2, "NPR": 608.21, "NZD": 7.67, "OMR": 1.75, "PAB": 4.55, "PEN": 16.92, "PGK": 16.6, "PHP": 257.8, "PKR": 1335.53, "PLN": 18.67, "PYG": 33145.94, "QAR": 16.56, "RON": 20.63, "RSD": 490.26, "RUB": 430.93, "RWF": 5389.42, "SAR": 17.06, "SBD": 38.13, "SCR": 61.13, "SDG": 2733.37, "SEK": 49.69, "SHP": 3.57, "SLL": 95369.96, "SOS": 2601.65, "SRD": 173.74, "SSP": 592.43, "STD": 101338.34, "STN": 102.8, "SVC": 39.97, "SYP": 11427.07, "SZL": 87.26, "TJS": 50.07, "TMT": 15.96, "TND": 14.06, "TOP": 10.86, "TTD": 30.96, "TWD": 145.38, "TZS": 11392.82, "UAH": 168.73, "UGX": 17037.3, "UYU": 172.93, "UZS": 55162.07, "VEF": 0, "VES": 143.13, "VUV": 539.95, "WST": 12.36, "XAF": 2741.68, "XAG": 0.2, "XAU": 0, "XCD": 12.29, "XDR": 3.41, "XOF": 2741.68, "XPD": 0, "XPF": 498.77, "XPT": 0.01, "YER": 1138.37, "ZAR": 87.04, "ZMW": 89.38, "ZWL": 1464.47, "ETH": 0.00252856, "LTC": 0.06034501, "DOGE": 66.98532801, "DASH": 0.15938214, "BCH": 0.02166918, "ZEC": 0.16891067, "ETC": 0.27879095, "XRP": 7.71365297, "TRX": 60.90667594, "XLM": 36.06130575, "WAVES": 2.69090521, "USDT": 4.55363544, "USDTTRC20": 0, "USDT20": 0}, "direction": "ingoing", "created_datetime": "2023-08-17 07:34:20", "access_key": "FQ9jMwrNSkFbyMNqYFf6Ed4xeKmjHK", "additional_data": [ { "activated_datetime": "2023-08-17 10:33:39", "exchanger_identifier": null, "comment": "", "amount": "300", "currency_code": "BDT", "wallet_type": "rocket", "stockpiling_id": 1058, "transaction_id": "1692257577", "transaction_type": 1, "plugin_custom_order_id": "kuwnoGHyRCKu6qzE", "withdrawal_id": null, "withdrawal_status": null, "account_number": "", "account_name": "", "account_email": "", "bank_details": { "bank_code": "", "branch_code": "" } }, { "activated_datetime": "2023-08-17 10:34:20", "exchanger_identifier": null, "comment": "", "amount": "200", "currency_code": "BDT", "wallet_type": "rocket", "stockpiling_id": 1058, "transaction_id": "1692257588", "transaction_type": 1, "plugin_custom_order_id": "kuwnoGHyRCKu6qzE", "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(1-36) | yes | Идентификатор вывода, если параметр не передается, то система генерирует withdrawal_id |
payment_system | string | yes | Платежная система |
amount | int | required | Дополнительные требования:
|
currency_code | string(3) | yes | Код валюты |
is_test | boolean | yes | Параметр is_test может принимать одно из двух значений:
|
label | string(1-36) | yes | Label пользователя, для которого проводится вывод |
account_email | string | yes | Е-mail держателя счета |
account_number | string | yes | Номер счета получателя, 11-12 цифр, первые две - "01", example "01XXXXXXXXX" , "01XXXXXXXXXX" |
signature | string | yes | Подпись, формируемая с private_key |
{ "withdrawal_id": "af84c26f-931d-4c28-a30d-7b75e46b7685", "payment_system": "rocket", "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": "654d7d7bbb46142add67d9c6b148e81d8aa2b8b6", "wallet_type": "rocket", "amount": 6000, "currency_code": "BDT", "label": "c81594cc-e4b1-4ed5-914c-3817f2ccf13a", "converted_amount": {"USD": 54.96, "INR": 4571, "EUR": 50.47, "IDR": 842062.09, "MYR": 255.71, "VND": 1311514.05, "SGD": 74.67, "THB": 1939.83, "NGN": 42095.96, "TRY": 1489.77, "AED": 201.87, "CAD": 74.57, "AUD": 86.18, "BDT": 6000, "AFN": 4621.87, "ALL": 5359.12, "AMD": 21194.29, "AOA": 45507.96, "ARS": 19185.63, "AWG": 98.93, "AZN": 93.43, "BAM": 98.69, "BBD": 109.92, "BGN": 99.03, "BHD": 20.68, "BIF": 155409.29, "BMD": 54.96, "BND": 74.45, "BOB": 378.77, "BRL": 273.2, "BSD": 54.96, "BTC": 0.00210336, "BTN": 4557.73, "BWP": 745.84, "BYN": 138.36, "BZD": 110.5, "CDF": 136000.68, "CHF": 48.48, "CLF": 1.72, "CLP": 47539.27, "CNH": 401.76, "CNY": 400.18, "COP": 225362.58, "CRC": 29253.17, "CUC": 54.96, "CUP": 1415.25, "CVE": 5564.25, "CZK": 1214.16, "DJF": 9760.47, "DKK": 376.67, "DOP": 3111.02, "DZD": 7493.42, "EGP": 1693.86, "ERN": 824.42, "ETB": 3025.23, "FJD": 124.89, "FKP": 43.16, "GBP": 43.16, "GEL": 144, "GGP": 43.16, "GHS": 620.24, "GIP": 43.16, "GMD": 3327.91, "GNF": 471021.91, "GTQ": 430.29, "GYD": 11480.23, "HKD": 430.39, "HNL": 1349.02, "HRK": 380.87, "HTG": 7455.34, "HUF": 19392.79, "ILS": 208.12, "IMP": 43.16, "IQD": 71798.05, "IRR": 2323489, "ISK": 7251.47, "JEP": 43.16, "JMD": 8465.6, "JOD": 38.9, "JPY": 7992.2, "KES": 7823.72, "KGS": 4851.43, "KHR": 227264.98, "KMF": 24869.97, "KPW": 49465.17, "KRW": 73656.94, "KWD": 16.93, "KYD": 45.68, "KZT": 24891.68, "LAK": 1069341.16, "LBP": 822826.43, "LKR": 17705.29, "LRD": 10236.54, "LSL": 1045.42, "LYD": 264.42, "MAD": 540.38, "MDL": 974.38, "MGA": 248174.85, "MKD": 3109.5, "MMK": 115114.66, "MNT": 189616.49, "MOP": 442.17, "MRO": 0, "MRU": 2078.4, "MUR": 2497.05, "MVR": 845.03, "MWK": 59454.97, "MXN": 937.54, "MZN": 3510.65, "NAD": 1050.31, "NIO": 2005.38, "NOK": 585.45, "NPR": 7292.34, "NZD": 92.81, "OMR": 21.11, "PAB": 54.96, "PEN": 203.9, "PGK": 199.93, "PHP": 3089.48, "PKR": 16280.79, "PLN": 225.45, "PYG": 398047.69, "QAR": 199.81, "RON": 250.01, "RSD": 5917.24, "RUB": 5171.91, "RWF": 64859.54, "SAR": 206.12, "SBD": 460, "SCR": 740.52, "SDG": 33031.74, "SEK": 602.63, "SHP": 43.16, "SLL": 1152511, "SOS": 31216.1, "SRD": 2099.55, "SSP": 7159.26, "STD": 1224636.72, "STN": 1236.33, "SVC": 479.65, "SYP": 138091.92, "SZL": 1045.18, "TJS": 602.17, "TMT": 192.36, "TND": 169.64, "TOP": 131.39, "TTD": 371.76, "TWD": 1753.87, "TZS": 137318.99, "UAH": 2024.53, "UGX": 204726.57, "UYU": 2074.37, "UZS": 662069.2, "VEF": 0, "VES": 1735.25, "VUV": 6525.12, "WST": 149.41, "XAF": 33107.35, "XAG": 2.42, "XAU": 0.03, "XCD": 148.54, "XDR": 41.1, "XOF": 33107.35, "XPD": 0.04, "XPF": 6022.89, "XPT": 0.06, "YER": 13759.56, "ZAR": 1047.67, "ZMW": 1062.09, "ZWL": 17697.54, "ETH": 0.0327932, "LTC": 0.84816609, "DOGE": 860.69740654, "DASH": 2.0288552, "BCH": 0.29005661, "ZEC": 2.19152471, "ETC": 3.54718587, "XRP": 101.6340943, "TRX": 725.93714352, "XLM": 419.04973318, "WAVES": 36.04878975, "USDT": 54.95428079, "USDTTRC20": 0, "USDT20": 0}, "direction": "outgoing", "created_datetime": "2023-08-20 19:33:01", "access_key": "FQ9jMwrNSkFbyMNqYFf6Ed4xeKmjHK", "additional_data": [ { "activated_datetime": "", "exchanger_identifier": "", "comment": "test", "amount": "6000", "currency_code": "BDT", "wallet_type": "rocket", "stockpiling_id": null, "transaction_id": "", "transaction_type": null, "plugin_custom_order_id": "", "withdrawal_id": "af84c26f-931d-4c28-a30d-7b75e46b7685", "withdrawal_status": 5, "account_number": "01642234663", "account_name": "", "account_email": "[email protected]", "bank_details": { "bank_code": null, "branch_code": null } } ] }
На повторные постбеки необходимо также отвечать {"status":"ok"} код ответа 200.
После обработки вывода, Paykassma пришлет постбек о результате вывода со статусом (withdrawal_status).
Статусы выводов
1 | SUCCESS | Статус для вывода, когда заявка на вывод была успешно обработана |
5 | FAIL | Статус для вывода, когда заявка на вывод была отклонена |
Создание заявки на выплату в ЛК Paykassma
Для создания заявки на вывод, необходимо перейти на страницу Выводы (Оплаты → Выводы) и выполнить следующие шаги:
- Нажмите на кнопку "Добавить заявку на вывод".
- Выберите из списка нужную ПС.
- Заполните поля для создания заявки в следующем окне (список полей стандартизирован и не все поля являются обязательными. Для создания заявки по определенной ПС, необходимо заполнить обязательные поля для этой ПС).
Обязательные поля для выплаты Rocket:
- Лейбл (ID юзера)
- Сумма
- Валюта
- Кошелек получателя
- Email получателя - После оплаты статус вывода поменяется
Paykassma не высылает постбек по выводам, созданным вручную.