支付宝 手机网站支付,支付成功后,isSign=false
程序员文章站
2024-02-08 11:57:16
...
支付宝 手机网站支付,支付成功后,在跳转同步通知页面时,即demo样例的call_back_url.php文件。执行以下语句时
//计算得出通知验证结果
$alipayNotify = new AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyReturn();
然后会执行AlipayNotify类的verifyReturn方法里的getSignVeryfy,生成签名结果。里面有个注释说明:
【isSign的结果不是true,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关】,但是我都是照搬样本并只改关键的参数值,为什么还是
返回false,导致验证不成功。请问是怎么回事?钱都支付扣取,怎么老是验证失败 ?
//计算得出通知验证结果
$alipayNotify = new AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyReturn();
然后会执行AlipayNotify类的verifyReturn方法里的getSignVeryfy,生成签名结果。里面有个注释说明:
【isSign的结果不是true,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关】,但是我都是照搬样本并只改关键的参数值,为什么还是
返回false,导致验证不成功。请问是怎么回事?钱都支付扣取,怎么老是验证失败 ?
回复讨论(解决方案)
你的return url get参数中是否包含其他除了支付宝回调过来参数的内容?
getsign那个函数发出来看看
支付成功后 会提示支付完成页面,该页面有个【完成】的按钮。 a链接 如下:
http://www.xxx.com/wappay/call_back_url.php?out_trade_no=903627&request_token=requestToken&result=success&trade_no=2015111800001000850071807569&sign=A4IF5nRVQzcS0%2FGoDIpjYKOZvzWVQG6BwydgrtkVnX25QWz%2BPnlma7O9tb4QhvcNpoBmOnoU%2BAQuLJtlluJb9FH4sONIM5vvBDYAGrC6HsDJdCytFymWxu6x0dDNefgm%2BWvEzc%2Bi1%2FVA%2Bl%2BLPnVfTbmn8%2FP40nByyGevTgwbsXQ%3D&sign_type=0001
点击之后就同步跳转,但是同步跳转后该页面验证不通过,情况和开始说的问题一样
而且我发现demo根本没有去触发到异步通知处理的操作。不知道是不是同步跳转是第一步,验证通过后才调用异步处理?
getsign函数:我的 是 触发 case "0001",通过日志打印时,得出为 false 结果
那就是你改坏了。 不行就用异步验证。
日志如下:
demo的样例真的没问题吗?我调试好几天都是这样子。跪求大神解惑