Как переотправить POST запрос о подтверждении оплаты?
Есть мерчант, ему нужно указать URL оповещения. В требованиях указано, что он должен располагаться на домене второго уровня, типа site.ru/pay/0260a8a0. Но у меня обработчик будет висеть на поддомене tech.site.ru/webhook/0260a8a0 (n8n), принимать POST запрос и что-то делать с ним дальше.
Как мне сделать так, чтобы принять и переотправить запрос с site.ru/pay/*** на tech.site.ru/webhook/***? Я не уверен, что если сделать простой редирект, то 301 код ответа подойдет мерчанту для активации кассы. Если указать страницу вебхука в мерчанте, то тестовая проверка пишет "статус: 200" и присылает на него вот такое:
[
{
"headers":{
"host": "tech.site.ru",
"content-length": "14",
"accept": "*/*",
"content-type": "application/x-www-form-urlencoded",
"x-forwarded-for": "111.111.111.111",
"x-forwarded-host": "tech.site.ru",
"x-forwarded-port": "443",
"x-forwarded-proto": "https",
"x-forwarded-server": "5e8d25bfd579",
"x-real-ip": "111.111.111.111",
"accept-encoding": "gzip"
},
"params":{
},
"query":{
},
"body":{
"status_check": "1"
}
}
]
Ответы (1 шт):
А, все, вроде сам разобрался. Так мой вебхук принимает данные и даже отвечает на странице site.ru/result.php (хотя надо смотреть после активации кассы, что он там принимает):
<?php
$data_string = $_POST['json'];
$curl = curl_init('https://tech.site.ru/webhook/0260a8a0');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$result = curl_exec($curl);
curl_close($curl);
echo '<pre>';
print_r($result);
?>