'application/json', 'X-Requested-With' => 'XMLHttpRequest', ]; if(count($subscription->webhook_configuration['post_purchase_headers']) >= 1) $headers = array_merge($headers, $subscription->webhook_configuration['post_purchase_headers']); $client = new \GuzzleHttp\Client( [ 'headers' => $headers, ]); nlog("method name must be a string"); nlog($subscription->webhook_configuration['post_purchase_rest_method']); try { $response = $client->{$subscription->webhook_configuration['post_purchase_rest_method']}($subscription->webhook_configuration['post_purchase_url'],[ RequestOptions::JSON => ['body' => $body], RequestOptions::ALLOW_REDIRECTS => false ]); return array_merge($body, json_decode($response->getBody(),true)); } catch(\Exception $e) { return array_merge($body, ['message' => $e->getMessage(), 'status_code' => 500]); } } }