如何处理来自支付网关的响应数据?

时间:2014-06-19 23:14:24

标签: php paypal payment-gateway payflowpro

我使用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   内容类型:text / namevalue内容长度:98   RESULT = 0&安培; PNREF = A71E6C7596B6&安培; RESPMSG =批准&安培; AUTHCODE = 010101&安培; AVSADDR = Y&安培; AVSZIP = Y&安培; CVV2MATCH = Y&安培; IAVS = N

我可以将此响应转换为数组或我可以实际执行某些操作的内容吗?我不知道我应该如何处理这些数据,而且在测试时我无法找到任何明确的答案。

1 个答案:

答案 0 :(得分: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 - 可能是此交易使用的唯一标识符。如果您需要退款,可能会使用。