支付宝APP支付,请求参数有个subject,可以根据这个参数来执行在回调中所处理的业务逻辑,比如:我只申请一个支付宝支付,但是我的项目中有多个地方需要支付,且回调之后处理的逻辑不同,那么就可以根据这个参数来做判断,因为这个参数支付宝回调会“原样返回”,可是他真的原样返回了吗?我的项目中不是的。所以大家需要注意一点,在回调中接受这个参数的时候,需要去除两边空格。
实例:
subject设置的是一个没有空格的字符串,我在回调中判断是否等于这个值,来执行不同的代码,结果是出乎预料的没有执行我要的代码。问题在哪里,我打印了日志,我们看一下
打印结果是前面多了一个空格
知道了原因就去改代码:
if(trim($data['subject'],' ') == 'payTask'){
}
用trim去掉左右多出的空格,然后代码就如我预期的那样执行了。