51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2048|回复: 0
打印 上一主题 下一主题

Magento微信支付接口开发小记

[复制链接]
  • TA的每日心情
    无聊
    11 小时前
  • 签到天数: 426 天

    连续签到: 2 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2018-12-17 14:24:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    姗姗来迟的Magento微信支付接口插件

    半年之前,有朋友网站需要接入微信支付,是Magento站,于是花费了近二周时间,研究微信开发文档、示例代码,并初步制作了个支付模块,不巧的是,朋友的微信支付接口账户没申请成功,这麻烦了,没实际账户测试,于是去微信开发平台准备申请个测试接口账户。遗憾的是这微信搞的东西太复杂,申请个测试账户也没下来,于是就耽搁了。

    九月份的时候,上海一客户的网站购买了我们的支付宝模块,感觉很是满意,后来又问是否有微信的支付模块,客户的微信支付接口早已申请下来了,于是把之前开发的微信模块拿出来测试修改。 遇到了很多意想不到的问题,首先是微信支付分为四种:刷卡支付(线下)、扫码支付(PC网站)、公众号支付(微信中打开商户的H5页面)、APP支付(移动端支付),客户需要的微信扫码支付,而之前开发的是公众号支付,于是重新按照新的支付文档开发。


    微信支付比支付宝复杂多了,示例代码也比较反人类。本来简单的流程,结果给编写的异常复杂,一些另类开发人员,通常喜欢把简单东西复杂化,炫耀技巧。示例代码中还有几处明显的错误,很快解决掉了,却恰恰有一隐藏的bug,搞的magento系统都崩溃了,百思不得其解,只好在可疑代码中一段一段排查,测试了20多个单,终于抓到了这罪魁祸首!libxml_disable_entity_loader(true); 就是这条代码,使用完要 libxml_disable_entity_loader(false); 关掉该选项才行。否则影响Magento XML解析,导致异常。

    另外一个问题是,微信扫码后,不会自动跳转回网站,需要在扫一扫页面,增加个ajax每隔几秒钟循环检查支付是否成功,如果成功后,则跳转回网站来显示支付成功信息给用户,并清空购物车。顺带一提的是,微信扫码页面做的既精简又美观大方,是借用腾讯云的支付页面。最后在Magento中生成合适大小的二维码也花费了不少时间。


    Magento支付方式选择界面


    Magento微信扫码支付界面


    Magento微信支付通知



    Magento后台,微信接口账户设置界面






    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-6-4 20:23 , Processed in 0.061006 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表