我想通过我的网站处理付款,并希望为此目的使用 sagepay。我已经完成了此处提到的 sagepay go 直接集成指南:http: //www.sagepay.com/sites/default/files/pdf/user_guides/sagepaydirectprotocolandintegrationguidelines_0.pdf 现在,我创建了一个脚本,对处理http请求的字段。这是代码:
<?php
//extract data from the post
extract($_POST);
//set POST variables
$url = 'https://live.sagepay.com/gateway/service/vspdirect-register.vsp';
$txcode = 'prefix_' . time() . rand(0, 9999);
$fields = array(
'VPSProtocol'=>urlencode("2.23"),
'TxType'=>urlencode("PAYMENT"),
'Vendor'=>urlencode("myvendorname"),
'VendorTxCode'=>urlencode($txcode),
'Amount'=>urlencode("2.00"),
'Currency'=>urlencode("GBP"),
'Description'=>urlencode("payment for my site"),
'CardHolder'=>urlencode('DELTA'),
'CardNumber'=>urlencode(4929000000006),
'ExpiryDate'=>urlencode(1213),
'CV2'=>urlencode(123),
'CardType'=>urlencode('VISA'),
'BillingSurname'=>urlencode('surname'),
'BillingFirstnames'=>urlencode('name'),
'BillingAddress1'=>urlencode(' clifton'),
'BillingCity'=>urlencode('Bristol'),
'BillingPostCode'=>urlencode('BS82UE'),
'BillingCountry'=>urlencode('United Kingdom'),
'DeliverySurname'=>urlencode('surname'),
'DeliveryFirstnames'=>urlencode('name'),
'DeliveryAddress1'=>urlencode(' clifton'),
'DeliveryCity'=>urlencode('Bristol'),
'DeliveryPostCode'=>urlencode('bs82ue'),
'DeliveryCountry'=>urlencode('united kingdom'),
);
//url-ify the data for the POST
foreach($fields 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($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
//execute post
$result = curl_exec($ch);
print_r($result);
echo "end";
//close connection
curl_close($ch);
?>
但我没有得到任何回复..可能是什么问题?它在 wamp 服务器和非 https url 中。