Оплата

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

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

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

https://plugin.{URL_сервера}/?
label=label
&currency_code=MMK
&lang=lang
&wallet_type=kbzpay_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=kbzpay_manual
currency_code=MMK
Доступные языки (lang): en, my (Бирманский)

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

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

Request method:

POST

Format:
JSON

Parameters:

Name

Type

Required

Max Length

Description

currencystringyes3Код валюты.

label

string

yes

190

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


Request
{
  'currency': 'MMK',
  'label': 'eligendi'
}
Response Success
{
    "status": "ok",
    "params": {
        "kbzpay number": "12321"
    }
}
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Код валюты (MMK).

wallet_type

string

yes

190

kbzpay_manual
labelstringyes190Это уникальный идентификатор (ID) пользователя, осуществляющего платеж.
key1stringyes25Transaction_ID, полученный от пользователя (15-25 цифр).
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'
}

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

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

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

{
    "signature": "f33227723305ae59e4aa75b295f92856225e1b57",
    "wallet_type": "kbzpay_manual",
    "amount": 10000,
    "currency_code": "MMK",
    "label": "1234",
    "direction": "ingoing",
    "created_datetime": "2023-11-21 23:30:24",
    "access_key": "SU8jgmm716Pky0o5zjWA2qvJtieFaYqS",
    "additional_data": [
        {
            "activated_datetime": "2023-11-22 02:30:22",
            "exchanger_identifier": null,
            "comment": "",
            "amount": "10000",
            "currency_code": "MMK",
            "wallet_type": "kbzpay_manual",
            "stockpiling_id": 1252,
            "transaction_id": "01003246080588218368",
            "transaction_type": 0,
            "plugin_custom_order_id": "test",
            "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

Одиннадцатизначный номер счета пользователя Клиента в KBZpay.

Валидация:

  • Цифры: 0-9.

is_test

booleanyes

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

  • true - если вывод тестовый;
  • false - если вывод реальный.
signaturestringyesПодпись, формируемая с private_key.
Request
{
    "withdrawal_id": "1234567test1234",
    "payment_system": "kbzpay_manual",
    "amount": 30000,
    "currency_code": "MMK",
    "label": "125199",
    "account_number": "09444595698",
    "is_test": true,
    "signature": "1bfb60ae114b102fff0409804da2302f4f7fbee5"
}
Response Success
{
    "status": "ok"
}


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

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

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

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

{
    "signature": "66e711eedd6e35e023bbe58a182074aa89997ad1",
    "wallet_type": "kbzpay_manual",
    "amount": 30000,
    "currency_code": "MMK",
    "label": "125199",
    "direction": "outgoing",
    "created_datetime": "2023-11-21 23:36:01",
    "access_key": "SU8jgmm716Pky0o5zjWA2qvJtieFaYqS",
    "additional_data": [
        {
            "activated_datetime": "",
            "exchanger_identifier": "",
            "comment": "test",
            "amount": "30000",
            "currency_code": "MMK",
            "wallet_type": "kbzpay_manual",
            "stockpiling_id": null,
            "transaction_id": "",
            "transaction_type": null,
            "plugin_custom_order_id": "",
            "withdrawal_id": "1234567test1234",
            "withdrawal_status": 5,
            "account_number": "09444595698",
            "account_name": "",
            "account_email": "",
            "bank_details": {
                "bank_code": null,
                "branch_code": null
            }
        }
    ]
}


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

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

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

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

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

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

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

Оглавление: