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 Альфа-Банк
~ 5 Газпромбанк
~ 6 Почта-Банк
~ 7 ВТБ 24
~ 8 Россельхозбанк
~ 9 Промсвязьбанк
~ 10 Т-Банк
~ 20 Яндекс Банк
~ 21 Ozon Банк
~ 22 Райффайзен Банк
~ 23 Вайлдберриз Банк
~ 24 МТС Банк
~ 25 Росбанк
~ 101 Уралсиб Банк
~ 102 ОТП Банк
~ 103 Ак Барс Банк
~ 104 АБ РОССИЯ БАНК
~ 105 ТКБ БАНК
~ 106 УБРИР БАНК
~ 107 МБА БАНК
~ 108 Юнистрим Банк
~ 109 МКБ Банк
~ 110 Квик Пей
~ 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']; //БАНК ПОЛУЧАТЕЛЯ для 55 метода
	echo "Реквизит: " . $response['data']['props']; //карта / телефон
	echo "ФИО получателя: " . $response['data']['props_holder']; //ФИО получателя
	echo "СБП БАНК: " . $response['data']['props_sbp']; // БАНК ПОЛУЧАТЕЛЯ для 2 метода
	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 заявки
        echo "Курс USDT: " . $response['data']['curs_usdt']; // Курс USDT
} 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'] ?? 'Неизвестная ошибка'); // ошибка означает то, что ничего не получилось.
}
?>