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'] ?? 'Неизвестная ошибка'); // ошибка означает то, что ничего не получилось.
}
?>