姗姗来迟的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后台,微信接口账户设置界面

Magento微信支付接口开发小记相关推荐

  1. java支付接口开发原理_java对接微信支付接口开发的过程是什么?

    java对接微信支付接口开发的过程是什么?以下是小编整理的java对接微信支付接口实现的方法和过程,有需要的朋友可以学习以下的java对接微信支付接口内容. java对接微信支付接口开发的过程是什么? ...

  2. 微信支付接口开发流程

    第一步,微信支付接口申请: [1]首先需要申请成为服务号,并在申请微信认证后: [2]填写商户基本资料.业务基本资料.财务审核资料. [3]通过审核进入开发流程,通过开发接口文档的指引,完成开发. [ ...

  3. Android_APP 微信支付接口开发

    1.首先说一下我们在开发微信支付接口的时候遇到最多和最疑惑的问题,那就是明明 appid.商户号.API密钥 都对照了好几遍确实是和自己的一样,并且也没有在Log日志中出现签名错误等信息,却始终调不起 ...

  4. php微信支付接口开发程序

    必要条件: appid //公众号后台开发者中心获得(和邮件内的一样)   mchid//邮件内获得  key//商户后台自己设置  appsecret //公众号开发者中心获得 两个证书文件,邮件内 ...

  5. php微信支付接口开发程序(概念篇)

    From: https://www.bbsmax.com/A/KE5QLr1kJL/ 阅读对象 本文阅读对象:商户系统(在线购物平台.人工收银系统.自动化智能收银系统或其他)集成微信支付涉及的技术架构 ...

  6. 微信支付接口开发详流程

    微信支付 文章目录 1.支付接口分析 2. 开发创建订单接口 3. 开发根据订单id查询订单详情接口 4. 开发生成二维码接口 5. 开发查询订单支付状态接口 1.支付接口分析 引入依赖 <de ...

  7. 微信支付接口开发过程

    第一步,微信支付接口申请: [1]首先须要申请成为服务号.并在申请微信认证后: [2]填写商户基本资料.业务基本资料.財务审核资料. [3]通过审核进入开发流程.通过开发接口文档的指引,完毕开发. [ ...

  8. 微信公众号开发小记(二)--服务器验证

    这篇是微信公众号开发小记的第二篇,承接上一篇,此次将完成如下主要功能 对接微信服务器和自己的服务器 需要的"材料" 到这里需要梳理一下都需要什么东西,以便在整个编码的过程中方便我们 ...

  9. java微信web支付开发_微信支付java开发详细第三方支付功能开发之支付宝web端支...

    这段时间把支付基本搞完了,因为做的过程中遇到许多问题,特地记录下来,同时方便其他java coder,废话少说,下面开始. 整体思路:在后台,根据参数创建支付宝客户端AlipayClient,发送参数 ...

最新文章

  1. Numpy中的transpose
  2. 自然语言15_Part of Speech Tagging with NLTK
  3. 用户调整listview的column的width处理
  4. 解决IntelliJ IDEA报错Failed to read candidate component class: file [ ]; nested exception is org.
  5. GitBlit使用安装教程~
  6. 4固定在底部_有线鼠标之灵魂伴侣,火线竞技4号RGB鼠标线夹
  7. 未安装任何音频输出设备
  8. word文档设置不同的页眉页脚
  9. 深度deepin 20安装官方APP
  10. tail关键字查询日志
  11. C++中的stack类
  12. linux rm 文件找回_linux rm -rf * 文件恢复记
  13. ng6的ng-template的一个用法
  14. [笔记]新概念英语听力
  15. perl正则表达式匹配中文
  16. Axios GET 不能设置Content-Type
  17. 隐马尔可夫--大内密探HMM围捕赌场老千
  18. t420i升级固态硬盘提升_技术丨如何升级固态硬盘,提高电脑性能
  19. 计算机等级考试php,计算机等级考试查询系统
  20. 恢复数据U盘数据或磁盘无意删除的数据

热门文章

  1. CentOS 7 Apache服务的安装与配置(转)
  2. 从使用到原理学习Java线程池
  3. 一行代码为UITextField添加收键盘功能
  4. Spring的使用——基础环境搭建以及IOC概念理解(持续更新)
  5. linux重启mysql一直_LINUX重启MYSQL的命令
  6. Mysql数据库---约束类型_mysql数据库的数据类型及约束
  7. Spring MVC搭建REST风格网站
  8. 曲线 线性回归_GRAPHPAD作图技巧(二)--拟合曲线
  9. linux ps 进程组,linux进程管理(2)---进程的组织结构
  10. libsvm python_LibSVM for Python 使用