# 📩 WebHook

Если оплата прошла успешно и система засчитала счет оплаченным, то на указанный при создании счета (hook_url) или в настройках мерчанта URL, придет уведомление об оплате

{
	"status": "success",
	"invoice_id": "28e8440a-ea5d-4259-b2d9-a5675c4844bd",
	"shop_id": "a9fe7397-592c-40ba-adf5-040a186a2cf5",
	"amount": 1.00
}
Параметр Тип Описание
status string Статус оплаты
invoice_id string UUID счета, который был выдан при создании
shop_id string UUID мерчанта, в котором числится счет
amount float Сумма счета (без учета комиссии)
custom_fields string Дополнительное поле (если есть)

# Пример обработчика

$shop_id = 'xxx'; // Укажите UUID мерчанта из панели

if(strcasecmp($_SERVER['REQUEST_METHOD'], 'POST') !== 0) die('Use POST method');

$content = json_decode(trim(file_get_contents("php://input")), true);
if(!is_array($content)) die('Incorrect JSON');

$ips = json_decode(file_get_contents('https://api.monee.pro/ips'));
if (isset($ips->list) && !in_array($_SERVER['REMOTE_ADDR'], $ips->list)) die('Unknown IP');

if ($content['status'] !== 'success') die('Status is not "success"');
if (!isset($content['invoice_id']) || !isset($content['shop_id']) || !isset($content['amount'])) die('Invalid request data');

if ($content['shop_id'] !== $shop_id) die('Invalid shop_id');

$invoice_id = $content['invoice_id'];
$amount = $content['amount'];

// Оплата прошла, можно обрабатывать платеж

die('OK');