微信支付之扫码支付开发:我遇到的坑及解决办法(附:Ecshop 微信支付插件)
前段时间帮一个朋友的基于ecshop开发的商城加入微信扫描支付功能,本以为是很简单的事儿——下载官方sdk或开发帮助文档,按着里面的做就ok了,谁知折腾了两三天的时间才算搞定,中间也带着疑问在网上找了不少技术文章,却发现都只是比较粗略的写他们是怎么开发接入的,并没有解决我遇到的问题...,唉,有时候真心的感觉‘只能靠自己’。本文就是想把自己遇到的问题及解决办法写出来,让做这方面开发的朋友有所帮助!
开发之前,先查看官方【扫码支付】开发文档,扫码支付分为以下两种模式:
△模式一:
遇到的问题:第一次扫描二维码还能正常扫描,未付款再次扫描会提示:ok 或 请求商户信息超时HttpCode非200——此问题尝试通过各种途径寻找解决办法都无果,在这里希望有知道朋友能给与解答,谢谢!
△模式二:
注意:不可以直接用商城的订单号作为交易订单号(out_trade_no),否则再次生成微信扫码支付二维码时,接口会提示:商户订单号重复,无法重新生成。
那么酱紫问题来了,应该怎样设置交易订单号,还能保证后面通过接口查询微信商户平台里的相应订单信息或实现对账?可行的办法是:扫码之前的统一下单接口,out_trade_no不要传入商城订单系统的订单号,而是重新生成一个新的唯一流水;再增加一个订单号和微信支付交易订单号(out_trade_no)对应表,如下:

上表中有个serial_is_paid字段:用于标记此交易是否已完成,即:在支付成功通知回调处理中,根据回传的out_trade_no更新支付状态;至于怎么查询订单支付状态,想必你应该也知道了...

好了,很久没写技术博客有些找不到感觉,写的可能比较粗略,有不清楚的朋友可以留意&交流!
我的淘宝店铺:精诚软件工作室 ,承接:Ecshop/Ecmall/phpcms等开源系统二次开发、微商城、微信支付/微信红包/微信接口、微信公众号、网站定制开发!

我的微信订阅号:zxcknowmore,你的关注与支持,是我多写博文的动力!
微信支付之扫码支付开发:我遇到的坑及解决办法(附:Ecshop 微信支付插件)的更多相关文章
- 微信扫码无法直接下载APP的apk的解决办法
PHP的处理方式:http://blog.sina.com.cn/s/blog_4cd978f90102wx92.html
- spring源码解析(一) 环境搭建(各种坑的解决办法)
上次搭建spring源码的环境还是两年前,依稀记得那时候也是一顿折腾,奈何当时没有记录,导致两年后的今天把坑重踩了一遍,还遇到了新的坑,真是欲哭无泪;为了以后类似的事情不再发生,这次写下这篇博文来必坑 ...
- 微信原生支付 Native扫码支付( V3.3.7 版本)
原文:微信原生支付 Native扫码支付( V3.3.7 版本) [尊重别人的劳动成果,转载请注明出处:一缕晨光工作室,www.wispdawn.com] 前言 辛苦研究三天,遇到各种困难,最终还是克 ...
- asp.net core 微信扫码支付(扫码支付,H5支付,公众号支付,app支付)之1
2018-08-13更新生成二维码的方法 在做微信支付前,首先要了解你需要什么方式的微信支付,目前本人做过的支付包含扫码支付.H5支付.公众号支付.App支付等,本人使用的是asp.net mvc c ...
- 微信支付之扫码、APP、小程序支付接入详解
做电商平台的小伙伴都知道,支付服务是必不可少的一部分,今天我们开始就说说支付服务的接入及实现.目前在国内,几乎90%中小公司的支付系统都离不开微信支付和支付宝支付.那么大家要思考了,为什么微信支付和支 ...
- 微信支付之扫码支付、公众号支付、H5支付、小程序支付相关业务流程分析总结
前言 很久以来,一直想写一篇微信支付有关的总结文档:一方面是总结自己的一些心得,另一方面也可以帮助别人,但是因种种原因未能完全理解透彻微信支付的几大支付方式,今天有幸做一些总结上的文章,也趁此机会,将 ...
- 微信公众号 扫码支付 模式二 demo
扫码支付 本文附有代码,在下方,如果不熟悉场景的可以看看下面的场景介绍 场景介绍 官网介绍地址:https://pay.weixin.qq.com/wiki/doc/api/native.php?ch ...
- 记录:c#实现微信,支付宝扫码支付(一)
因为公司系统业务需要,这几天了解了一下微信和支付宝扫码支付的接口,并用c#实现了微信和支付宝扫码支付的功能. 微信支付分为6种支付模式:1.付款码支付,2.native支付,3.jsapi支付,4.a ...
- 支付宝支付之扫码支付(电脑网站支付)、H5支付(手机网站支付)相关业务流程分析总结
前言 在上一篇文章<微信支付之扫码支付.公众号支付.H5支付.小程序支付相关业务流程分析总结>中,分析和总结了微信支付相关支付类型的业务流程,这里作为与微信支付平起平坐不相伯仲的支付宝支付 ...
随机推荐
- 三元运算与lambda表达式
#三元运算,就是对if else的简写 if 1 == 1: print("jasper") else: print("sb") 三元运算写法 name=&qu ...
- ABAP GET TIME
用来获得应用服务器的时间. 在程序开始运行的时候,sy-uzeit已经被写入内存,不用get time不会刷新 例如: 运行结果: FORM TSTSYS. DATA: i1 TYPE i VAL ...
- EF常用命令行
启用迁移:指定迁移的目录和数据库上下文名称Enable-Migrations -MigrationsDirectory "MigrationsHis" -ContextTypeNa ...
- java.net.UnknownHostException: promote.cache-dns.local: unknown error
一.错误 程序启动时提示如下错误: java.net.UnknownHostException: promote.cache-dns.local: unknown error 直译就是: 主机名pro ...
- 修改shell提示符的显示格式
默认的提示符显示方式如下: [root@localhost foldername]# 由于太长,希望能缩短到: [foldername]# 修改方式: # vim /etc/bashrc 找到第41行 ...
- c++并发练习---生产者消费者模型
问题:有一个生产者,多个消费者,生产者每生产一个,放入队列,多个消费者顺序从队列中取出数据,打印最终结果. 分析:首先这题,我本意应该设计成如下模型:生产者单开一个线程,向队列中放入数据,而消费者在锁 ...
- Sprint第三阶段(第四天12.12)
- .Net环境下的缓存技术介绍
.Net环境下的缓存技术介绍 摘要: 介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1 概念 1.1 ...
- C语言程序设计进阶 第1周编程题
第1周编程题 查看帮助 返回 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数 ...
- indexOf 用法
一.字符串的IndexOf()方法: (括号里的为子字符串) 搜索在该字符串上是否出现了作为参数传递的子字符串,如果找到子字符串,则返回子字符串在该字符串上出现的起始位置 (0表示第一个字符,1表示第 ...