调支付宝接口发现 isSign=false的诡异问题

支付宝快捷支付接口, 先跑支付宝提供的demo, 本地测试一切正常。 然后集成进网站。 网站php 框架是 codeigniter。log显示"return_url_log:isSign=false", isSign=false 标示签名认证失败。 这里就很奇怪了, 签名验证算法是支付宝提供的, 支付成功, 参数也是支付宝返回的。偶
 
比较 demo 和 集成环境的 参数, 正常。
 
比较 签名算法的字符串参数, 发现有问题。
 
    $para = $_GET
     while (list ($key, $val) = each ($para)) {
if($key == "sign" || $key == "sign_type" || $val == "")continue;
else $para_filter[$key] = $para[$key];
     }
 $para 中第一个参数丢失?
原因是  $para之前更改过,需要使用
 //list  第一个key不取,导致bug,加上 reset($para);
reset($para);

你可能感兴趣的:(调支付宝接口发现 isSign=false的诡异问题)