Laravel 4 делает пост-запрос от контроллера к внешнему URL с данными
Я ищу способ сделать почтовый запрос от контроллера к внешнему URL. Размещаемые данные являются массивом php. URL для получения - это API электронной коммерции во внешнем URL. Пост должен быть сделан из метода контроллера. URL должен содержать строку «success», «error», «fail» или «trylater». Я пробовал следующее безуспешно:
return Redirect::to("https://backoffice.host.iveri.com/Lite/Transactions/New/Authorise.aspx", compact($array));
Я тоже попробовал curl:
$url = 'https://backoffice.host.iveri.com/Lite/Transactions/New/Authorise.aspx';
//url-ify the data for the POST
$fields_string ='';
foreach($array as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'& ');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($array));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
Часть отправляемого массива - это обратные вызовы, которые API использует для ответа:
'Lite_Website_Successful_url' => 'https://mydomain.com/order/'.$order_id,
'Lite_Website_Fail_url' => 'https://mydomain.com/checkout/fail',
'Lite_Website_TryLater_url' => 'https://mydomain.com/checkout/trylater',
'Lite_Website_Error_url' => 'https://mydomain.com/checkout/error'
Пожалуйста, дайте мне знать, как правильно выполнить запрос POST с данными, перенесенными с ним на внешний URL. Пост Ajax от контроллера тоже помог бы, но я попытался безуспешно. Но я бы предпочел ответ от php laravel. Спасибо.