Мне нужно интегрировать метод sagepay inframe в мой проект. Я могу захватить форму sagepay на мою собственную страницу. Хотя я не знаю, где я устанавливаю обратный URL. Таким образом, появляется ошибка, такая какSet ReturnURL для sagepay
HTTP Status Code:500,
HTTP Status Message:The request was unsuccessful due to an unexpected condition encountered by the server
Error Code:5006,
Error Description:Unable to redirect to Vendor's web site. The Vendor failed to provide a RedirectionURL.
Вот мой код. Где я могу установить returnurl в этом коде?
if($_POST['submit']=="submit")
{
//Test authorize url
//$url="https://live.sagepay.com/gateway/service/authorise.vsp";
//Test purchase url
$url = 'https://test.sagepay.com/gateway/service/vspserver-register.vsp';
//Live
//$url = 'https://live.sagepay.com/gateway/service/vspserver-register.vsp';
$params = array();
$params['VPSProtocol'] = '2.23';
$params['TxType'] = 'PAYMENT';
$params['Vendor'] = 'vendorname';
$params['VendorTxCode'] = 'Txn-ab34qcd1';
$params['Currency'] = 'GBP';
$params['Amount'] = 50;
$params['description'] = 'hello test';
$params['NotificationURL'] = 'http://exapmle.co.uk/payment-return.php';
$params['BillingSurname'] = 'Bobby';
$params['BillingFirstnames'] = 'Bobbysfsf';
$params['BillingAddress1'] = '14 Tottenham Court Road';
$params['BillingCity'] = 'London';
$params['BillingPostCode'] = 'W1T 1JY';
$params['BillingCountry'] = 'GB';
$params['billingPhone'] = '555 123-4567';
$params['DeliverySurname'] = '123 Shipping St';
$params['DeliveryFirstnames'] = 'Shipsville';
$params['DeliveryAddress1'] = 'London';
$params['DeliveryCity'] = 'London';
$params['DeliveryPostCode'] = '54321';
$params['DeliveryCountry'] = 'GB';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, $curlTimeout);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = explode(chr(10), curl_exec($ch));
echo "<pre>";
print_r($response);
echo "</pre>";
echo $posturl = $response[5];
$posturlex=explode("L=",$posturl);
print_r($posturlex);
$nexturl = $posturlex[1];
}
?>
<html>
<head>
</head>
<body>
<iframe src="<?=$nexturl?>" id="sageFrame" style="width:100%;height:500px;border:none"></iframe>
</body>
</html>
теперь у меня получилось хорошо с вашим ответом. Окружающая среда для работы в рабочем состоянии ... теперь моя проблема - это живая среда ... есть только отображение информации о платежах, отсутствие выбора карты в эту страницу после отправки информации о клиенте в sagepay.if вы можете увидеть это изображение http://www.sendspace.com/file/2dyt7p. как я могу решить проблему ...? – kalyan
Если номер торгового счета на вашей учетной записи TEST - Ecom и MOTO (заказ по заказу почтового заказа), но MID на вашей LIVE-счете - это только MOTO, вы получите сообщение об ошибке, подтверждающее типы карт, недоступных на вашем веб-сайте. Пожалуйста, свяжитесь с Sage Pay Support 0845 111 4455, чтобы добавить коммерческий номер электронной торговли в учетную запись поставщика, если вы хотите обрабатывать транзакции электронной торговли. –
Привет @kalyan и поддержка оплаты шага Я не мог понять концепцию уведомленияURL. Это страница с другим набором кодов в ней, с настройками правил перенаправления? –