微信扫码支付实现
分享了好多生活的文章,前段时间状态、外部影响导致整个人心浮气躁、心不在焉。
现在在慢慢的进入正轨、最近还是静下心来学习学习技术、自从入这行我都不知道我为什么而坚持、图个啥、哎、快坚持不住了。
今年也是六月了,离开学校三年了。
微信支付的实现
微信H5支付有俩种选择,
第一种 外部浏览器调起微信支付(除了微信以为都可以扫码,进行跳转微信支付)https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_6_0.shtml
第二种 必须使用微信扫码进行支付 (这种必须通过 JSapi来做)https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter1_1_1.shtml
JSAPI支付适用于线下场所、公众号场景和PC网站场景。
一、产品介绍
1、接入模式选择---->直连模式
二、接入前准备
1、申请APPID
采用不同的支付方式 appid就是不同,比如公众号、小程序、app等,都不相同
2、申请mchid https://pay.weixin.qq.com/index.php/core/info
微信商户平台 如果是同一家公司,一般是只有一个商户号
3、绑定APPID及mchid

4、配置API key 、商户证书等等 (微信支付平台有 一个商户号对应一套秘钥证书)

5、设置支付目录-------必须是外网能够访问的地址 (内网穿透不行)
前端在调起支付的那个页面的地址,
报错——url未注册 (直接设置提示的地址)

6、设置授权目录
因为是二维码跳转微信,所以需要微信授权登录,(这里展示公众号的)小程序应该差不多
(这个文件,放在前端项目的服务器下)


公众号支付大致分四步(https://blog.csdn.net/virgo_ling/article/details/86551836)
第一步:(前端)获取code---(需要公众号appid)
第二步:(后端)获取openid (需要参数公众号 appId AppSecret Code) 微信登录授权差不多 前端服务器的ip地址
第三步:(后端)统一下单 获取prepay_id
1、将参数组装
2、将map转为xml字符串
3、将map转换为xml格式后 ,向微信发起请求 获取prepay_id 统一下单
4、将结果返回给前端
第四步:(前端)调起支付
第五步:支付成功回调 (微信给你发支付成功之后的请求)这里做业务代码的处理
注意:微信统一下单订单号不能相同 可以随机生成,在支付成功的回调中,把支付订单号存入数据库