小程序集成微信支付的名词解释与应用场景的区别
2024-01-26 13:01:09 欢乐点

本文阅读对象:小程序集成微信支付涉及的技术构架师,研制工程师,测试工程师,系统运维工程师。

支付产品1、

付款码支付

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

2、

支付

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

3、

JSAPI支付

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

◆用户在微信公众帐号内步入店家公众号,打开某个主页面,完成支付

◆用户的好友在同学圈、聊天窗口等分享店家页面联接,用户点击链接打开店家页面,完成支付

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

4、

APP支付

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

5、

H5支付

H5支付主要是在手机、ipad等联通设备中通过浏览器来唤醒微信支付的支付产品。

6、

小程序支付

小程序支付是专门被定义使用在小程序中的支付产品。目前在小程序中能且只能使用小程序支付的方法来唤醒微信支付。

名词解释1、

微信公众平台

微信公众平台是微信公众帐号申请入口和管理后台。商户可以在公众平台递交基本资料、业务资料、财务资料申请开通微信支付功能。

平台入口:。

2、

微信开放平台

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

平台入口:。

3、

微信商户平台

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

平台入口:。

4、

微信企业号

微信企业号是企业号的申请入口和管理后台,商户可以在企业号递交基本资料、业务资料、财务资料申请开通微信支付功能。

企业号入口:。

5、

微信支付系统

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

6、

微信小程序

微信小程序是微信提供给商户实现APP的一种轻应用,开发上去简单,易用。

入口:。

7、

商户后台系统

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

8、

商户证书

商户证书是微信提供的二补码文件,商户系统发起与微信支付后台服务器通讯恳求的时侯,作为微信支付后台辨识商户真实身分的凭据。

9、

签名

商户后台和微信支付后台按照相同的秘钥和算法生成一个结果,用于校准双方身分合法性。签名的算法由微信支付拟定并公开,常用的签名形式有:MD5、SHA1、、HMAC等。

10、

JSAPI网页支付

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

11、

支付密码

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

12、

用户在小程序内的身分标示,不同小程序拥有不同的。商户后台系统通过登陆授权、支付通知、查询订单等API可获取到用户的。主要用途是判定同一个用。可调用插口获取。

支付帐户

小程序认证之后,可以在小程序后台,微信支付菜单栏,申请微信支付。

商户在微信公众平台或开放平台递交微信支付申请,微信支付工作人员初审资料无误后开通相应的微信支付权限。微信支付申请初审通过后,商户在申请资料填写的邮箱中缴纳到由微信支付小助手发送的电邮,此短信包含开发时须要使用的支付帐户信息,见图3.1所示。

图3.1微信初审通过短信模板

短信中的帐户参数与插口API参数对应关系见表格3.1:

微信订单系统_微信进行中的订单是什么意思_微信订单支付系统

表3.1帐户参数说明

电邮中参数API参数名详尽说明

APPID

appid

appid是微信小程序后台APP的惟一标示,在小程序后台申请小程序帐号后,微信会手动分配对应的appid,用于标示该应用。可在小程序-->设置-->开发设置中查看。

微信支付商户号

商户申请微信支付后,由微信支付分配的商户收款帐号。

API秘钥

key

交易过程生成签名的秘钥,仅保留在商户系统和微信支付后台,不会在网路中传播。商户妥善保管该Key,请勿在网路中传输,不能在其他顾客端中储存,保证key不会被泄露。商户可依照电邮提示登陆微信商户平台进行设置。也可按以下路径设置:微信商户平台()-->帐户设置-->API安全-->秘钥设置

是APPID对应的插口密码,用于获取插口调用账簿时使用。

合同规则

商户接入微信支付,调用API必须遵守以下规则:

表4.1插口规则

传输方法

为保证交易安全性,采用HTTPS传输

递交方法

采用POST方式递交

数据格式

递交和返回数据都为XML格式,根节点名为xml

字符编码

统一采用UTF-8字符编码

签名算法

MD5,后续会兼容SHA1、、HMAC等。

签名要求

恳求和接收数据均须要校准签名,详尽方式请参考安全规范-签名算法

证书要求

调用申请退票、撤销订单插口须要商户证书

判定逻辑

先判别合同数组返回,再判定业务返回,最后判定交易状态

参数规定1、交易金额

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

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

2、交易类型

JSAPI--JSAPI支付(或小程序支付)、--支付、APP--app支付,MWEB--H5支付,不同决定了调起支付的形式,请依照支付产品正确上传

--付款码支付,付款码支付有单独的支付插口,所以插口不须要上传,该数组在对帐单中会出现

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列表)的订单号不能重新发起支付。

7、body数组格式使用场景支付模式商品数组规则样例备注

PC网站

扫码支付

浏览器打开的网站主页title名-商品概述

腾讯冲值中心-QQ会员冲值

微信浏览器

公众号支付

店家名称-销售商品类目

腾讯-游戏

线上电商,店家名称必须为实际销售商品的店家

分店扫码

公众号支付

菜名-销售商品类目

小张南山店-商场

线下店面支付

分店扫码

扫码支付

菜名-销售商品类目

小张南山店-商场

线下店面支付

分店刷卡

刷卡支付

菜名-销售商品类目

微信订单支付系统_微信订单系统_微信进行中的订单是什么意思

小张南山店-商场

线下店面支付

第三方手机浏览器

H5支付

浏览器打开的联通网页的主页title名-商品概述

腾讯冲值中心-QQ会员冲值

第三方APP

APP支付

应用市场上的APP名子-商品概述

天天爱去除-游戏冲值

1、签名算法

(签名校准工具)

签名生成的通用步骤如下:

第一步,设所有发送或则接收到的数据为集合M,将集合M内非空参数值的参数根据参数名ASCII码从小到大排序(字典序),使用URL通配符对的格式(即key1=&key2=…)拼接成字符串。

非常注意以下重要规则:

◆参数名ASCII码从小到大排序(字典序);

◆如果参数的值为空不参与签名;

◆参数名分辨大小写;

◆验证调用返回或微信主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校准。

◆微信插口可能降低数组,验证签名时必须支持降低的扩充数组

第二步,在最后拼接上key得到字符串,并对进行MD5运算,再将得到的字符串所有字符转换为小写,得到sign值。

◆key设置路径:微信商户平台()-->帐户设置-->API安全-->秘钥设置

举例:

假定传送的参数如下:

appid:

:1000

body:test

第一步:对参数根据key=value的格式,并根据参数名ASCII字典序排序如下:

="appid=&body=test&=1000&=&=";

第二步:拼接API秘钥:

=+"&key="//注:key为商户平台设置的秘钥key

sign=MD5().()=""//注:MD5签名形式

sign=("",,key).()="ACD6"//注:HMAC-签名形式

最终得到最终发送的数据:

1000

test

2、生成随机数算法

微信支付API插口合同中包含数组,主要保证签名不可预测。我们推荐生成随机数算法如下:调用随机数函数生成,将得到的值转换为字符串。

3、API证书

(1)获取API证书(哪些是api证书?怎么升级?)

微信支付插口中,涉及资金回滚的插口会使用到API证书,包括退货、撤销插口。店家在申请微信支付成功后,收到的相应电邮后,可以根据指引下载API证书,也可以根据以下路径下载:微信商户平台()-->帐户中心-->帐户设置-->API安全。证书文件说明如下:

证书附件描述使用场景备注

格式

(.p12、

包含了公钥信息的证书文件,为p12(pfx)格式,由微信支付签发给您拿来标示和划分您的身分

撤消、退款申请API中调用

上可以直接双击导出系统,导出过程中会提示输入证书密码,证书密码默认为您的商户ID(如:)

以下两个证书在PHP环境中使用:

证书附件描述使用场景备注

证书pem格式

(.pem)

从.p12中导入证书部份的文件,为pem格式,请妥善保管不要泄露和被别人复制

PHP等不能直接使用p12文件,而须要使用pem,为了便捷您使用,已为您直接提供

您也可以使用命令来自己导入:---.p12-.pem

证书秘钥pem格式

(.pem)

从.pem中导入秘钥部份的文件,为pem格式,请妥善保管不要泄露和被别人复制

PHP等不能直接使用p12文件,而须要使用pem,为了便捷您使用,已为您直接提供

您也可以使用命令来自己导入:--.p12-.pem

(2)使用API证书

(3)API证书安全

1.证书文件不能放到web服务器虚拟目录微信订单系统,应置于有访问权限控制的目录中,避免被别人下载;

2.建议将证书文件名改为复杂且不容易猜想的文件名;

3.商户服务器要做好病毒和木马防护工作,不被非法侵入者泄露证书文件。

4、商户反弹API安全

在普通的网路环境下,HTTP恳求存在DNS绑架、运营商插入广告、数据被泄露,正常数据被更改等安全风险。商户反弹插口使用HTTPS合同可以保证数据传输的安全性。所以微信支付建议商户提供给微信支付的各类反弹采用HTTPS合同。请参考:HTTPS搭建手册。

免责声明:部分文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们会尽快为您处理。

欢乐点

留言咨询

×