登录
需要先申请小程序公众号
文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html?t=20161122
时序图:
整体代码流程:
1. 在wx.login的回调中取到code, 之后调用wx.getUserInfo取到用户信息, 取到encryptedData和iv
2. 把取到的encryptedData, iv, code传到服务端
3. 通过文档中的code换取session_key来授权
4. 解密encryptedData和iv用来保存必要数据 (注册) 解密算法 [https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html?t=20161122], 官方有很多种语言SDK下载
5. 服务端登录
注意:如果在第4步解密没有取到unionId(你确实需要使用), 需要在开放平台绑定该公众号
支付
文档 : https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-pay.html?t=20161122
支付信息的获取
appid 分配给小程序id
partner_id 商户id, 在申请支付通过的时候官方邮件中会有
mch_id 跟partner_id设置为一样
sslcert_path 通过商品号和密码登录商品平台, 在api安全中可以下载
sslkey_path 获取方式同sslcert_path
key 通过商品号和密码登录商品平台, 在api安全中可以自由设置密钥
app_secret 可以在公众号中更改, 怎么获取不记得了
流程:
1. 小程序内调用登录接口,获取到用户的openid 在登录阶段已经获取到
2. 调用支付统一下单 [https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1]
3. 再次签名 [https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7]
4. 客户端发起支付 [https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-pay.html?t=20161122]
注意 :
1. 再次签名注意大小写 appId是大写, 以前一直是小写有没有
2. 再次签名的时候package一定要加上prepay_id=
3. 再次签名的时候需要带上key
最后得到的签名字串
appId=wx********&nonceStr=jkm2c98jlitq5fb8ihx6phs0lz4oir1s&package=prepay_id=wx20161213133211433c8abf0e0811319940&signType=MD5&timeStamp=1481607127&key=******************
*号代表敏感数据
请发表评论