Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Оплата

  1. Пользователь вводит необходимую информацию: сумму платежа, номер телефона, привязанный к учетной записи EasyPaisa.
  2. На телефон пользователя приходит пуш-уведомление с запросом на оплату.
  3. Пользователь переходит в приложение и подтверждает оплату.
  4. Paykassma отсылает постбек на сторону мерчанта.
  5. Средства начисляются на баланс пользователя на платформе мерчанта.

Интеграция через платежное окно (plugin)

Пример ссылки на открытие платежного окна EasyPaisa API:

https://plugin.{URL_сервера}/?
label=label
&currency_code=PKR
&lang=lang
&wallet_type=easypaisa_api
&custom_transaction_id=custom_transaction_id
&fixed_amount=fixed_amount
&payment_url_success_id=2
&payment_url_pending_id=3
&payment_url_fail_id=1
&success_url=hash
&fail_url=hash
&pending_url=hash


Code Block
wallet_type=easypaisa_api
currency_code=PKR
Доступные языки (lang): en, ur (Урду)
Info

Обратите внимание на описание параметров 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_idpayment_url_pending_id необходимо передать URL'ы саппорту Paykassma, и использовать полученные ID в параметрах.

Для использования success_url / fail_url / pending_url необходимо использовать хэширование хеширование URL'ов (подробнее про хеширование см. здесь).

Описание всех параметров плагина смотрите здесь.

Интеграция через клиентский API

Создание платежа

URL: http://api.{URL_сервера}/api/v1/payment/create/easypaisa_api?secret={pluginapi_secret}

Request method:
POST

Format:
JSON

Parameters:

NameTypeRequiredDescription
secretstringyesКлюч доступа.

Body:

Name

Type

Required

Max Length

Description

amount

float 

yes

ограничена min и max.
депозитом

Сумма платежа.
currencystringyes3Код валюты. 
labelstring yes190Это уникальный идентификатор (ID) пользователя, осуществляющего платеж.
custom_transaction_idstringyes190Идентификатор транзакции в системе Клиента.
phone_numberstringyes11

Номер телефона пользователя. Данный номер телефона должен быть привязан к учетной записи пользователя в Easypaisa.

Формат ввода: 03xxxxxxxxx, где x - цифра. Длина всей строки включая "03" → 11 цифр.


Code Block
languagephp
themeDJango
titleRequest
{
  "amount": 2000,
  "currency": "PKR",
  "label": "232323",
  "custom_transaction_id": "test_trx_01",
  "phone_number": "03123456789"
}


Code Block
languagephp
themeDJango
titleResponse Success
{
    "status": "success",
    "message": "",
    "code": 20000,
    "data": {
       "order_id": "4127afd69732325c"
    },
    "paginate": {
        "offset": 0,
        "total": 1,
        "limit": 1
    }
}


Code Block
languagephp
themeDJango
titleResponse Fail
{
    "status": "fail",
    "message": "MESSAGE"
}


Tip
titleПодсказка

После успешного запроса создания платежа пользователь должен подтвердить платеж в своем мобильном устройстве.

На подтверждение платежа пользователю дается 1 минута.


Warning

Чтобы избежать множественных запросов от одного пользователя или с разных учетных записей с одного и того же кошелька, Paykassma будет отказывать в создании ордера, если количество неудачных попыток пользователя за последние 24 часа достигло или превысило 2-х. В этом случае пользователь должен получить соответствующую ошибку ("Too many requests. Please try again later."), что поможет предотвратить злоупотребление системой и спам отдельных пользователей с множеством попыток платежей.

Проверка статуса платежа(необязательный запрос)

URL: http://api.{URL_сервера}/api/v1/payment/status?secret={pluginapi_secret}

Request method:
POST

Format:
JSON

Parameters:

NameTypeRequiredDescription
secretstringyesКлюч доступа.

Body:

Name

Type

Required

Max Length

Description

order_id

string

yes

не ограничен

Номер заказа, полученный в ответе на запрос создания платежа в параметре "order_id".


Code Block
languagephp
themeDJango
titleRequest
{
  "order_id": "4127afd69732325c"
}


Code Block
languagephp
themeDJango
titleResponse Success (платеж успешно выполнен)
{
    "status": "success",
    "message": "",
    "code": 20000,
    "data": {
        "status": "success"
    },
    "paginate": {
        "offset": 0,
        "total": 1,
        "limit": 1
    }
}


Code Block
languagephp
themeDJango
titleResponse Success (платеж ожидает подтверждения)
{
    "status": "success",
    "message": "",
    "code": 20000,
    "data": {
        "status": "wait"
    },
    "paginate": {
        "offset": 0,
        "total": 1,
        "limit": 1
    }
} 


Code Block
languagephp
themeDJango
titleResponse Success (платеж не выполнен)
{
    "status": "success",
    "message": "",
    "code": 20000,
    "data": {
        "status": "fail"
    },
    "paginate": {
        "offset": 0,
        "total": 1,
        "limit": 1
    }
}


Code Block
languagephp
themeDJango
titleResponse Fail (ошибка запроса)
{
    "status": "fail",
    "message": {
        "order_id": [
            "The selected order id is invalid."
        ]
    }
}

Постбек депозита

Общую документацию по постбекам смотрите здесь.

Пример постбека на депозит EasyPaisa API

Code Block
languagephp
themeDJango
collapsetrue
{
    "signature": "23ceb452dc398b5f8b0e7ab9eb91236c7ee50911",
    "wallet_type": "easypaisa_api",
    "amount": 1000,
    "currency_code": "PKR",
    "label": "7848747947846",
    "converted_amount": {"USD":3.6,"INR":301,"EUR":3.33,"IDR":57829.78,"MYR":17.01,"VND":91505.66,"SGD":4.87,"THB":132.32,"NGN":5223.01,"TRY":115.82,
"AED":13.2,"CAD":4.92,"AUD":5.44,"BDT":420.79,"AFN":259.66,"ALL":335.67,"AMD":1395.36,"AOA":2998.46,"ARS":3174.59,"AWG":6.47,"AZN":6.11,"BAM":6.53,"BBD":7.19,
"BGN":6.52,"BHD":1.35,"BIF":10317.27,"BMD":3.6,"BND":4.87,"BOB":24.85,"BRL":18.54,"BSD":3.6,"BTC":5.701e-5,"BTN":300.31,"BWP":48.87,"BYN":11.77,"BZD":7.25,"CDF":10019.68,
"CHF":3.26,"CLF":0.12,"CLP":3330.06,"CNH":26.03,"CNY":26.01,"COP":13980.3,"CRC":1843.17,"CUC":3.6,"CUP":92.57,"CVE":367.92,"CZK":82.68,"DJF":640.44,"DKK":24.87,"DOP":209.28,
"DZD":482.95,"EGP":169.21,"ERN":53.93,"ETB":206.51,"FJD":8.16,"FKP":2.87,"GBP":2.87,"GEL":9.63,"GGP":2.87,"GHS":50.35,"GIP":2.87,"GMD":243.63,"GNF":30903.97,"GTQ":27.94,"GYD":752.45,
"HKD":28.08,"HNL":88.89,"HRK":25.12,"HTG":476.81,"HUF":1290.65,"ILS":13.41,"IMP":2.87,"IQD":4711.35,"IRR":151889.3,"ISK":501.11,"JEP":2.87,"JMD":563.3,"JOD":2.55,"JPY":560.43,"KES":470.95,
"KGS":317.65,"KHR":14654.55,"KMF":1640.15,"KPW":3235.51,"KRW":4916.01,"KWD":1.11,"KYD":3,"KZT":1582.11,"LAK":76745.02,"LBP":322026.14,"LKR":1075.2,"LRD":695.76,"LSL":66.15,"LYD":17.48,"MAD":36.05,
"MDL":63.84,"MGA":15912.53,"MKD":205.2,"MMK":7552.55,"MNT":12402.79,"MOP":28.95,"MRO":0,"MRU":143.72,"MUR":165.71,"MVR":55.56,"MWK":6235.92,"MXN":60.2,"MZN":229.47,"NAD":66.15,"NIO":132.4,"NOK":39.04,
"NPR":480.51,"NZD":5.98,"OMR":1.38,"PAB":3.6,"PEN":13.27,"PGK":13.96,"PHP":207.77,"PKR":1000,"PLN":14.29,"PYG":26957.1,"QAR":13.12,"RON":16.59,"RSD":390.52,"RUB":330.12,"RWF":4667.69,"SAR":13.48,"SBD":30.47,
"SCR":49.36,"SDG":2160.6,"SEK":39.05,"SHP":2.87,"SLL":75385.63,"SOS":2055.4,"SRD":117.51,"SSP":468.29,"STD":80103.36,"STN":81.75,"SVC":31.47,"SYP":9032.58,"SZL":66.13,"TJS":39.27,"TMT":12.6,"TND":11.26,"TOP":8.52,
"TTD":24.43,"TWD":116.54,"TZS":9314.98,"UAH":142.35,"UGX":13593.46,"UYU":138.43,"UZS":45656.26,"VEF":0,"VES":131.41,"VUV":426.81,"WST":10.07,"XAF":2186.96,"XAG":0.13,"XAU":0,"XCD":9.72,"XDR":2.73,"XOF":2186.96,"XPD":0,
"XPF":397.85,"XPT":0,"YER":899.9,"ZAR":66.06,"ZMW":98.45,"ZWL":1157.59,"ETH":0.00120404,"LTC":0.04365557,"DOGE":24.83268071,"DASH":0.12651868,"BCH":0.00808227,"ZEC":0.16016491,"ETC":0.13474187,"XRP":7.11385738,"TRX":28.28853906,
"XLM":34.02877828,"WAVES":1.55728144,"USDT":3.59692418,"USDTTRC20":0,"USDT20":0},
    "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": ""
        	}
        }
    ]
}


Warning
Сервер Paykassma ожидает ответ в json {"status":"ok"} с кодом ответа 200, в противном случае, при получении отличающегося ответа, Paykassma будет пересылать постбек с определенной периодичностью.
На повторные постбеки необходимо также отвечать {"status":"ok"} с кодом ответа 200.

Выводы / выплаты пользователям

Выплаты пользователям осуществляются через метод EasyPaisa (подробнее про метод EasyPaisa смотрите здесь).

Оглавление:

Table of Contents
excludeОглавление: