在提交发送请求到支付宝之前,已经通过url上的参数串+key用md5加密,生成签名。然后从支付宝返回的回调地址URL上的参数串+key用md5加密,生成签名验证码。如果前后签名验证相同,再走回调地址的业务逻辑。但是由于我自己的URL本来有get参数,所以会签名验证是吧,下面是修改的过程。
方法/步骤
1、其实在alipayapi接口里定义“页面跳转同曰搬嚏嘀步通知页面路径”的时候,已经说明“需http://格式的完整路径,不能加?id=123这类自定义参数”但是现在我的实际环境,还迨藻悃顼没有做伪静态配置,请求支付宝接口的地址类似于:index.php?app=group&mod=Apply&act=pay&gid=26
2、提交订单的时候,调用alipay_submit.class.php里面函数。调用buildRequestPara()函数,除去待签名参数数组中的空值和签名参数。
3、$para_filter=paraFilter($para_temp);所以需要修改alipay_core.function.php里面的paraFilter函数把和生成签名无关的参数都过滤掉。
4、之所以要使用签名验证,这是为了防止,用户自己修改get传参,而业务逻辑能继续执行,所以签名验证这一步千万不能注释。