Versions Compared

Key

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

Payment

  1. The user is provided with wallet details to which payment must be made.
  2. The user makes a payment in their wallet app and receives a unique transaction number.
  3. Next, the user enters a unique transaction number in the payment window, after which the transaction is activated.
  4. Paykassma sends a postback to the merchant's side.
  5. Funds are credited to the user’s balance on the merchant platform.

Payment window integration (plugin)

Example of a link to open a Upay manual payment window

Оплата

  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


Code Block
wallet_type=banktransfer_manual
 currency_code=LKR
ДоступныеAvailable языкиlanguages (lang): en, si (сингальский)


Info

Обратите внимание на описание параметров paymentPay attention to the description of the parameters payment_url_success_id  /  payment_url_fail_id payment_url_pending_id и id and success_url url /   fail_url / / pendingpending_url.
Для использования To use payment_url_success_id / payment_url_fail_idpayment_url_pending_id необходимо передать URL'ы саппорту Paykassma, и использовать полученные ID в параметрах.Для использования you need to send the URLs to Paykassma support and use the received IDs in the parameters.
To use success_url / fail_url / pending_urlнеобходимо использовать хэширование URL'ов (подробнее про хэширование см. здесь).

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

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

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

you must use hashing URLs ( For more details on hashing click here ).

For the description of all the plug-in parameters click here.

API integration

Creating payment

URL: https://api.{server_URL сервера }/api/v1/transaction/create/upay_manual?secret={pluginapi_secret}

На данном этапе сначала мы принимаем запрос на ввод по платежной системе. Далее в ответе мы предоставим реквизиты кошелька, на который пользователь должен перевести платеж. После оплаты Вам необходимо отправить запрос на активацию транзакцииAt this stage we first accept a request for input through the payment system and in response we will provide the wallet details to which the user should transfer the payment. After the payment is made you will need to send a request to activate the transaction.

Request method:

POST

Format:
JSON

Parameters:

Name

Type

Required

Max Length

Description

currencystringyes3
Код валюты
Currency code.

label

string

yes

190

Это уникальный идентификатор
The unique identifier (ID)
пользователя, осуществляющего платеж
of the user who makes the payment.


Code Block
languagephp
themeDJango
titleRequest
{
  'currency': 'LKR',
  'label': 'eligendi'
}


Code Block
languagephp
themeDJango
titleResponse Success
{
    "status": "ok",
    "params": {
        "Account number": "066013529665120",
        "Bank name": "Seylan [Mathugama]",
        "Holder name": "K A PALITHA",
        "is_check_amount": null
    }
}


Code Block
languagephp
themeDJango
titleResponse Fail
{
    'status': 'fail',
    'message': 'MESSAGE'
}
Запрос активации

Activation request

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

Request method:
POST

Format:
form-data

Parameters:

Name

Type

Required

Max Length

Description

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

wallet_type

string

yes

190

upay_manual
labelstringyes190Это уникальный идентификатор The unique identifier (ID) пользователя, осуществляющего платежof the user who makes the payment.
key1stringyes16Transaction _ID, полученный от пользователя ID received from the use (длина: 16, допускаются буквы, цифры, дефис).
screenshotfileyes
Скриншот оплаты от пользователяScreenshot of the payment from the user.
amountintyes256Сумма платежаPayment amount.
custom_transaction_id

string

yes190

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

Должен быть уникальнымThe identifier of the transaction in the Client's system. Must be unique.


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


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

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

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

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

Deposit postback

For the general documentation on post backs click here.

Example of a deposit postback for a Upay Manual

Code Block
languagephp
themeDJango
collapsetrue
{
  "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": ""
      }
    }
  ]
}
Warning
Сервер Paykassma ожидает ответ в json

The Paykassma server is waiting for a response in json {"status": "ok"}

код ответа

response code 200,

в противном случае, при получении отличающегося ответа, Paykassma будет пересылать постбек с определенной периодичностью.
На повторные постбеки необходимо также отвечать

otherwise, when receiving a different response, Paykassma will forward the postback with a certain frequency.
Repeated postbacks must also be answered with {"status":"ok"}

код ответа

response code 200.

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

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

Создание вывода

Withdrawals for users

For the general documentation on the withdrawals of funds click here.

Creating withdrawal

URL: https://api.{server_URL сервера }/v2/withdrawal/create

Request method:

POST

Format:
JSON

Parameters:

Name

Type

Required

Description

withdrawal_idstringyes 
Идентификатор вывода, если параметр не передается, то система генерирует
Withdrawal ID, if the parameter is not passed, then the system generates withdrawal _id.
payment_systemstring yes
Платежная система
Payment system.
amount

int


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

Additional requirements:

  1. amount >=
величина установленного минимального значения
  1.  The value of the set minimum value;
  2. amount <=
величина установленного максимального значения
  1.  The value of the set maximumvalue.
currency_codestringyes
Код валюты
Currency code.

label

string

yes

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

The unique identifier (ID) of the user who makes the payment.

account_numberstring 

yes

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

Валидация

Validation:

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

yes

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

bank_details.bank_codestring

yes

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

is_test

booleanyes
Параметр is

The is_test

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

parameter possible values:

  • true -
если вывод тестовый
  • if Withdrawal is test;
  • false -
если вывод реальный. 
  • if Withdrawal is real.
signaturestringyes
Подпись, формируемая с
Signature generated with private_key.


Code Block
themeDJango
titleRequest
{
  "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"
}


Code Block
languagephp
themeDJango
titleResponse Success
{
    "status": "ok",
}


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

*Если при попытке создания заявки на вывод сумма балансов счетов в валюте заявки будет меньше, чем общая сумма новой и еще незавершенных заявок, то отобразится ошибка 'Недостаточный баланс' (для настройки данного функционала обратитесь в ТП If, when trying to create a withdrawal request, the amount of account balances in the currency of the request is less than the total amount of new and still incomplete applications, the error message"Insufficient balance" will be displayed (to configure this functionality, contact the TS Paykassma).

Code Block
languagephp
themeDJango
titleResponse 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

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

Example of a withdrawal postback for a Upay Manual

Code Block
languagephp
themeDJango
collapsetrue
{
  "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
      }
    }
  ]
}


Warning
Сервер Paykassma ожидает ответ в json

The Paykassma server is waiting for a response in json {"status": "ok"}

код ответа

response code 200,

в противном случае, при получении отличающегося ответа, Paykassma будет пересылать постбек с определенной периодичностью.
На повторные постбеки необходимо также отвечать

otherwise, when receiving a different response, Paykassma will forward the postback with a certain frequency.
Repeated postbacks must also be answered with {"status":"ok"}

код ответа

response code 200.

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

Withdrawal statuses

1SUCCESS
Статус для вывода, когда заявка на вывод была успешно обработана
Status for withdrawal when the withdrawal request has been successfully processed.
5FAIL
Статус для вывода, когда заявка на вывод была отклонена.

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

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

  • Нажмите на кнопку "Добавить заявку на вывод".                                            Image Removed
  •  Выберите из списка нужную ПС.                                                                                                        Image Removed
  •  Заполните поля для создания заявки в следующем окне (Cписок полей стандартизирован и не все поля являются обязательными. Для создания заявки по определенной ПС, необходимо заполнить обязательные поля для этой ПС).
    Обязательные поля для выплаты Upay manual:
    - Лейбл (ID пользователя);
    - Сумма;
    - Валюта;
    - Кошелек получателя.                                                                                                                  
  • После оплаты статус вывода поменяется.
    Paykassma не высылает постбек по выводам, созданным вручную.
    Status for withdrawal when the withdrawal request was rejected.

    Creating withdrawal request in Paykassma BO

    To create a withdrawal request, you need to go to the Withdrawals pagePayments  → Withdrawals and perform the following steps

    1. Press the button "Add withdrawal request".
      Image Added

    2. Select payment system from list.
      Image Added


    3. Fill in the fields to create the request in the next window(the list of fields is standardized and not all fields are required. To create a request for a specific PS, you should fill in the required fields for this PS).
      Required fields for KBZpay Manual withdrawal:
      - Label (user ID);
      - Amount;
      - Currency;
      - Wallet recipient.



      4. After payment the withdrawal status will change.



      Paykassma does not send postback for withdrawals created manually.

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