class MySubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
// Return the events to listen to as array like this: =>
return [
'state_enter.order_transaction.state.paid' => 'doMagic'
];
}
public function doMagic(OrderStateMachineStateChangeEvent $event)
{
$url = 'https://example.com/webhooks';
$fields = array(
'order_number'=> $event->getOrder()->getOrderNumber()
);
$postvars='';
$sep='';
foreach($fields as $key=>$value)
{
$postvars.= $sep.urlencode($key).'='.urlencode($value);
$sep='&';
}
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$postvars);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
curl_close($ch);
}
}
Hallo,
gibt es eine Möglichkeit wie ich das ganze Event als JSON Objekt in einem POST Request schicken kann? Oder muss ich mir jede einzelne Property (z.B. wie oben order_number) manuell raussuchen und an fields anhängen? Es muss doch bestimmt gehen Events zu JSON zu konvertieren, nur habe ich bisher nichts dazu gefunden.
Vielen Dank schon mal im Vorraus!