微信公众号支付开发的过程小结
第一步,已知appid和redirect_uri(回调地址), 向微信后台得到code, 微信后台按设定回调地址返回code
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxdxxxx99x2&redirect_uri=http://wx.dingXXX.net/H5/Load/Usercard.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
第二步:已知code(和已知的appid、appsecret), 通过网页授权,获取用户信息(openid和access_token)。
注:通过openid可以确定付款人(每个微信用户在关注的不同公众号时,openid是不同的)
过程见:https://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html
第三步:已知openid, 调用统一下单接口(UnifiedOrder)请求订单
订单包含生成的订单号(out_trade_no:商户号加当前时间生成)、金额(total_fee)、回调地址(notify_url)等重要信息
返回:统一下单接口返回的prepay_id
第四步: 获取H5调起JS API参数,用于h5界面调用JSAPI发起支付调用。
已知: prepay_id加上签名后,获取jspai参数。
第五步:H5界面调起JSAPI
已知:JSAPI参数,调起支付API,由微信后台完成输入密码等支付操作。
第六步:支付完成后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答。