我使用PayPal PayFlow Pro支付网关。我已经测试了https://ppmts.custhelp.com/app/answers/detail/a_id/618上给出的PHP/CURL代码,它返回:
HTTP/1.1 200 OK连接:关闭服务器:VPS-3.033.00X-VPS-Request-ID: 20140619132842日期:2014年6月19日星期四20:28:43 GMTContent-type: text/namvalue Content-length: 98结果= 0,PNREF = A71E6C7596B6& RESPMSG = Approved&验证码= 010101,AVSADDR = Y& AVSZIP = Y& CVV2MATCH = Y& IAVS = N
我能把这个响应转换成一个数组或者其他我可以处理的东西吗?我不知道我应该如何处理这些数据,我找不到任何明确的答案,这在测试时工作。
在PHP中这是相当容易的。这里有一个函数可以将其转换为数组
function process_response($str) {
$data = array();
$x = explode('&', $str);
foreach($x as $val) {
$y = explode('=', $val);
if(!empty($y[1]))
$data[$y[0]] = urldecode($y[1]);
}
return $data;
}
关于其他数据,这里有一个有根据的猜测,基于PayPal Classic NVP
-
RESPMSG
-看起来付款已被批准 -
CVV2MATCH
-客户的CVV2(卡号以外的3或4位代码)匹配 -
AVS
-邮政编码与计费邮政编码 匹配 -
PNREF
-可能是用于此事务的唯一标识符。如果您需要退款,可能会使用。