Довольно частая задача, дёрнуть какой-либо сервис и передать ему данные в POST-запросе, но не через форму, а в виде, например, json или бинарных данных. Такой подход называется RAW POST, когда данные оправляются в теле запроса. С помощью библиотеки Guzzle это можно сделать так:
$data = [];
$json = json_encode($data);
$options = [
'body' => $json,
'headers' => ['Content-Type' => 'application/json']
];
$Client = new Client();
$result = $Client->post($Invoice->getWebhookUrl(), $options);