• 微信小程序登录与支付


    登录

    需要先申请小程序公众号


    文档地址: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=******************

    *号代表敏感数据

  • 相关阅读:
    正则表达式入门
    HtmlUnit 开发网络爬虫
    IntelliJ IDEA 下的svn配置及使用的非常详细的图文总结
    myeclipse通过数据表生成jpa或hibernate实体---https://blog.csdn.net/partner4java/article/details/8560289
    javaWeb学习之 Filter过滤器----https://www.cnblogs.com/xdp-gacl/p/3948353.html
    @Resource与@Autowired注解的区别
    IntelliJ IDEA 下的svn配置及使用的非常详细的图文总结
    IntelliJ IDEA配置本地Tomcat方法---亲测有效
    使用IDEA部署Myeclipse项目----亲测有效
    爱钱帮对付相关信息
  • 原文地址:https://www.cnblogs.com/by-pgp/p/6169542.html
Copyright © 2020-2023  润新知