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

Compare with Current View Page History

Version 1 Next »

Оплата

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

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

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

https://plugin.{URL_сервера}/?
label=label
&currency_code=LKR
&lang=lang
&wallet_type=upay_manual
&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=banktransfer_manual
 currency_code=LKR
Доступные языки (lang): en, si (сингальский)

Обратите внимание на описание параметров 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/upay_manual?secret={pluginapi_secret}

На данном этапе сначала мы принимаем запрос на ввод по платежной системе. Далее в ответе мы предоставим реквизиты кошелька, на который пользователь должен перевести платеж. После оплаты Вам необходимо отправить запрос на активацию транзакции.

Request method:

POST

Format:
JSON

Parameters:

Name

Type

Required

Max Length

Description

currencystringyes3Код валюты.

label

string

yes

190

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


Request
{
  'currency': 'LKR',
  'label': 'eligendi'
}
Response Success
{
    "status": "ok",
    "params": {
        "Account number": "066013529665120",
        "Bank name": "Seylan [Mathugama]",
        "Holder name": "K A PALITHA",
        "is_check_amount": null
    }
}
Response Fail
{
    'status': 'fail',
    'message': 'MESSAGE'
}

Запрос активации

URL: http://api.{ URL сервера }/api/v1/possible-transaction?secret={pluginapi_secret}

Request method:
POST

Format:
form-data

Parameters:

Name

Type

Required

Max Length

Description

currency_codestringyes3Код валюты (LKR).

wallet_type

string

yes

190

upay_manual
labelstringyes190Это уникальный идентификатор (ID) пользователя, осуществляющего платеж.
key1stringyes16Transaction_ID, полученный от пользователя (длина: 16, допускаются буквы, цифры, дефис).
screenshotfileyes
Скриншот оплаты от пользователя.
amountintyes256Сумма платежа.
custom_transaction_id

string

yes190

Идентификатор транзакции в системе Клиента.

Должен быть уникальным.

Response Success
{
    "status": "success",
    "message": "",
    "code": 20000,
    "data": [],
    "paginate": {
        "offset": 0,
        "total": 1,
        "limit": 1
    }
}
Response Fail
{
    'status': 'fail',
    'message': 'MESSAGE'
}

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

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

Пример постбека на депозит Upay Manual

{
  "signature": "5d72de994d34e2650e4f8f032f7297f08fc46f49",
  "wallet_type": "upay_manual",
  "amount": 2000,
  "currency_code": "LKR",
  "label": "15169074",
  "converted_amount": {
    "USD": 6.45,
    "INR": 536,
    "EUR": 5.96,
   ... ,
    "USDT": 6.45297326,
    "USDTTRC20": 0,
    "USDT20": 0
  },
  "direction": "ingoing",
  "created_datetime": "2024-02-29 14:19:15",
  "access_key": "XxdZIDCzwGYvQa28jfTunHekU",
  "additional_data": [
    {
      "activated_datetime": "2024-02-29 17:19:12",
      "exchanger_identifier": null,
      "comment": "",
      "amount": "2000",
      "currency_code": "LKR",
      "wallet_type": "upay_manual",
      "stockpiling_id": 3454,
      "transaction_id": "B3A240229-009236",
      "transaction_type": 0,
      "plugin_custom_order_id": "30569060",
      "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

Номер счета пользователя.

Валидация:

  • Цифры: 0-9.
account_namestring

yes

Имя держателя счета.

bank_details.bank_codestring

yes

Банк из предоставленного списка банков.

is_test

booleanyes

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

  • true - если вывод тестовый;
  • false - если вывод реальный. 
signaturestringyesПодпись, формируемая с private_key.


Request
{
  "withdrawal_id": "test12345678",
  "payment_system": "upay_manual",
  "amount": 4000,
  "currency_code": "LKR",
  "label": "test",
  "account_number": "100670008622",
  "account_name": "AWAKA N V S",
  "bank_details": {
    "bank_code": "Nations Trust Bank"
  },
  "signature": "83722f5c8c963d7f7a6e5bbe0d1f13a4761927c4"
}
Response Success
{
    "status": "ok",
}


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

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

Response Fail (при недостаточном балансе)
{
    "status": "fail",
    "message": {
        "withdrawals_sum_amount": [
            "Insufficient balance"
        ]
    }
}

Список актуальных банков

Alliance Finance Company PLC
Amana Bank PLC
Asia Asset Finance PLC
Bank of Ceylon
Bank of China Limited
Bimputh Finance PLC
CBC Finance Limited
Cargills Bank Limited
Central Finance PLC
Citi bank N. A.
Citizen Development Bank
Commercial Bank PLC
DFCC Bank PLC
Deutsche Bank AG
Dialog Finance PLC
HDFC Bank
HNB Finance PLC
HSBC
Habib Bank Limited
Hatton National Bank PLC
Indian Bank
Indian Overseas Bank
Kanrich Finance Limited
L B Finance PLC
LOLC Development Finance
LOLC Finance PLC
Lanka Credit Finance LTD
MCB Bank Limited
Mercantile Investments
Merchant Bank PLC
National Development Bank
National Savings Bank
Pan Asia Bank PLC
People Leasing Finance
Peoples Bank
Polgahawela Co-op Bank
Public Bank Berhad
Regional Development Bank
Richard Piers Finance
Sampath Bank PLC
Sarvodhaya Finance
Senkadagala Finance PLC
Seylan Bank PLC
Singer Finance PLC
Siyapatha Finance PLC
Softologic Finance PLC
Standard Chartered Bank
State Bank of India
Softologic Finance PLC
Standard Chartered Bank
State Bank of India
State Mortgage Bank
Union Bank Of Colombo PLC
Vallibel Finance PLC
Sanasa Development Bank
Fintrex Finance Limited

Пример постбека на вывод Upay Manual

{
  "signature": "2f9be236d3299256360a928831d92f6cf36871b2",
  "wallet_type": "upay_manual",
  "amount": 3600,
  "currency_code": "LKR",
  "label": "14929202",
  "converted_amount": {
    "USD": 11.62,
    "INR": 964,
    "EUR": 10.72,
    "IDR": 182716.03,
    . . . ,
    "WAVES": 4.31911999,
    "USDT": 11.62119326,
    "USDTTRC20": 0,
    "USDT20": 0
  },
  "direction": "outgoing",
  "created_datetime": "2024-02-29 11:01:02",
  "access_key": "XxdZIDCzwGYvQa28jfTunHekU",
  "additional_data": [
    {
      "activated_datetime": "",
      "exchanger_identifier": "",
      "comment": "",
      "amount": "3600",
      "currency_code": "LKR",
      "wallet_type": "upay_manual",
      "stockpiling_id": null,
      "transaction_id": "",
      "transaction_type": null,
      "plugin_custom_order_id": "",
      "withdrawal_id": "29599588",
      "withdrawal_status": 1,
      "account_number": "117854929954",
      "account_name": "WNKPerera",
      "account_email": "",
      "bank_details": {
        "bank_code": "Sampath Bank PLC",
        "branch_code": null
      }
    }
  ]
}


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

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

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

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

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

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

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