如果在买家点击“取消并返回xxx商店”的情况下,我可以获得回复参数吗?下面的代码是我在palpal webscr过程中点击取消后我试图回发params回显的方式:
$req = 'cmd=_notify-synch';
$pp_hostname = "www.sandbox.paypal.com";
$tx_token = $_GET['tx'];
$auth_token = "Ti-bfX-sv-zNDXZS";
$req .= "&tx=".$tx_token."&at=".$auth_token;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://".$pp_hostname."/cgi-bin/webscr");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
//set cacert.pem verisign certificate path in curl using 'CURLOPT_CAINFO' field here,
//if your server does not bundled with default verisign certificates.
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: ".$pp_hostname));
$res = curl_exec($ch);
curl_close($ch);
if(!$res){
//HTTP ERROR
}else{
// parse the data
$lines = explode("\n", $res);
$keyarray = array();
if(strcmp($lines[0], "SUCCESS") == 0){
for($i=1; $i<count($lines);$i++){
list($key,$val) = explode("=", $lines[$i]);
$keyarray[urldecode($key)] = urldecode($val);
}
//process payment
}else if(strcmp($lines[0], "FAIL") == 0){
$lines = explode("\n", $res);
$keyarray = array();
for($i=1; $i<count($lines);$i++){
list($key,$val) = explode("=", $lines[$i]);
$keyarray[urldecode($key)] = urldecode($val);
}
// echo post back params if FAIL
echo "<p><h3>Transaction ".$keyarray['payment_status']."!</h3></p>";
}
}
如果回复FAIL
,是否有可能获得回复参数?如果买家取消交易,我需要在db中处理一些数据。
感谢。
答案 0 :(得分:0)
PayPal不会将任何参数传回给您取消,但您可以将自己的参数传回。您可以动态填充取消URL,以帮助您识别用户或订单,然后在取消URL上读取该URL。例如,您可以将取消网址动态填充到https://www.mysite.com/cancel.php?orderid=483723之类的内容,然后根据订单ID或您传递回取消网址的内容,在系统中自行查找。< / p>
答案 1 :(得分:0)
paypal提供有关交易信息的所有信息,以获取更多信息,请查看以下链接信息
REASON_CODE