微信授权和支付,其实大家在平时多少都接触过,微信授权比如你去万达那里免费抓娃娃,扫完二维码需要你授权关注一个东西,这些还是比较常见的。微信支付现在更普遍了,现在买东西吃饭啥的都可以微信支付。我们用的比较普遍,但这些到底是如何实现的还真没了解过,听完师姐的技术分享,感觉需要好好总结一下。
打开师姐给的文档链接,发现实习的时候也接触了一部分微信的功能,比如微信消息推送,账户管理什么的,都是人家提供的东西,很详细,确实该好好了解了解。微信公众号平台开发者文档
一、微信授权
1 第一步:用户同意授权,获取code
2 第二步:通过code换取网页授权access_token
3 第三步:刷新access_token(如果需要)
4 第四步:拉取用户信息(需scope为 snsapi_userinfo)
5 附:检验授权凭证(access_token)是否有效
具体的文档中很详细,就不多copy了,关键自己要去实践实践。授权页面确实是很熟悉的:
二、微信支付
微信支付功能现在真的很常见,很多地方都在用,可以的话一定要自己实践一下。
1、交互细节:
以下是支付场景的交互细节,请认真阅读,设计商户页面的逻辑:
(1)用户打开商户网页选购商品,发起支付,在网页通过JavaScript调用getBrandWCPayRequest接口,发起微信支付请求,用户进入支付流程。
(2)用户成功支付点击完成按钮后,商户的前端会收到JavaScript的返回值。商户可直接跳转到支付成功的静态页面进行展示。
(3)商户后台收到来自微信开放平台的支付成功回调通知,标志该笔订单支付成功。
注:(2)和(3)的触发不保证遵循严格的时序。JS API返回值作为触发商户网页跳转的标志,但商户后台应该只在收到微信后台的支付成功回调通知后,才做真正的支付成功的处理。
2、业务流程:
商户系统和微信支付系统主要交互:
1、商户server调用统一下单接口请求订单,api参见公共api【统一下单API】
2、商户server接收支付通知,api参见公共api【支付结果通知API】
3、商户server查询支付结果,api参见公共api【查询订单API】
如此普遍使用的功能,自己一定要实践一下才行。