You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Current »

Оплата

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

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

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

https://plugin.{URL_сервера}/?
label=label
&currency_code=PKR
&lang=lang
&wallet_type=easypaisa
&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


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_idpayment_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

currencystringyes3Код валюты.

label

string

yes

190

Это уникальный идентификатор (ID) пользователя, осуществляющего платеж.


Request
{
  'currency': 'PKR',
  'label': 'eligendi'
}
Response Success
{
    'status': 'ok',
    'params':  {
        'identifier': '03432312313'
    }
}
Response Fail
{
    '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_codestringyes3Код валюты.

wallet_type

string

yes

190

Значение из списка доступных ПС, например: easypaisa и тд.
labelstringyes190Это уникальный идентификатор (ID) пользователя, осуществляющего платеж.
key1stringyes190Transaction_ID, полученный от пользователя (11 цифр).
amountfloatyes256Сумма платежа.
custom_transaction_id

string

yes190

Идентификатор транзакции в системе Клиента. Должен быть уникальным.

Request
{
  "currency_code": "PKR",
  "label": "786442",
  "wallet_type": "easypaisa",
  "key1": "23936785601",
  "amount": 1200,
  "custom_transaction_id": "3158538"
}
Response Success
{
    "status": "ok",
    "deposit": true,
    "deposit_amount": 6000,
    "currency": {
        "code": "PKR",
        "symbol": "PKR"
    }
}
Response Pending (при активации подозрительной)
{
    "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"
}


Response Possible Transaction Created (если включен функционал "Возможные транзакции")
{
    "status": "possible_transaction_created",
    "message": "Transaction not found. Possible transaction created"
}
Response Fail
{
    '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": ""
            }
        }
    ]
}
Сервер 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_idstringyes 

Идентификатор вывода.

Если параметр не передается, то система генерирует withdrawal_id.

payment_systemstring yesПлатежная система.
amount

int


required

Дополнительные требования:

  1. amount >= величина установленного минимального значения;
  2. amount <= величина установленного максимального значения.
currency_codestringyesКод валюты.

label

string

yes

Label пользователя, для которого проводится вывод.

account_numberstring 

yes

Одиннадцатизначный номер счета пользователя Клиента в easypaisa, в формате 03ХХХХХХХХХ.

Валидация:

  • Цифры: 0-9.
account_namestringyesИмя держателя аккаунта (ограничение по кол-ву символов - 30, только латинский алфавит, без иных символов и цифр).
Пользователю необходимо указывать имя аккаунта, привязанное к указанному номеру аккаунта.

is_test

booleanyes

Параметр is_test может принимать одно из двух значений:

  • true - если вывод тестовый;
  • false - если вывод реальный. 
signaturestringyesПодпись, формируемая с private_key.
Request
{
  "withdrawal_id": "1234567test",
  "payment_system": "easypaisa",
  "amount": 10000,
  "currency_code": "PKR",
  "label": "125199",
  "account_number": "03405135211",
  "account_name": "Muhammad Saqib Mushtaq",
  "is_test": true,
  "signature": "2e56786153bec935220fa1e9409ab24bd99cf9e8"
}
Response Success
{
    "status": "ok"
}


Response Fail
{
    'status': 'fail',
    'message': 'MESSAGE'
}

*Если при попытке создания заявки на вывод сумма балансов счетов в валюте заявки будет меньше, чем общая сумма новой и еще незавершенных заявок, то отобразится ошибка 'Недостаточный баланс' (для настройки данного функционала обратитесь в ТП Paykassma).

Response Fail (при недостаточном балансе)
{
    "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": ""
            }
        }
    ]
}


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

Статусы выводов

1SUCCESSСтатус для вывода, когда заявка на вывод была успешно обработана.
5FAILСтатус для вывода, когда заявка на вывод была отклонена.

Создание заявки на выплату в ЛК Paykassma

Для создания заявки на вывод, необходимо перейти на страницу Выводы (Оплаты → Выводы) и выполнить следующие шаги:

  1. Нажмите на кнопку "Добавить заявку на вывод".



  2. Выберите из списка нужную ПС.



  3. Заполните поля для создания заявки в следующем окне (список полей стандартизирован и не все поля являются обязательными. Для создания заявки по определенной ПС, необходимо заполнить обязательные поля для этой ПС).
    Обязательные поля для выплаты EasyPaisa:
    - Лейбл (ID пользователя);
    - Сумма;
    - Валюта;
    - Кошелек получателя.



    4. После оплаты статус вывода поменяется.



    Paykassma не высылает постбек по выводам, созданным вручную.

Оглавление: