Оплата
- Пользователю предоставляются реквизиты кошелька, на которые необходимо совершить оплату.
- Пользователь совершает оплату в своем приложении кошелька и получает уникальный номер транзакции.
- Далее пользователь вводит уникальный номер транзакции в платежном окне - активируется транзакцию.
- Paykassma отсылает постбек на сторону мерчанта.
- Средства начисляются на баланс пользователя на платформе мерчанта.
Интеграция через платежное окно (plugin)
Пример ссылки на открытие платежного окна Nagad:
https://plugin/.{URL_сервера}/? label =label ¤cy_code =BDT &lang =lang &wallet_type =nagad &custom_transaction_id =custom_transaction_id &fixed_amount =fixed_amount &payment_url_success_id=2 &payment_url_fail_id=1 |
---|
wallet_type=nagad 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/nagad?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' }
Способ оплаты в зависимости от типа аккаунта Nagad
Пользователь Клиента переходит в сервис Nagad и проводит там оплату в зависимости от типа аккаунта предоставленного кошелька.
На персональный аккаунт через "Send money".
На агентский аккаунт через "Cash out".
На мерчант аккаунт через "Merchant Pay".
Активация платежа
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, полученный от пользователя. Nagad - 8 символов, буквы и цифры. |
amount | float | yes | 256 | Сумма платежа. |
custom_transaction_id | string | yes | 190 | Идентификатор транзакции в системе Клиента. Должен быть уникальным. |
{ "currency_code": "BDT", "wallet_type": "nagad", "label": "55", "amount": 500, "key1": "21NO1YRT", "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' }
Постбек депозита
Общую документацию по постбекам смотрите здесь.
Пример постбека на депозит Nagad
{ "signature": "56beb10ead1cd49475f1e16dd668a29fff3d4fb9", "wallet_type": "nagad", "amount": 600, "currency_code": "BDT", "label": "234", "converted_amount": {"USD": 5.5, "INR": 458, "EUR": 5.05, "IDR": 84206.21, "MYR": 25.57, "VND": 131151.4, "SGD": 7.47, "THB": 193.98, "NGN": 4209.6, "TRY": 148.98, "AED": 20.19, "CAD": 7.46, "AUD": 8.62, "BDT": 600, "AFN": 462.19, "ALL": 535.91, "AMD": 2119.43, "AOA": 4550.8, "ARS": 1918.56, "AWG": 9.89, "AZN": 9.34, "BAM": 9.87, "BBD": 10.99, "BGN": 9.9, "BHD": 2.07, "BIF": 15540.93, "BMD": 5.5, "BND": 7.45, "BOB": 37.88, "BRL": 27.32, "BSD": 5.5, "BTC": 0.00021022, "BTN": 455.77, "BWP": 74.58, "BYN": 13.84, "BZD": 11.05, "CDF": 13600.07, "CHF": 4.85, "CLF": 0.17, "CLP": 4753.93, "CNH": 40.18, "CNY": 40.02, "COP": 22536.26, "CRC": 2925.32, "CUC": 5.5, "CUP": 141.53, "CVE": 556.43, "CZK": 121.42, "DJF": 976.05, "DKK": 37.67, "DOP": 311.1, "DZD": 749.34, "EGP": 169.39, "ERN": 82.44, "ETB": 302.52, "FJD": 12.49, "FKP": 4.32, "GBP": 4.32, "GEL": 14.4, "GGP": 4.32, "GHS": 62.02, "GIP": 4.32, "GMD": 332.79, "GNF": 47102.19, "GTQ": 43.03, "GYD": 1148.02, "HKD": 43.04, "HNL": 134.9, "HRK": 38.09, "HTG": 745.53, "HUF": 1939.28, "ILS": 20.81, "IMP": 4.32, "IQD": 7179.8, "IRR": 232348.9, "ISK": 725.15, "JEP": 4.32, "JMD": 846.56, "JOD": 3.89, "JPY": 799.22, "KES": 782.37, "KGS": 485.14, "KHR": 22726.5, "KMF": 2487, "KPW": 4946.52, "KRW": 7365.69, "KWD": 1.69, "KYD": 4.57, "KZT": 2489.17, "LAK": 106934.11, "LBP": 82282.64, "LKR": 1770.53, "LRD": 1023.65, "LSL": 104.54, "LYD": 26.44, "MAD": 54.04, "MDL": 97.44, "MGA": 24817.48, "MKD": 310.95, "MMK": 11511.47, "MNT": 18961.65, "MOP": 44.22, "MRO": 0, "MRU": 207.84, "MUR": 249.7, "MVR": 84.5, "MWK": 5945.5, "MXN": 93.75, "MZN": 351.07, "NAD": 105.03, "NIO": 200.54, "NOK": 58.55, "NPR": 729.23, "NZD": 9.28, "OMR": 2.11, "PAB": 5.5, "PEN": 20.39, "PGK": 19.99, "PHP": 308.95, "PKR": 1628.08, "PLN": 22.54, "PYG": 39804.77, "QAR": 19.98, "RON": 25, "RSD": 591.72, "RUB": 517.19, "RWF": 6485.95, "SAR": 20.61, "SBD": 46, "SCR": 74.05, "SDG": 3303.17, "SEK": 60.26, "SHP": 4.32, "SLL": 115251.1, "SOS": 3121.61, "SRD": 209.95, "SSP": 715.93, "STD": 122463.67, "STN": 123.63, "SVC": 47.96, "SYP": 13809.19, "SZL": 104.52, "TJS": 60.22, "TMT": 19.24, "TND": 16.96, "TOP": 13.14, "TTD": 37.18, "TWD": 175.39, "TZS": 13731.9, "UAH": 202.45, "UGX": 20472.66, "UYU": 207.44, "UZS": 66206.92, "VEF": 0, "VES": 173.52, "VUV": 652.51, "WST": 14.94, "XAF": 3310.73, "XAG": 0.24, "XAU": 0, "XCD": 14.85, "XDR": 4.11, "XOF": 3310.73, "XPD": 0, "XPF": 602.29, "XPT": 0.01, "YER": 1375.96, "ZAR": 104.77, "ZMW": 106.21, "ZWL": 1769.75, "ETH": 0.00327932, "LTC": 0.0848166, "DOGE": 86.06973908, "DASH": 0.20288551, "BCH": 0.02900566, "ZEC": 0.21915246, "ETC": 0.35471858, "XRP": 10.16340924, "TRX": 72.59371303, "XLM": 41.90497255, "WAVES": 3.60487891, "USDT": 5.49542797, "USDTTRC20": 0, "USDT20": 0}, "direction": "ingoing", "created_datetime": "2023-08-20 19:04:08", "access_key": "FQ9jMwrNSkFbyMNqYFf6Ed4xeKmjHK", "additional_data": [ { "activated_datetime": "2023-08-20 22:04:07", "exchanger_identifier": null, "comment": "", "amount": "600", "currency_code": "BDT", "wallet_type": "nagad", "stockpiling_id": 1061, "transaction_id": "52AD1EA4", "transaction_type": 1, "plugin_custom_order_id": "1234", "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.
Выводы / выплаты пользователям
Общую документацию по выводам смотрите здесь.
Создание вывода Nagad
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 цифр, первые две - "01", example "01XXXXXXXXX". |
signature | string | yes | Подпись, формируемая с private_key. |
{ "withdrawal_id": "af84c26f-931d-4c28-a30d-7b75e46b7685", "payment_system": "nagad", "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" ] } }
Пример постбека на вывод Nagad
{ "signature": "c36db9e7c7b45d429ee0ec5e4d2978cea1431287", "wallet_type": "nagad", "amount": 1000, "currency_code": "BDT", "label": "53928", "converted_amount": {"USD": 9.21, "INR": 759, "EUR": 8.41, "IDR": 139483.61, "MYR": 41.62, "VND": 218201.75, "SGD": 12.31, "THB": 316.46, "NGN": 7099.48, "TRY": 248.35, "AED": 33.83, "CAD": 12.24, "AUD": 13.94, "BDT": 1000, "AFN": 784.38, "ALL": 854.5, "AMD": 3556.83, "AOA": 7606.75, "ARS": 2535.36, "AWG": 16.6, "AZN": 15.66, "BAM": 16.4, "BBD": 18.42, "BGN": 16.41, "BHD": 3.47, "BIF": 26092.95, "BMD": 9.21, "BND": 12.29, "BOB": 63.67, "BRL": 43.91, "BSD": 9.21, "BTC": 0.00031913, "BTN": 758.01, "BWP": 121.08, "BYN": 23.26, "BZD": 18.57, "CDF": 22850.58, "CHF": 8.08, "CLF": 0.28, "CLP": 7755.8, "CNH": 66.11, "CNY": 66.02, "COP": 36235.92, "CRC": 4997.9, "CUC": 9.21, "CUP": 237.17, "CVE": 925.12, "CZK": 201.13, "DJF": 1640.56, "DKK": 62.65, "DOP": 518.32, "DZD": 1249.95, "EGP": 284.6, "ERN": 138.15, "ETB": 507.65, "FJD": 20.43, "FKP": 7.22, "GBP": 7.22, "GEL": 23.81, "GGP": 7.22, "GHS": 104.44, "GIP": 7.22, "GMD": 552.62, "GNF": 79269.03, "GTQ": 72.45, "GYD": 1927.74, "HKD": 71.79, "HNL": 226.67, "HRK": 63.34, "HTG": 1257.74, "HUF": 3275.81, "ILS": 33.61, "IMP": 7.22, "IQD": 12070.64, "IRR": 389595.44, "ISK": 1213.18, "JEP": 7.22, "JMD": 1423.49, "JOD": 6.52, "JPY": 1319.56, "KES": 1312.1, "KGS": 808.5, "KHR": 38055.79, "KMF": 4123.91, "KPW": 8289.26, "KRW": 11882.19, "KWD": 2.83, "KYD": 7.68, "KZT": 4095.55, "LAK": 178505.27, "LBP": 138302.79, "LKR": 2939.27, "LRD": 1716.8, "LSL": 163.89, "LYD": 44.04, "MAD": 90.75, "MDL": 164.7, "MGA": 41554.64, "MKD": 517.13, "MMK": 19349.5, "MNT": 31775.51, "MOP": 73.97, "MRO": 0, "MRU": 351.04, "MUR": 416.31, "MVR": 141.38, "MWK": 9706.21, "MXN": 154.95, "MZN": 586.93, "NAD": 164.5, "NIO": 337.1, "NOK": 94.28, "NPR": 1212.8, "NZD": 15, "OMR": 3.55, "PAB": 9.21, "PEN": 33.21, "PGK": 33.18, "PHP": 505.49, "PKR": 2649.6, "PLN": 37.25, "PYG": 67026.01, "QAR": 33.58, "RON": 41.46, "RSD": 986.28, "RUB": 848.04, "RWF": 10826.27, "SAR": 34.56, "SBD": 76.89, "SCR": 123.02, "SDG": 5539.99, "SEK": 98, "SHP": 7.22, "SLL": 193135.26, "SOS": 5246.97, "SRD": 355.72, "SSP": 1199.73, "STD": 205221.93, "STN": 205.35, "SVC": 80.62, "SYP": 23141.14, "SZL": 163.79, "TJS": 100.94, "TMT": 32.33, "TND": 28.37, "TOP": 21.65, "TTD": 62.58, "TWD": 291, "TZS": 22661.57, "UAH": 340.28, "UGX": 33433.14, "UYU": 347.09, "UZS": 107190.46, "VEF": 0, "VES": 271.47, "VUV": 1093.46, "WST": 25.04, "XAF": 5514.18, "XAG": 0.38, "XAU": 0, "XCD": 24.89, "XDR": 6.86, "XOF": 5514.18, "XPD": 0.01, "XPF": 1003.14, "XPT": 0.01, "YER": 2305.34, "ZAR": 166.99, "ZMW": 174.84, "ZWL": 2965.71, "ETH": 0.00502918, "LTC": 0.1013311, "DOGE": 119.5468743, "DASH": 0.29575773, "BCH": 0.03805325, "ZEC": 0.30984009, "ETC": 0.50497011, "XRP": 13.35802786, "TRX": 117.94919758, "XLM": 62.13565895, "WAVES": 4.85538562, "USDT": 9.2134184, "USDTTRC20": 0, "USDT20": 0}, "direction": "outgoing", "created_datetime": "2023-08-01 13:30:03", "access_key": "FQ9jMwrNSkFbyMNqYFf6Ed4xeKmjHK", "additional_data": [ { "activated_datetime": "", "exchanger_identifier": "", "comment": "1", "amount": "1000", "currency_code": "BDT", "wallet_type": "nagad", "stockpiling_id": null, "transaction_id": "", "transaction_type": null, "plugin_custom_order_id": "", "withdrawal_id": "10304", "withdrawal_status": 5, "account_number": "123456789013", "account_name": "", "account_email": "", "bank_details": { "bank_code": null, "branch_code": null } } ] }
На повторные постбеки необходимо также отвечать {"status":"ok"} код ответа 200.
После обработки вывода Paykassma пришлет постбек о результате вывода со статусом (withdrawal_status), подписанный сигнатурой.
Статусы выводов
1 | SUCCESS | Статус для вывода, когда заявка на вывод была успешно обработана. |
5 | FAIL | Статус для вывода, когда заявка на вывод была отклонена. |
Создание заявки на выплату в ЛК Paykassma
Для создания заявки на вывод, необходимо перейти на страницу Выводы (Оплаты → Выводы) и выполнить следующие шаги:
- Нажмите на кнопку "Добавить заявку на вывод".
- Выберите из списка нужную ПС.
- Заполните поля для создания заявки в следующем окне (список полей стандартизирован и не все поля являются обязательными. Для создания заявки по определенной ПС, необходимо заполнить обязательные поля для этой ПС).
Обязательные поля для выплаты Nagad:
- Лейбл (ID пользователя)
- Сумма
- Валюта
- Кошелек получателя
- Email получателя
4. После оплаты статус вывода поменяется.
Paykassma не высылает постбек по выводам, созданным вручную.