1

我正在使用 PayPal PayFlow Pro 支付网关。我已经测试了https://ppmts.custhelp.com/app/answers/detail/a_id/618上给出的 PHP/CURL 代码,它返回:

HTTP/1.1 200 OK 连接:关闭服务器:VPS-3.033.00 X-VPS-Request-ID:20140619132842 日期:2014 年 6 月 19 日星期四 20:28:43 GMT 内容类型:文本/名称值 内容长度:98 结果=0&PNREF=A71E6C7596B6&RESPMSG=已批准&AUTHCODE=010101&AVSADDR=Y&AVSZIP=Y&CVV2MATCH=Y&IAVS=N

我可以将此响应转换为一个数组或我可以实际使用的东西吗?我不知道我应该如何处理这些数据,并且在测试时我找不到任何明确的答案。

4

1 回答 1

2

在 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- 可能是用于此交易的唯一标识符。如果您需要退款,可能会使用。
于 2014-06-20T00:31:45.650 回答