Добро пожаловать в нашу документацию по интеграции с различными платформами, включая интернет-магазины, форекс-торговлю и торговые площадки. Мы стремимся сделать процесс интеграции простым и понятным для всех разработчиков.
Обработчик платежа должен размещаться по адресу, указанному в настройках мерчанта в поле 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 'Отсутствует ответ.';
}
?>
| ID | Банк |
|---|---|
| ~ 1 | Сбербанк |
| ~ 2 | СБП |
| ~ 3 | Альфа-Банк |
| ~ 5 | Газпромбанк |
| ~ 6 | Почта-Банк |
| ~ 7 | ВТБ 24 |
| ~ 8 | Россельхозбанк |
| ~ 9 | Промсвязьбанк |
| ~ 10 | Т-Банк |
| ~ 20 | Яндекс Банк |
| ~ 21 | Ozon Банк |
| ~ 22 | Райффайзен Банк |
| ~ 23 | Вайлдберриз Банк |
| ~ 24 | МТС Банк |
| ~ 25 | Росбанк |
| ~ 101 | Уралсиб Банк |
| ~ 102 | ОТП Банк |
| ~ 103 | Ак Барс Банк |
| ~ 104 | АБ РОССИЯ БАНК |
| ~ 105 | ТКБ БАНК |
| ~ 106 | УБРИР БАНК |
| ~ 107 | МБА БАНК |
| ~ 108 | Юнистрим Банк |
| ~ 109 | МКБ Банк |
| ~ 110 | Квик Пей |
| ~ 113 | Сбер-Сбер |
| ~ 114 | Альфа-Альфа |
| ~ 115 | Ozon - Ozon |
| ~ 55 | любой доступный банк RUB |
Заявка автоматически создается и выдаются реквизиты от нее.
<?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']; //БАНК ПОЛУЧАТЕЛЯ для 55 метода
echo "Реквизит: " . $response['data']['props']; //карта / телефон
echo "ФИО получателя: " . $response['data']['props_holder']; //ФИО получателя
echo "СБП БАНК: " . $response['data']['props_sbp']; // БАНК ПОЛУЧАТЕЛЯ для 2 метода
echo "Сумма: " . $response['data']['props_amount']; // сумма платежа
echo "Дата создания заявки: " . $response['data']['props_time_now']; // время когда заявка создалась UNIXTIME
echo "Дата завершения заявки: " . $response['data']['props_time_end']; // время когда заявка закроется UNIXTIME
echo "ID заявки: " . $response['data']['uniqkey']; // ID заявки
echo "Курс USDT: " . $response['data']['curs_usdt']; // Курс USDT
} else {
echo "Error: " . ($response['message'] ?? 'Неизвестная ошибка'); // ошибка означает то, что заявка не создана.
}
?>
Обработчик для данного метода остается таким же как и в пункте 2.4
| Наименование | Описание |
|---|---|
| ~ 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 | ~ запрос с неизвестного магазина |
Получение баланса аккаунта.
<?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'] ?? 'Неизвестная ошибка'); // ошибка означает то, что ничего не получилось.
}
?>
Получение статуса заявки.
<?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']; // статус заявки в нашей системе
echo "Сумма начисления: " . $response['order_payment_merch']; // сумма начисления USDT
} else {
echo "Error: " . ($response['message'] ?? 'Неизвестная ошибка'); // ошибка означает то, что ничего не получилось.
}
?>
| Статус | Описание |
|---|---|
| ~ 0 | ~ На стадии выбора способа оплаты |
| ~ 1 | ~ Соглашение с информацией о заявке |
| ~ 2 | ~ Показ реквизитов, совершение платежа |
| ~ 3 | ~ Перевод выполнен, ожидание подтверждения платежа |
| ~ 4 | ~ Средства поступили, успешно |
| ~ 5 | ~ Заявка отменена |
Создания заявки на вывод средств
<?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'] ?? 'Неизвестная ошибка'); // ошибка означает то, что ничего не получилось.
}
?>
Заявка автоматически создается и выдаются данные от нее.
<?php
function callPaymentAPIPayOut($shopId, $orderId, $amount, $description, $apiKey, $p_system, $p_req, $p_banksbp, $p_holdername, $referer) {
$url = "https://api.ezepay.org/createPayOut/";
$data = array(
'm_shop' => $shopId, // ВАШ ID МАГАЗИНА
'm_order' => $orderId, // УНИКАЛЬНЫЙ ID ЗАКАЗА ВАШЕГО МАГАЗИНА
'm_amount' => number_format($amount, 2, '.', ''), // СУММА ВЫПЛАТЫ
'm_desc' => $description, // ОПИСАНИЕ ВЫПЛАТЫ
'm_key' => $apiKey, // СЕКРЕТНЫЙ API KEY
'p_system' => $p_system, //ID БАНКА В НАШЕЙ СИСТЕМЕ КУДА ОСУЩЕСТВЛЯЕТСЯ ВЫПЛАТА, ЕСЛИ СБП = 2
'p_req' => $p_req, //РЕКВИЗИТ КУДА БУДЕТ ОТПРАВЛЕНА ВЫПЛАТА
'p_banksbp' => $p_banksbp, //НАЗВАНИЕ БАНКА (Альфа-Банк), ЕСЛИ НЕТ ТО ОСТАВЬТЕ ПУСТЫМ
'p_holdername' => $p_holdername, //КАКИЕ ЛИБО ДАННЫЕ О КЛИЕНТЕ, НАПРИМЕР ПОЛУЧАТЕЛЬ ИВАН ИВАНОВ
'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 = callPaymentAPIPayOut(ID МАГАЗИНА, 'УНИКАЛЬНЫЙ ID', СУММА ВЫПЛАТЫ, 'ОПИСАНИЕ ВЫПЛАТЫ', 'API KEY', ID БАНКА В НАШЕЙ СИСТЕМЕ КУДА ОСУЩЕСТВЛЯЕТСЯ ВЫПЛАТА, ЕСЛИ СБП = 2, РЕКВИЗИТ КУДА БУДЕТ ОТПРАВЛЕНА ВЫПЛАТА, ID БАНКА В НАШЕЙ СИСТЕМЕ ЕСЛИ СБП, ЕСЛИ НЕТ ТО = 11, "КАКИЕ ЛИБО ДАННЫЕ О КЛИЕНТЕ, НАПРИМЕР ПОЛУЧАТЕЛЬ ИВАН ИВАНОВ", "https://{$_SERVER['HTTP_HOST']}");
if ($response['status'] == 'success') {
// это данные выданных реквизитов, для лучшего понятия подписано что к чему, вам нужно только $response, без echo!
echo "Результат: " . $response['status']; // результат выдачи реквизитов - success
echo "Дата создания заявки: " . $response['data']['props_time_now']; // время когда заявка создалась UNIXTIME
echo "Дата завершения заявки: " . $response['data']['props_time_end']; // время когда заявка закроется UNIXTIME
echo "ID заявки: " . $response['data']['uniqkey']; // ID заявки
echo "Курс USDT: " . $response['data']['curs_usdt']; // Курс USDT
} else {
echo "Error: " . ($response['message'] ?? 'Неизвестная ошибка'); // ошибка означает то, что заявка не создана.
}
?>
Обработчик платежа должен размещаться по адресу, указанному в настройках мерчанта в поле 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'],
$_POST['p_receipt'],
$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";
echo $_POST['p_receipt']."|receipt url";
}else{
echo $_POST['p_status'].'|error';
}
}else{
echo $_POST['p_status'].'|error';
echo 'Отсутствует ответ.';
}
?>