Page History
...
...
Сохранение клиентского ID транзакции
Запрос для передачи в Paykassma вашего ID транзакции (custom_transaction_id). В дальнейшем этот ID присваивается транзакции совершаемой пользователем и передается в постбеке.
...
...
...
Request method: POST
...
...
transaction_custom_id
...
string (190)
...
ДА
...
Идентификатор транзакции в системе Клиента
...
...
...
...
...
...
...
...
...
...
theme | DJango |
---|---|
title | Response Fail |
...
...
Получение доступных ПС
API url: https://api.{URL_сервера_Paykassma}/api/v1/payment-systems/available
Request method: GET
Format: JSON
Parameters:
Параметр | Тип | Обязательность | Описание |
currency_code | string[] (3) | ДА | Массив состоящий из кодов валют. Отобразятся ПС работающие по указанным валютам |
label | string (190) | ДА | Уникальный идентификатор (ID) пользователя, осуществляющего платеж |
Code Block | ||||
---|---|---|---|---|
| ||||
{
"currency_code": [ "USD", "INR" ],
"label": "55"
} |
Code Block | ||||
---|---|---|---|---|
| ||||
{
"status": "ok"
} |
Code Block | ||||
---|---|---|---|---|
| ||||
{
"status": "fail"
"message": "MESSAGE"
} |
Создание платежа
В данный момент существуют два вида запроса для создания платежа в зависимости от ПС.
Info |
---|
Внимание! Для получения полного списка доступных Вам ПС, необходимо обратиться в ТП Paykassma. ТП предоставят полные примеры запросов для доступных в данный момент ПС. Они же определят правильный запрос, зависящий от выбранной ПС. |
Вид запроса №1:
https://api.{URL_сервера_Paykassma}/api/v1/transaction/create/{wallet_type}
1.1 API URL: https://api.{URL_сервера_Paykassma}/api/v1/transaction/create/paytm
В данном случае сначала мы принимаем запрос на ввод по PayTM, далее в ответе мы предоставим реквизиты кошелька, на который пользователь должен перевести платеж, а после оплаты Вам необходимо отправить запрос на активацию транзакции
Request method: POST
Format: JSON
Parameters:
Параметр | Тип | Обязательность | Описание |
currency | string (3) | ДА | Код валюты |
label | string (190) | ДА | Уникальный идентификатор пользователя, осуществляющего платеж |
Code Block | ||||
---|---|---|---|---|
| ||||
{
"currency": "INR",
"label": "eligendi"
} |
Code Block | ||||
---|---|---|---|---|
| ||||
{
"status": "ok",
"params": {
"identifier": "6234234234"
}
} |
Code Block | ||||
---|---|---|---|---|
| ||||
{
"status": "fail"
"message": "MESSAGE"
} |
1.2 Запрос активации:
https://api.{URL_сервера_Paykassma}/api/v1/transaction/activate
Request method: POST
Format: JSON
Parameters:
Параметр | Тип | Обязательность | Описание |
currency_code | string (3) | ДА | Код валюты |
wallet_type | string (190) | ДА | Значение из списка доступных ПС. |
label | string (190) | ДА | Уникальный идентификатор пользователя, осуществляющего платеж |
key1 | string (190) | ДА | Код, по которому происходит активация (Transiction_ID), полученный от пользователя |
Code Block | ||||
---|---|---|---|---|
| ||||
{
"currency_code": "USD",
"wallet_type": "paytm",
"label": "55",
"key1": "123-ABC-456-DEF"
} |
Code Block | ||||
---|---|---|---|---|
| ||||
{
"status": "ok"
} |
Code Block | ||||
---|---|---|---|---|
| ||||
{
"status": "fail"
"message": "MESSAGE"
} |
Вид запроса №2:
https://api.{URL_сервера_Paykassma}/api/v1/payment/create/{payment_system}
2.1 API url: https://api.{URL_сервера_Paykassma}/api/v1/payment/create/{payment_system}
Request method: POST
Format: JSON
Parameters:
Параметр | Тип | Обязательность | Описание |
language | string (2) | ДА | Язык интерфейса |
currency | string (3) | ДА | Код валюты |
bank | string (3) | ДА | Банк, через который осуществляется платеж |
amount | numeric (ограничена max. | ДА | Сумма платежа |
label | string (190) | ДА | Уникальный идентификатор пользователя, осуществляющего платеж |
redirect_url | url | ДА | URL страницы для редиректа после платежа |
Code Block | ||||
---|---|---|---|---|
| ||||
{
"language": "en",
"currency": "USD",
"bank": "MBB",
"amount": "1000",
"label": "55",
"redirect_url": "https:\/\/google.com"
} |
Code Block | ||||
---|---|---|---|---|
| ||||
{
"status": "ok"
} |
Code Block | ||||
---|---|---|---|---|
| ||||
{
"status": "fail"
"message": "MESSAGE"
} |
Информация о накоплениях
Запрос на предоставление информации о накоплениях определенного пользователя
Для сохранения информации о транзакциях, сумма которых не превышает размер минимального депозита для конкретной платёжной системы, был реализован функционал накоплений. Транзакции пользователя (выборка по параметру label) копятся в системе и не зачисляются на счёт пользователя до тех пор, пока их сумма не достигнет минимального депозита этой платёжной системы. Постбек на сервер клиента отправится только после достижения суммы минимального депозита. До момента отправки postback транзакция не считается зачисленной на счёт.
API url: https://api.{URL_сервера_Paykassma}/api/v1/deposit-info
Request method: GET
Format: JSON
Parameters:
Параметр | Тип | Обязательность | Описание |
label | string (190) | ДА | Уникальный идентификатор пользователя, осуществляющего платеж |
wallet_type | url | ДА | Значение из списка доступных ПС. |
currency | string (3) | ДА | Код валюты |
code | string (190) | НЕТ | Название ручной платёжной системы. |
Code Block | ||||
---|---|---|---|---|
| ||||
{
"label": "55",
"wallet_type": "paytm",
"currency": "UDS"
} |
...
theme | DJango |
---|---|
title | Response Success |
...
...
...
...
...
...
Вывод
Для вывода денежных средств пользователем через доступные для Клиента платежные системы, необходимо:
...
...
...
...
...
...
Внимание: При передаче данных не должно быть пробелов в начале и конце
...
...
...
...
...
...
Выбор из доступного списка
...
...
...
...
Кошелек получателя, на чей счет будет совершенна выплата
Внимание! wallet_recipient (Для метода Paytm) должен содержать номер кошелька Paytm без международного кода +91
...
wallet_sender
...
string(191)
...
Кошелек отправителя, с чьего счета будет снятие денежных средств. Конечный выбор отправителя остается за Paykassma.
Внимание: в текущей реализации необходимо заполнить поле произвольными четырьмя цифрами
...
account_name
...
string(191)
...
Имя держателя банковского аккаунта
...
account_number
...
string(191)
...
Номер банковского аккаунта
...
...
string(191)
...
Электронная почта того, кому выплачивают
...
amount
...
double
...
Сумма вывода
...
withdrawal_id
...
integer
...
ID вывода на стороне клиента (возвращается в постбеке).
Code Block | ||||
---|---|---|---|---|
| ||||
$data = [
'wallet_type' => 'paytm',
'wallet_recipient' => 1234567890,
'wallet_sender' => 'empty',
'email' => '[email protected]',
'amount' => 300,
'withdrawal_id' => '1234567',
];
$data['signature'] = generateSignature($data); // return fa0ee1e2acf7f898635ec417491381c0a4f9d35c
//send $data like json ...
function generateSignature(array $data) {
$privateKey = 'yourprivatekey';
ksort($data);
$implode = implode(':', $data);
return sha1($privateKey . md5($implode));
} |
...
theme | DJango |
---|---|
title | Пример тела запроса |
...
...
{
"id":1,
"wallet_type":"paytm",
"wallet_recipient":"123456789",
"wallet_sender":"987654321",
"email":"[email protected]",
"amount":100,
"status":1,
"created_at":"2020-07-08 07:06:06",
"updated_at":"2020-07-08 09:40:39"
}
Статусы выводов:
...
Статус
...
Причина
...
NOT_APPROVE (0)
...
в обработке
...
APPROVE (1)
...
успешно
...
FAILED (2)
...
неуспешно
...