爱优科技
扫描关注爱优科技微信公众账号

扫一扫微信二维码

微信公众号平台系统应用开发之微擎payResult()注意事项

爱优科技2020-01-04 11:35:12经验之谈

作为微擎开发者应该都知道,微信公众号开发涉及到支付功能的,可以用微擎的$this->pay($params);和$this->payResult($params);方法来实现各类集成支付接口的支付功能实现。不过在微信公众号平台支付功能开发时还是有一些需要注意的地方。以下对开发过程中遇到的一些问题和解决办法做一个总结。

微信公众号开发

1、订单支付数据分离。默认地微通过$this->pay($params);进行提交的支付,都会将订单相关数据写入到系统ims_core_paylog表中,当我们需要对做多元化处理时,可能需要加入一些我们需要的字段,因此,爱优科技开发团队会倾向于每个应用在做开发时单独建立自己的订单表来记录下支付的数据。

2、$this->payResult($params);返回值的差异。爱优科技团队此前在做支付时基本上都是基于微信支付的接口来实现功能,理论上来讲后台集成的应该都可以通用,但是我们发现此前写的代码,对于支付宝支付和一码付等接口支付时会出现异常。通过分析发现返回数据$params在不同支付渠道下结构会有差异。因此,开发时要注意这一点,做好条件判断处理。

3、支付完成后的通知接收方式。比如微生态内是无法直接使用支付宝支付的,以IOS为例,在进行充值,购买等支付操作时,需要使用safari打开浏览器再触发支付宝APP进行进行,这时返回的是端在safari中。这种情况下便不适合return通知了。因此,爱优科技团队建议为方便多接口通用,直接在notify下对业务进行处理,而return下只做完支付后的动作。

4、支付返回时$_W问题。支付完成后的处理过程中,我们发现无法通过$_W获取uniacid等数据,解决办法就是通过$params返回数据提取。$params['uniacid']和$params['tag]['acid']等都可以获取,具体的可以自查。

以上便是爱优科技团队对于微信公众号开发过程中微擎支付功能实现过程中的一些问题的总结,希望对大家有所帮助,如果需要定制开发微信公众号系统应用,欢迎联系我们。

相关阅读:

微擎开发之微信支付payResult获取通知notify和return说明

文章关键词
微擎开发