微信支付大概调研一

微信支付有多种场景,一种是H5支付,一种是商户APP调用微信客户端支付。 H5在开发文档中叫做jsAPI支付,可以扫码跳到商户的API,可以在公众号里面 跳到某链接到微信支付,也可以朋友圈转发的链接支付。

接口规则: 传输方式-HTTPS 提交方式-POST 数据格式-XML 字符编码-UTF8 签名算法-MD5\SHA1\SHA256\HMAC 签名要求-请求和接受数据均需要陪校验前面 证书要求-嗲用申请退款、撤销订单接口需要商户证书 判断逻辑-先判断协议字段返回,业务返回,交易状态

交易金额,默认人民币交易,参数支付金额单位为分,参数值不能带小数, 对账单中的交易金额单位为元,统一下单接口 订单号由商户自定义生成

步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。

步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。

 步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay

步骤4:商户APP调起微信支付。api参见本章节【app端开发步骤说明】

步骤5:商户后台接收支付通知。api参见【支付结果通知API】

步骤6:商户后台查询支付结果。,api参见【查询订单API】

 

对于开发APP的我们需要知道的精简版本:

微信支付流程,服务器端配置好预交易参数,
客户端发起交易请求,其中的参数应该先从服务器端获取,如appid,价格等。
当发起交易到微信支付平台,成功后,微信支付平台回调服务器端。
服务器端将收到的参数进行真伪校验,通过则进行相关业务处理。
所以在客户端是不会主动知道支付成功的结果的,这个由服务器端通过消息推送给用户,或者用户去调。

 

微信支付大概调研一

上一篇:【评论】为什么PHP比Ruby更加实用?


下一篇:Javascript限制网页只能在微信内置浏览器中访问