微信支付商户平台

===> " r: "

9th,March,2016 Wednesday

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

===> "r: 所以商户后台和微信支付后台指什么呢? "

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

常用参数
appid: 唯一标识

mch_id: 微信支付分配的商户收款账号 // 微信支付商户号

key: 签名密钥 // 仅保留在商户系统和微信支付后台,不可在客户端存储(r:  断章取义了,是不可在其他客户端存储--on 10th,March,2016)

secret: appid对应的接口密码 // 获取acess_token时使用

在微信支付中,先通过OAuth2.0接口获取用户openid,此openid用于微信内网页支付模式下单接口使用。在开发模式中获取AppSecret(成为开发者且帐号没有异常状态)。

===> "r: 微信数据格式采用xml,字符编码统一为utf-8,签名算法目前为MD5,调用申请退款、撤销订单接口需要商户证书。顺便回顾下支付宝,支付宝数据格式可用xml/json,字符编码可为GBK,GBK2312,UTF-8,签名算法为RSA或者MD5。"

“access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。”

判断逻辑 先判断协议字段返回,再判断业务返回,最后判断交易状态

在普通的网络环境下,HTTP请求存在DNS劫持、运营商插入广告、数据被窃取,正常数据被修改等安全风险。商户回调接口使用HTTPS协议可以保证数据传输的安全性。所以微信支付建议商户提供给微信支付的各种回调采用HTTPS协议。

接下来进入正题:

微信支付签名

1. 四种支付模式


2. API规则

a. 签名算法-- 拼接待签名字符串:

1) 按参数名ASCII码从小到大排序,URL键值对格式拼接。sign参数不参与签名 => stringA

2) 拼接key => stringSignTemp

3) 进行MD5运算,再将字符转为大写

b. 商户证书








你可能感兴趣的:(支付录)