Оплата

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

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

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

https://plugin.{ URL сервера }/?
label=label&
currency_code=MMK&
lang=en&
wallet_type=wavepay
&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=wavepay
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'ов (подробнее про хеширование см. здесь).

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

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

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

На данном этапе мы предоставляем реквизиты кошелька, на который пользователь должен произвести платеж.

Request method:

POST

Format:
JSON

Parameters:

Name

Type

Required

Max Length

Description

currencystringyes3Код валюты.

label

string

yes

190

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


{
  'currency': 'MMK', 
  'label': 'eligendi'
}


{
    "status": "ok",
    "params": {
        "identifier": "324342342"
    }
}


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

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

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

На данном этапе юзер передает номер транзакции, который вы пересылаете на сторону Paykassma для активации.

Request method:
POST

Format:
JSON

Parameters:

Name

Type

Required

Max Length

Description

currency_codestringyes3Код валюты.

wallet_type

string

yes

190

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

Transaction_ID, полученный от пользователя.

wavepay - 5-11 символов, буквы и цифры


amountfloatyes256Сумма платежа.
custom_transaction_id

string

yes190

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


{
    "currency_code": "MMK",
    "wallet_type": "Wavepay",
    "label": "55",
    "amount": 500,
    "key1": "1394646476",
    "custom_transaction_id": "123465477897"
}


{
    "status": "ok",
    "deposit": true,
    "deposit_amount": 6000,
    "currency": {
        "code": "MMK",
        "symbol": "MMK"
    }
}


{
    "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"
}


{
    "status": "possible_transaction_created",
    "message": "Transaction not found. Possible transaction created"
}


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

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

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

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

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

Request method:

POST

Format:
JSON

Parameters:

Name

Type

Required

Description

withdrawal_idstring(1-36) yes Идентификатор вывода, если параметр не передается, то система генерирует withdrawal_id.
payment_systemstring yesПлатежная система.
amount

int


required

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

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

is_test

booleanyes

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

  • true - если вывод тестовый;
  • false - если вывод реальный.

label

string(1-36)

yes

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

account_emailstring yesЕ-mail держателя счета.
account_numberstring 

yes

Номер счета получателя, 10-11 цифр.

signaturestringyesПодпись, формируемая с private_key.


{
"withdrawal_id": "af84c26f-931d-4c28-a30d-7b75e46b7685",
"payment_system": "wavepay",
"amount": 20000,
"currency_code": "MMK",
"is_test": true,
"label": "c81594cc-e4b1-4ed5-914c-3817f2ccf13a",
"account_email": "[email protected]",
"account_number": "01642234663",
"signature": "98565041a9e126d325e864da0ba3d467f6ab0566"
}


{
    "status": "ok",
}


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

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

{
    "status": "fail",
    "message": {
        "withdrawals_sum_amount": [
            "Insufficient balance"
        ]
    }
}



Оглавление: