Пример ссылки на открытие платежного окна EasyPaisa API:
https://plugin.{URL_сервера}/? label =label ¤cy_code =PKR &lang =lang &wallet_type =easypaisa_api &custom_transaction_id =custom_transaction_id &fixed_amount=fixed_amount &payment_url_fail_id=1 |
---|
wallet_type=easypaisa_api 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'ов (подробнее про хеширование см. здесь). |
Описание всех параметров плагина смотрите здесь.
URL: http://api.{URL_сервера}/api/v1/payment/create/easypaisa_api?secret={pluginapi_secret}
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Description |
secret | string | yes | Ключ доступа. |
Body:
Name | Type | Required | Max Length | Description |
amount | float | yes | ограничена min и max. | Сумма платежа. |
currency | string | yes | 3 | Код валюты. |
label | string | yes | 190 | Это уникальный идентификатор (ID) пользователя, осуществляющего платеж. |
custom_transaction_id | string | yes | 190 | Идентификатор транзакции в системе Клиента. |
phone_number | string | yes | 11 | Номер телефона пользователя. Данный номер телефона должен быть привязан к учетной записи пользователя в Easypaisa. Формат ввода: 03xxxxxxxxx, где x - цифра. Длина всей строки включая "03" → 11 цифр. |
{ "amount": 2000, "currency": "PKR", "label": "232323", "custom_transaction_id": "test_trx_01", "phone_number": "03123456789" } |
{ "status": "success", "message": "", "code": 20000, "data": { "order_id": "4127afd69732325c" }, "paginate": { "offset": 0, "total": 1, "limit": 1 } } |
{ "status": "fail", "message": "MESSAGE" } |
После успешного запроса создания платежа пользователь должен подтвердить платеж в своем мобильном устройстве. На подтверждение платежа пользователю дается 1 минута. |
Чтобы избежать множественных запросов от одного пользователя или с разных учетных записей с одного и того же кошелька, Paykassma будет отказывать в создании ордера, если количество неудачных попыток пользователя за последние 24 часа достигло или превысило 2-х. В этом случае пользователь должен получить соответствующую ошибку ("Too many requests. Please try again later."), что поможет предотвратить злоупотребление системой и спам отдельных пользователей с множеством попыток платежей. |
URL: http://api.{URL_сервера}/api/v1/payment/easypaisa_api/status?secret={pluginapi_secret}
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Description |
secret | string | yes | Ключ доступа. |
Body:
Name | Type | Required | Max Length | Description |
order_id | string | yes | не ограничен | Номер заказа, полученный в ответе на запрос создания платежа в параметре "order_id". |
{ "order_id": "4127afd69732325c" } |
{ "status": "success", "message": "", "code": 20000, "data": { "status": "success" }, "paginate": { "offset": 0, "total": 1, "limit": 1 } } |
{ "status": "success", "message": "", "code": 20000, "data": { "status": "wait" }, "paginate": { "offset": 0, "total": 1, "limit": 1 } } |
{ "status": "success", "message": "", "code": 20000, "data": { "status": "fail" }, "paginate": { "offset": 0, "total": 1, "limit": 1 } } |
{ "status": "fail", "message": { "order_id": [ "The selected order id is invalid." ] } } |
Общую документацию по постбекам смотрите здесь.
{ "signature": "23ceb452dc398b5f8b0e7ab9eb91236c7ee50911", "wallet_type": "easypaisa_api", "amount": 1000, "currency_code": "PKR", "label": "7848747947846", "direction": "ingoing", "created_datetime": "2023-08-01 13:37:42", "access_key": "uowkn0b3LfBxpcWYHi4_", "additional_data": [ { "activated_datetime": "2024-05-13 13:05:38", "exchanger_identifier": 03xxxxx0957, "comment": "", "amount": "1000", "currency_code": "PKR", "wallet_type": "easypaisa_api", "stockpiling_id": 2005, "transaction_id": "28064319767", "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. |
Выплаты пользователям осуществляются через метод EasyPaisa (подробнее про метод EasyPaisa смотрите здесь).