找回密码
 立即注册

QQ登录

只需一步,快速开始

微信公众号开发资源

关注:848

所属分类: 微信开发 微信公众号开发资源

本版块为微信公众号开发教程与公众号开发相关技术分享板块,技术提问请到其他对应的问答板块发帖:)

[公众号开发博客] 适合PM看的微信支付入门文档(看完可以避免很多坑)

[复制链接]
查看: 5529|回复: 13
最佳答案
0 

3

主题

7

帖子

80

积分

新人求带

积分
80
 楼主| 发表于 2016-6-1 14:19:06 | 显示全部楼层 |阅读模式
最近在做微信支付相关的功能,简单的整理了一下微信支付相关的文档:

微信5.0版本后才加入微信支付模块,低版本用户调用微信支付功能将无效。

【支付模式】

1、刷卡支付

刷卡支付是用户展示微信钱包内的“刷卡条码/二维码”给商户系统扫描后直接完成支付的模式。主要应用线下面对面收银的场景。

2、公众号支付

公众号支付是用户在微信中打开商户的H5页面,商户在H5页面通过调用微信支付提供的JSAPI接口调起微信支付模块完成支付。应用场景有:

# 1.用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付;

# 2.用户的好友在朋友圈、聊天窗口等分享商家页面连接,用户点击链接打开商家页面,完成支付;

# 3.将商户页面转换成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付 。

3、扫码支付

扫码支付是商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站支付、实体店单品或订单支付、媒体广告支付等场景。

4、APP支付

APP支付又称移动端支付,是商户通过在移动端应用APP中集成开放SDK调起微信支付模块完成支付的模式。

【名词解释】

1、微信开放平台

微信开放平台是商户APP接入微信支付开放接口的申请入口,通过此平台可申请微信APP支付。

2、微信商户平台

微信商户平台是微信支付相关的商户功能集合,包括参数配置、支付数据查询与统计、在线退款、代金券或立减优惠运营等功能。

3、微信支付系统

微信支付系统是指完成微信支付流程中涉及的API接口、后台业务处理系统、账务系统、回调通知等系统的总称。

4、商户收银系统

商户收银系统即商户的POS收银系统,是录入商品信息、生成订单、客户支付、打印小票等功能的系统。接入微信支付功能主要涉及到POS软件系统的开发和测试,所以在下文中提到的商户收银系统特指POS收银软件系统。

5、商户后台系统

商户后台系统是商户后台处理业务系统的总称,例如:商户网站、收银系统、进销存系统、发货系统、客服系统等。

6、扫码设备

一种输入设备,主要用于商户系统快速读取媒介上的图形编码信息。按读取码的类型不同,可分为条码扫码设备和二维码扫码设备。按读取物理原理可分为红外扫码设备、激光扫码设备。

7、商户证书

商户证书是微信提供的二进制文件,商户系统发起与微信支付后台服务器通信请求的时候,作为微信支付后台识别商户真实身份的凭据。

8、签名

商户后台和微信支付后台根据相同的密钥和算法生成一个结果,用于校验双方身份合法性。签名的算法由微信支付制定并公开,常用的签名方式有:MD5、SHA1、SHA256、HMAC等。

9、JSAPI网页支付

JSAPI网页支付即前文说的公众号支付,可在微信公众号、朋友圈、聊天会话中点击页面链接,或者用微信“扫一扫”扫描页面地址二维码在微信中打开商户HTML5页面,在页面内下单完成支付。

10、Native原生支付

Native原生支付即前文说的扫码支付,商户根据微信支付协议格式生成的二维码,用户通过微信“扫一扫”扫描二维码后即进入付款确认界面,输入密码即完成支付。

11、支付密码

支付密码是用户开通微信支付时单独设置的密码,用于确认支付完成交易授权。该密码与微信登录密码不同。

12、Openid

用户在公众号内的身份标识,不同公众号拥有不同的openid。商户后台系统通过登录授权、支付通知、查询订单等API可获取到用户的openid。主要用途是判断同一个用户,对用户发送客服消息、模版消息等。企业号用户需要使用企业号userid转openid接口将企业成员的userid转换成openid。

【普通商户开通微信支付流程】

B5-picture.png

【相关参数】

1、交易金额

交易金额默认为人民币交易,接口中参数支付金额单位为【分】,参数值不能带小数。对账单中的交易金额单位为【元】。

外币交易的支付金额精确到币种的最小单位,参数值不能带小数点。

2、交易类型

JSAPI--公众号支付、NATIVE--原生扫码支付、APP--app支付、MICROPAY--刷卡支付

3、货币类型

CNY:人民币

4、时间

标准北京时间,时区为东八区;如果商户的系统时间为非标准北京时间。参数值必须根据商户系统所在时区先换算成标准北京时间, 例如商户所在地为0时区的伦敦,当地时间为2014年11月11日0时0分0秒,换算成北京时间为2014年11月11日8时0分0秒。

5、时间戳

标准北京时间,时区为东八区,自1970年1月1日 0点0分0秒以来的秒数。注意:部分系统取到的值为毫秒级,需要转换成秒(10位数字)。

6、商户订单号

商户支付的订单号由商户自定义生成,微信支付要求商户订单号保持唯一性(建议根据当前系统时间加随机序列来生成订单号)。重新发起一笔支付要使用原订单号,避免重复支付;已支付过或已调用关单、撤销(请见后文的API列表)的订单号不能重新发起支付。

【支付场景流程】

用户通过消息或扫描二维码在微信内打开网页时,可以调用微信支付完成下单购买的流程。

步骤(1):商户下发图文消息或者通过自定义菜单吸引用户点击进入商户网页。

步骤(2):进入商户网页,用户选择购买,完成选购流程。

步骤(3):调起微信支付控件,用户开始输入支付密码。

步骤(4):密码验证通过,支付成功。商户后台得到支付成功的通知。

步骤(5):返回商户页面,显示购买成功。该页面由商户自定义。

步骤(6):公众号下发消息,提示发货成功。该步骤可选。

注意:商户也可以把商品网页的链接生成二维码,用户扫一扫打开后即可完成购买支付。

【支付场景中的交互细节】

(1)用户打开商户网页选购商品,发起支付,在网页通过JavaScript调用getBrandWCPayRequest接口,发起微信支付请求,用户进入支付流程。

(2)用户成功支付点击完成按钮后,商户的前端会收到JavaScript的返回值。商户可直接跳转到支付成功的静态页面进行展示。

(3)商户后台收到来自微信开放平台的支付成功回调通知,标志该笔订单支付成功。

注:(2)和(3)的触发不保证遵循严格的时序。JS API返回值作为触发商户网页跳转的标志,但商户后台应该只在收到微信后台的支付成功回调通知后,才做真正的支付成功的处理。

【微信内网页支付时序图】
314b-picture.png

【微信公众号支付验收】

验收目的:
      单个微信支付接口调通,不等于微信支付功能就可以“安全”上线。根据接入微信支付类型的不同,商户需要在微信支付接口返回不同的支付结果(尤其是支付异 常、回调异常)时,做出不同的处理。若未按照规范处理,可能会直接导致影响用户购物体验,甚至造成资金损失。因此,强烈建议商户完成支付功能开发后,严格 按照验收手册的指引,在验收用例全部测试通过后,再正式上线交易。

验收流程:
Nf16iibA-picture.png

【用户支付限额】

零钱支付:
Z-picture.jpg

补充:开通微信支付的商户会有一个“经营类目”。

微信经营类目.jpg

如果是“实物类”,则零钱支付限额如上;

如果是“虚拟类”,则零钱支付限额为每日单笔3000;

经营类目如果一开始选错了,貌似可以通过联系客服修改,但应该比较麻烦。我们开始就申请了虚拟类,然后发现客户的支付额度不够,想换成实物类,然后索性直接换了个支付商户账号。

完整的微信支付开发文档见:【微信支付官网-开发文档】
回复

使用道具 举报

最佳答案
0 

0

主题

4682

帖子

50

积分

新人求带

积分
50
发表于 2018-5-7 21:16:06 | 显示全部楼层
这个厉害了,先看看
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

4682

帖子

50

积分

新人求带

积分
50
发表于 2018-5-7 22:09:41 | 显示全部楼层
感谢楼主发这么好的源码
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

4682

帖子

50

积分

新人求带

积分
50
发表于 2018-5-7 23:34:38 | 显示全部楼层
感谢分享啊啊~~~~~
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

4682

帖子

50

积分

新人求带

积分
50
发表于 2018-5-8 00:10:48 | 显示全部楼层
我来学习学习学习
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

1

帖子

30

积分

等待验证会员

积分
30
发表于 2019-1-2 10:54:27 | 显示全部楼层
02075856393431.png

02080039220834.png


02080143142524.png


02080246096502.png


02080706923558.png

32225669_201812271605190106856459.jpg


回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

310

帖子

1万

积分

S2

积分
12173
发表于 2019-1-9 16:47:47 | 显示全部楼层
好帖,鉴定完毕,谢谢您了
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

380

帖子

3900

积分

专家路上

积分
3900
发表于 前天 09:10 | 显示全部楼层
这个厉害了,先看看
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

380

帖子

3900

积分

专家路上

积分
3900
发表于 前天 09:10 | 显示全部楼层
这个厉害了,先看看
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

380

帖子

3900

积分

专家路上

积分
3900
发表于 前天 09:10 | 显示全部楼层
这个厉害了,先看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



www.henkuai.com—微信开发者的分享交流平台,专注微信开发生态。

天津市滨海新区
中新生态城中成大道生态建设公寓9号楼3层301

微信公众号

广告推广
QQ:805874290

市场合作
zhongcong@henkuai.com