步骤一:通过以下链接生成我们的二维码
步骤二 :用户通过微信扫一扫。发起scope为snsapi_base静默 授权时,在哪一步去获取openid。是在回调我们的页面
https://www.zr-yun.com?orderid=1212343&type=1&hospital=sdlfjdslkfj2332j243&youropenid=sdfjsdlkfjsl时通过url参数youropenid直接获取吗。
还是说继续走第二步:通过https://www.zr-yun.com?orderid=1212343&type=1&hospital=sdlfjdslkfj2332j243&code=df456546获取code在后端去获取openid。
步骤三:通过orderid和type和hospital和code或是openid参数获取到相应的支付参数。然后直接唤起微信支付界面输入用户密码,进行支付。这样思路 是不是正确 的。
如果有问题请问哪一步,会出问题。
第一步:二维码生成一个你支付的地址(而不是网页授权地址,避免每次扫码都去请求一遍网页授权),检查用户有没有授权过(可以是存cookie 或者 session 等后端检查判断),授权过直接调微信支付,处理完成后的动作结束。没有授权执行第二步。
第二步:拼接网页授权地址 https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect,redirect_uri(支付的地址 urldecode 编码一下地址)继续第三步
第三步:通过 code 换取网页授权 access_token ,请求 https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code 获取用户 openid(存cookie 或者 session 用于第一步支付检查授权判断),成功后回调到支付地址(也可以在当前回调地址处理不用多跳转一次,可以和支付地址相同逻辑封装成一个类或者函数),然后去调微信支付,处理完成后动作。
来来来,快快快!