Оплата
- Пользователю предоставляются реквизиты кошелька, на которые необходимо совершить оплату.
- Пользователь совершает оплату в своем приложении кошелька и получает уникальный номер транзакции.
- Далее пользователь вводит уникальный номер транзакции в платежном окне - активируется транзакция.
- Paykassma отсылает постбек на сторону мерчанта.
- Средства начисляются на баланс пользователя на платформе мерчанта.
Интеграция через платежное окно (plugin)
Пример ссылки на открытие платежного окна EasyPaisa:
https://plugin.{URL_сервера}/? label =label ¤cy_code =PKR &lang =lang &wallet_type =easypaisa &custom_transaction_id =custom_transaction_id &fixed_amount=fixed_amount &payment_url_fail_id=1 |
---|
wallet_type=easypaisa currency_code=PKR Доступные языки (lang): en, ur (Урду)
Обратите внимание на описание параметров 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/easypaisa?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': 'PKR', 'label': 'eligendi' }
{ 'status': 'ok', 'params': { 'identifier': '03432312313' } }
{ 'status': 'fail', 'message': 'MESSAGE' }
Запрос активации
URL: http://api.{URL_сервера}/api/v1/transaction/activate?secret={pluginapi_secret}
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Max Length | Description |
currency_code | string | yes | 3 | Код валюты. |
wallet_type | string | yes | 190 | Значение из списка доступных ПС, например: easypaisa и тд. |
label | string | yes | 190 | Это уникальный идентификатор (ID) пользователя, осуществляющего платеж. |
key1 | string | yes | 190 | Transaction_ID, полученный от пользователя (11 цифр). |
amount | float | yes | 256 | Сумма платежа. |
custom_transaction_id | string | yes | 190 | Идентификатор транзакции в системе Клиента. Должен быть уникальным. |
{ "currency_code": "PKR", "label": "786442", "wallet_type": "easypaisa", "key1": "23936785601", "amount": 1200, "custom_transaction_id": "3158538" }
{ "status": "ok", "deposit": true, "deposit_amount": 6000, "currency": { "code": "PKR", "symbol": "PKR" } }
{ "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' }
Постбек депозита
Общую документацию по постбекам смотрите здесь.
Пример постбека на депозит EasyPaisa
{ "signature": "2ad41735cd2d225cb30fe0665e83a3ade8618e0d", "wallet_type": "easypaisa", "amount": 1000, "currency_code": "PKR", "label": "545932754", "converted_amount": { "USD": 3.44, "INR": 287, "EUR": 3.26, "IDR": 53345.01, " R": 16.13, "VND": 83939.04, "SGD": 4.71, "THB": 125.55, "NGN": 2683.44, "TRY": 93.83, "AED": 12.64, "CAD": 4.65, "AUD": 5.38, "BDT": 379.55, "AFN": 269.35, "ALL": 345.5, "AMD": 1334.63, "AOA": 2860.58, "ARS": 1204.88, "AWG": 6.2, "AZN": 5.85, "BAM": 6.36, "BBD": 6.88, "BGN": 6.36, "BHD": 1.3, "BIF": 9793.46, "BMD": 3.44, "BND": 4.72, "BOB": 23.79, "BRL": 17.17, "BSD": 3.44, "BTC": 0.00013153, "BTN": 286.42, "BWP": 47.13, "BYN": 8.69, "BZD": 6.94, "CDF": 8588.64, "CHF": 3.15, "CLF": 0.11, "CLP": 3111.53, "CNH": 25.17, "CNY": 25.17, "COP": 14004.25, "CRC": 1853.68, "CUC": 3.44, "CUP": 88.64, "CVE": 360.24, "CZK": 79.62, "DJF": 612.14, "DKK": 24.29, "DOP": 195.35, "DZD": 473.03, "EGP": 106.42, "ERN": 51.64, "ETB": 190.44, "FJD": 7.8, "FKP": 2.83, "GBP": 2.83, "GEL": 9.23, "GGP": 2.83, "GHS": 39.76, "GIP": 2.83, "GMD": 223.92, "GNF": 29793.45, "GTQ": 27.05, "GYD": 720.18, "HKD": 26.93, "HNL": 85.4, "HRK": 24.55, "HTG": 463, "HUF": 1273.46, "ILS": 13.17, "IMP": 2.83, "IQD": 4509.47, "IRR": 145395.84, "ISK": 472.7, "JEP": 2.83, "JMD": 531.91, "JOD": 2.44, "JPY": 513.15, "KES": 508.95, "KGS": 305.37, "KHR": 14182.44, "KMF": 1603.96, "KPW": 3098.11, "KRW": 4659.28, "KWD": 1.06, "KYD": 2.87, "KZT": 1640.6, "LAK": 69345.94, "LBP": 51738.37, "LKR": 1115.54, "LRD": 642, "LSL": 64.54, "LYD": 16.78, "MAD": 35.36, "MDL": 62.53, "MGA": 15622.78, "MKD": 200.46, "MMK": 7229.09, "MNT": 11876.07, "MOP": 27.73, "MRO": 0, "MRU": 131.15, "MUR": 153.9, "MVR": 53.18, "MWK": 3729.78, "MXN": 60.18, "MZN": 219.97, "NAD": 65.54, "NIO": 125.92, "NOK": 37.28, "NPR": 458.28, "NZD": 5.79, "OMR": 1.33, "PAB": 3.44, "PEN": 12.98, "PGK": 12.53, "PHP": 196.97, "PKR": 1000, "PLN": 15.02, "PYG": 25089.55, "QAR": 12.53, "RON": 16.2, "RSD": 382.13, "RUB": 331.76, "RWF": 4165.23, "SAR": 12.91, "SBD": 28.87, "SCR": 46, "SDG": 2070.57, "SEK": 37.98, "SHP": 2.83, "SLL": 72184.15, "SOS": 1960.41, "SRD": 131.66, "SSP": 448.4, "STD": 76701.53, "STN": 80.03, "SVC": 30.12, "SYP": 8648.98, "SZL": 64.54, "TJS": 37.81, "TMT": 12.08, "TND": 10.93, "TOP": 8.22, "TTD": 23.35, "TWD": 110.91, "TZS": 8623.06, "UAH": 127.14, "UGX": 12974.99, "UYU": 131.28, "UZS": 42082.61, "VEF": 0, "VES": 116.97, "VUV": 408.68, "WST": 9.36, "XAF": 2137, "XAG": 0.15, "XAU": 0, "XCD": 9.3, "XDR": 2.62, "XOF": 2137, "XPD": 0, "XPF": 388.76, "XPT": 0, "YER": 861.88, "ZAR": 65.71, "ZMW": 72.37, "ZWL": 1108.43, "ETH": 0.00217404, "LTC": 0.05394329, "DOGE": 57.16089421, "DASH": 0.12895029, "BCH": 0.01611015, "ZEC": 0.13142451, "ETC": 0.22849437, "XRP": 6.82546989, "TRX": 40.70360447, "XLM": 30.77768748, "WAVES": 2.27571992, "USDT": 3.44373882, "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": "923139471223", "comment": "", "amount": "1000", "currency_code": "PKR", "wallet_type": "easypaisa", "stockpiling_id": 4819603, "transaction_id": "23936218009", "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_сервера}/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 | Одиннадцатизначный номер счета пользователя Клиента в easypaisa, в формате 03ХХХХХХХХХ. Валидация:
|
account_name | string | yes | Имя держателя аккаунта (ограничение по кол-ву символов - 30, только латинский алфавит, без иных символов и цифр). Пользователю необходимо указывать имя аккаунта, привязанное к указанному номеру аккаунта. |
bank_details.bank_code | string | yes | CNIC (national id card) - 13 цифр, номер CNIC, который юзер использовал для верификации своего кошелька EasyPaisa. Если указано неверно - выплата будет отклонена. |
is_test | boolean | yes | Параметр is_test может принимать одно из двух значений:
|
signature | string | yes | Подпись, формируемая с private_key. |
{ "withdrawal_id": "1234567test", "payment_system": "easypaisa", "amount": 10000, "currency_code": "PKR", "label": "125199", "account_number": "03405135211", "account_name": "Muhammad Saqib Mushtaq", "bank_details": { "bank_code": "3460342887803" }, "is_test": true, "signature": "2e56786153bec935220fa1e9409ab24bd99cf9e8" }
{ "status": "ok" }
{ 'status': 'fail', 'message': 'MESSAGE' }
*Если при попытке создания заявки на вывод сумма балансов счетов в валюте заявки будет меньше, чем общая сумма новой и еще незавершенных заявок, то отобразится ошибка 'Недостаточный баланс' (для настройки данного функционала обратитесь в ТП Paykassma).
{ "status": "fail", "message": { "withdrawals_sum_amount": [ "Insufficient balance" ] } }
Пример постбека на вывод EasyPaisa
{ "signature": "2ad41735cd2d225cb30fe0665e83a3ade8618e0d", "wallet_type": "easypaisa", "amount": 1000, "currency_code": "PKR", "label": "545932754", "converted_amount": {"USD": 3.44, "INR": 287, "EUR": 3.26, "IDR": 53345.01, "MYR": 16.13, "VND": 83939.04, "SGD": 4.71, "THB": 125.55, "NGN": 2683.44, "TRY": 93.83, "AED": 12.64, "CAD": 4.65, "AUD": 5.38, "BDT": 379.55, "AFN": 269.35, "ALL": 345.5, "AMD": 1334.63, "AOA": 2860.58, "ARS": 1204.88, "AWG": 6.2, "AZN": 5.85, "BAM": 6.36, "BBD": 6.88, "BGN": 6.36, "BHD": 1.3, "BIF": 9793.46, "BMD": 3.44, "BND": 4.72, "BOB": 23.79, "BRL": 17.17, "BSD": 3.44, "BTC": 0.00013153, "BTN": 286.42, "BWP": 47.13, "BYN": 8.69, "BZD": 6.94, "CDF": 8588.64, "CHF": 3.15, "CLF": 0.11, "CLP": 3111.53, "CNH": 25.17, "CNY": 25.17, "COP": 14004.25, "CRC": 1853.68, "CUC": 3.44, "CUP": 88.64, "CVE": 360.24, "CZK": 79.62, "DJF": 612.14, "DKK": 24.29, "DOP": 195.35, "DZD": 473.03, "EGP": 106.42, "ERN": 51.64, "ETB": 190.44, "FJD": 7.8, "FKP": 2.83, "GBP": 2.83, "GEL": 9.23, "GGP": 2.83, "GHS": 39.76, "GIP": 2.83, "GMD": 223.92, "GNF": 29793.45, "GTQ": 27.05, "GYD": 720.18, "HKD": 26.93, "HNL": 85.4, "HRK": 24.55, "HTG": 463, "HUF": 1273.46, "ILS": 13.17, "IMP": 2.83, "IQD": 4509.47, "IRR": 145395.84, "ISK": 472.7, "JEP": 2.83, "JMD": 531.91, "JOD": 2.44, "JPY": 513.15, "KES": 508.95, "KGS": 305.37, "KHR": 14182.44, "KMF": 1603.96, "KPW": 3098.11, "KRW": 4659.28, "KWD": 1.06, "KYD": 2.87, "KZT": 1640.6, "LAK": 69345.94, "LBP": 51738.37, "LKR": 1115.54, "LRD": 642, "LSL": 64.54, "LYD": 16.78, "MAD": 35.36, "MDL": 62.53, "MGA": 15622.78, "MKD": 200.46, "MMK": 7229.09, "MNT": 11876.07, "MOP": 27.73, "MRO": 0, "MRU": 131.15, "MUR": 153.9, "MVR": 53.18, "MWK": 3729.78, "MXN": 60.18, "MZN": 219.97, "NAD": 65.54, "NIO": 125.92, "NOK": 37.28, "NPR": 458.28, "NZD": 5.79, "OMR": 1.33, "PAB": 3.44, "PEN": 12.98, "PGK": 12.53, "PHP": 196.97, "PKR": 1000, "PLN": 15.02, "PYG": 25089.55, "QAR": 12.53, "RON": 16.2, "RSD": 382.13, "RUB": 331.76, "RWF": 4165.23, "SAR": 12.91, "SBD": 28.87, "SCR": 46, "SDG": 2070.57, "SEK": 37.98, "SHP": 2.83, "SLL": 72184.15, "SOS": 1960.41, "SRD": 131.66, "SSP": 448.4, "STD": 76701.53, "STN": 80.03, "SVC": 30.12, "SYP": 8648.98, "SZL": 64.54, "TJS": 37.81, "TMT": 12.08, "TND": 10.93, "TOP": 8.22, "TTD": 23.35, "TWD": 110.91, "TZS": 8623.06, "UAH": 127.14, "UGX": 12974.99, "UYU": 131.28, "UZS": 42082.61, "VEF": 0, "VES": 116.97, "VUV": 408.68, "WST": 9.36, "XAF": 2137, "XAG": 0.15, "XAU": 0, "XCD": 9.3, "XDR": 2.62, "XOF": 2137, "XPD": 0, "XPF": 388.76, "XPT": 0, "YER": 861.88, "ZAR": 65.71, "ZMW": 72.37, "ZWL": 1108.43, "ETH": 0.00217404, "LTC": 0.05394329, "DOGE": 57.16089421, "DASH": 0.12895029, "BCH": 0.01611015, "ZEC": 0.13142451, "ETC": 0.22849437, "XRP": 6.82546989, "TRX": 40.70360447, "XLM": 30.77768748, "WAVES": 2.27571992, "USDT": 3.44373882, "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": "03ХХХХХХХХХ", "comment": "", "amount": "1000", "currency_code": "PKR", "wallet_type": "easypaisa", "stockpiling_id": 4819603, "transaction_id": "23936218009", "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.
Статусы выводов
1 | SUCCESS | Статус для вывода, когда заявка на вывод была успешно обработана. |
5 | FAIL | Статус для вывода, когда заявка на вывод была отклонена. |
Создание заявки на выплату в ЛК Paykassma
Для создания заявки на вывод, необходимо перейти на страницу Выводы (Оплаты → Выводы) и выполнить следующие шаги:
- Нажмите на кнопку "Добавить заявку на вывод".
- Выберите из списка нужную ПС.
- Заполните поля для создания заявки в следующем окне (список полей стандартизирован и не все поля являются обязательными. Для создания заявки по определенной ПС, необходимо заполнить обязательные поля для этой ПС).
Обязательные поля для выплаты EasyPaisa:
- Лейбл (ID пользователя);
- Сумма;
- Валюта;
- Кошелек получателя.
4. После оплаты статус вывода поменяется.
Paykassma не высылает постбек по выводам, созданным вручную.