API
Добро пожаловать в нашу документацию по интеграции с различными платформами, включая интернет-магазины, форекс-торговлю и торговые площадки. Мы стремимся сделать процесс интеграции простым и понятным для всех разработчиков.
2.4. Пример обработчика платежа (PHP)
Обработчик платежа должен размещаться по адресу, указанному в настройках мерчанта в поле URL Оповещения
<?php
if (isset($_POST['p_order']) && isset($_POST['p_sign'])){
$m_key = '4O8hg7YGvg40ZtYPHrCQdW4QfU';
$arHash = array(
$_POST['p_desc'],
$_POST['p_order'],
$_POST['p_amount'],
$_POST['p_owner'],
$_POST['p_status'],
$m_key
);
$sign_hash = strtoupper(hash('sha256', implode(':', $arHash)));
if ($_POST['p_sign'] == $sign_hash && $_POST['p_status'] == 'success'){
echo 'Уведомление пришло, средства зачислены!';
echo $_POST['p_status']."|success";
}else{
echo $_POST['p_status'].'|error';
}
}else{
echo $_POST['p_status'].'|error';
echo 'Отсутствует ответ.';
}
?>
2.5. ID Банков в нашей системе
ID |
Банк |
1 |
Сбербанк |
2 |
СБП |
3 |
Альфа-Банк |
4 |
Алиф-Банк |
5 |
Газпромбанк |
6 |
Почта-Банк |
7 |
ВТБ 24 |
8 |
Россельхозбанк |
9 |
Промсвязьбанк |
10 |
Т-Банк |
11 |
Душанбе Сити Банк |
12 |
BitCoin |
13 |
Tron |
14 |
TRC20 USDT |
15 |
ERC20 USDT |
16 |
Ethereum |
17 |
LiteCoin |
18 |
TonCoin |
20 |
Яндекс Банк |
21 |
Ozon Банк |
22 |
Райффайзен Банк |
23 |
Вайлдберриз Банк |
24 |
МТС Банк |
25 |
Росбанк |
26 |
Payeer |
101 |
Уралсиб Банк |
102 |
ОТП Банк |
103 |
Ак Барс Банк |
104 |
АБ РОССИЯ БАНК |
105 |
ТКБ БАНК |
106 |
УБРИР БАНК |
55 |
любой доступный банк RUB |
2.6. Выдача реквизитов
Заявка автоматически создается и выдаются реквизиты от нее.
<?php
function callPaymentAPI($shopId, $orderId, $amount, $description, $apiKey, $bank, $referer) {
$url = "https://api.ezepay.org/createOrder/";
$data = array(
'm_shop' => $shopId, // ВАШ ID МАГАЗИНА
'm_order' => $orderId, // УНИКАЛЬНЫЙ ID ЗАКАЗА ВАШЕГО МАГАЗИНА
'm_amount' => number_format($amount, 2, '.', ''), // СУММА ПЛАТЕЖА
'm_desc' => $description, // ОПИСАНИЕ ПЛАТЕЖА
'm_key' => $apiKey, // СЕКРЕТНЫЙ API KEY
'm_bank' => $bank, //ID БАНКА В НАШЕЙ СИСТЕМЕ
'm_referer' => $referer // РЕФЕРЕР МАГАЗИНА, параметр $_SERVER['HTTP_REFERER'] остается без изменений
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
$response = callPaymentAPI(ID МАГАЗИНА, 'УНИКАЛЬНЫЙ ID', СУММА ПЛАТЕЖА, 'ОПИСАНИЕ ПЛАТЕЖА', 'API KEY', ID БАНКА, "https://{$_SERVER['HTTP_HOST']}");
if ($response['status'] == 'success') {
// это данные выданных реквизитов, для лучшего понятия подписано что к чему, вам нужно только $response, без echo!
echo "Результат: " . $response['status']; // результат выдачи реквизитов - success
echo "Банк: " . $response['data']['props_name']; //БАНК ПОЛУЧАТЕЛЯ
echo "Реквизит: " . $response['data']['props']; //номер карты или номер телефона СБП или адрес крипто-кошелька
echo "ФИО получателя: " . $response['data']['props_holder']; //фамилия имя отчество для СБП и Карт, для крипто-кошелька не нужно
echo "СБП БАНК: " . $response['data']['props_sbp']; // описание при переводе СБП, например: "переводите на Альфа-Банк", только для СБП
echo "Сумма: " . $response['data']['props_amount']; // сумма платежа
echo "Статус CRYPTO: " . $response['data']['props_status_crypto']; // статус CRYPTO , 0 выкл / 1 вкл
echo "Сумма CRYPTO: " . $response['data']['props_amount_crypto']; // сумма платежа CRYPTO
echo "Дата создания заявки: " . $response['data']['props_time_now']; // время когда заявка создалась UNIXTIME
echo "Дата завершения заявки: " . $response['data']['props_time_end']; // время когда заявка закроется (30 мин) UNIXTIME
echo "ID заявки: " . $response['data']['uniqkey']; // ID заявки
} else {
echo "Error: " . ($response['message'] ?? 'Неизвестная ошибка'); // ошибка означает то, что заявка не создана.
}
?>
Обработчик для данного метода остается таким же как и в пункте 2.4
2.7. Ошибки в ответах API
Наименование |
Описание |
Bank not available |
банк не существует в нашей системе |
No available payment systems for the specified bank |
нет свободных реквизитов |
Invalid shop ID or API key |
ошибочный ID или API key |
Missing required fields |
заполнены не все поля/переменные |
Invalid request method |
неизвестный метод запроса |
Invalid user login or Skey |
неверный логин или skey |
Not enough funds! |
недостаточно средств EzePay Wallet |
Wallet not found in EzePay system. |
кошелек не найден в EzePay Wallet |
Bad amount! |
ошибка суммы |
Unknow referer |
запрос с неизвестного магазина |
2.8. Получение баланса
Получение баланса аккаунта.
<?php
function callBalanceAPI($user, $skey) {
$url = "https://api.ezepay.org/getBalance/";
$data = array(
'user' => $user, // ВАШ ЛОГИН
'skey' => $skey // ВАШ SKEY ИЗ НАСТРОЕК
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
$response = callBalanceAPI('ВАШ ЛОГИН', 'ВАШ SKEY ИЗ НАСТРОЕК');
if ($response['status'] == 'success') {
echo "Результат: " . $response['status']; // результат запрос - success
echo "Баланс: " . $response['balance']; //баланс в USDT
} else {
echo "Error: " . ($response['message'] ?? 'Неизвестная ошибка'); // ошибка означает то, что ничего не получилось.
}
?>
2.9. Получение статуса заявки
Получение статуса заявки.
<?php
function callOrderInfoAPI($m_shop, $m_key, $m_orderid) {
$url = "https://api.ezepay.org/infoOrder/";
$data = array(
'm_shop' => $m_shop, // ВАШ ID МАГАЗИНА
'm_key' => $m_key, // Секретный APIKEY
'm_orderid' => $m_orderid // ID ЗАЯВКИ uniqkey
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
$response = callOrderInfoAPI('ВАШ ID МАГАЗИНА', 'Секретный APIKEY', 'ID ЗАЯВКИ uniqkey');
if ($response['status'] == 'success') {
echo "Результат: " . $response['status']; // результат запрос - success
echo "Статус заявки: " . $response['order_status']; // статус заявки в нашей системе
} else {
echo "Error: " . ($response['message'] ?? 'Неизвестная ошибка'); // ошибка означает то, что ничего не получилось.
}
?>
3.0. Статусы заявок
Статус |
Описание |
0 |
На стадии выбора способа оплаты |
1 |
Соглашение с информацией о заявке |
2 |
Показ реквизитов, совершение платежа |
3 |
Перевод выполнен, ожидание подтверждения платежа |
4 |
Средства поступили, успешно |
5 |
Заявка отменена |
3.3. Вывод средств
Создания заявки на вывод средств
<?php
function callgoPaymentAPI($user, $skey, $wallet_props, $wallet_amount, $bank) {
$url = "https://api.ezepay.org/goPayment/";
$data = array(
'user' => $user, // ВАШ ЛОГИН
'skey' => $skey, // ВАШ SKEY ИЗ НАСТРОЕК
'wallet_props' => $wallet_props, // РЕКВИЗИТЫ ДЛЯ ВЫВОДА
'wallet_amount' => $wallet_amount, // СУММА ВЫВОДА USDT
'bank' => $bank // ID БАНКА В НАШЕЙ СИСТЕМЕ
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
$response = callgoPaymentAPI('ВАШ ЛОГИН', 'ВАШ SKEY ИЗ НАСТРОЕК', 'РЕКВИЗИТЫ ДЛЯ ВЫВОДА', 'СУММА ВЫВОДА USDT', 'ID БАНКА В НАШЕЙ СИСТЕМЕ');
if ($response['status'] == 'success') {
echo "Результат: " . $response['status']; // результат запрос - success
echo "Описание: " . $response['description']; // описание ответа
} else {
echo "Error: " . ($response['message'] ?? 'Неизвестная ошибка'); // ошибка означает то, что ничего не получилось.
}
?>
3.4. Получение информации о доступных реквизитах
Получение информации о доступных банках для приема платежей
<?php
function callgetPaymentMethodAPI($m_shop, $m_key, $m_amount) {
$url = "https://api.ezepay.org/getPayMethod/";
$data = array(
'm_shop' => $m_shop, // ВАШ ID МАГАЗИНА
'm_key' => $m_key, // Секретный APIKEY
'm_amount' => $m_amount // СУММА ДЛЯ ПРОВЕРКИ РЕКВИЗИТОВ (нужна для того чтобы узнать сможет ли карта принять столько) RUB
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
$response = callgetPaymentMethodAPI('ВАШ ID МАГАЗИНА', 'Секретный APIKEY', 'СУММА ДЛЯ ПРОВЕРКИ РЕКВИЗИТОВ RUB');
if ($response['status'] == 'success') {
echo "Результат: " . $response['status']; // результат запрос - success
echo "Доступные системы: " . implode(", ", $response['online_pay_method']); // ВЫВОД ID ДОСТУПНЫХ БАНКОВ В ФОРМАТЕ 11,12,13
} else {
echo "Error: " . ($response['message'] ?? 'Неизвестная ошибка'); // ошибка означает то, что ничего не получилось.
}
?>
3.5. Открытие споров
Открытие споров по заявкам
<?php
function callCreateDispute($m_shop, $m_key, $uniqkey, $check) {
$url = "https://api.ezepay.org/openDispute/";
$data = array(
'm_shop' => $m_shop, // ВАШ ID МАГАЗИНА
'm_key' => $m_key, // Секретный APIKEY
'uniqkey' => $uniqkey, // Invoice
'check' => $check // Ссылка на чек
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
$response = callCreateDispute(ВАШ ID МАГАЗИНА, 'Секретный APIKEY', 'Invoice заказа', 'Ссылка на чек');
if ($response['status'] == 'success') {
echo "Результат: " . $response['status']; // результат запрос - success
echo "Описание: " . $response['description']; // описание ответа
} else {
echo "Error: " . ($response['message'] ?? 'Неизвестная ошибка'); // ошибка означает то, что ничего не получилось.
}
?>
|