不同场景的不同支付类型
1.线下场所:一般通过付款码或JSAPI来实现支付
2.公众号:一般是结合H5移动端商城通过JSAPI来实现支付
3.小程序:JSAPI
4.PC网站: JSAPI 或 Native
5.移动端网站:JSAPI 或者 H5支付
6.第三方APP: APP
微信小程序支付
需求:
- 微信小程序账号
需要认证、获取appid、生成secret(秘钥!!)、 开通支付 、关联商户号等
- 商户平台账号
需要认证、获取商户号(mch_id)、设置商户API秘钥(mch_key)— 32位包含字母数字大小写、
APPID授权 、 配置支付接口(域名要映射到外网 )
Appid、开通微信支付功能、以及关联商户号、商户号id、秘钥(api安全)可能需要安装好几次、换浏览器才能成功、appid授权、 支付配置(支付接口JSAPI支付 )等功能都可在微信小程序官网个人中心中配置
小程序支付流程
- 用户点击下单后
- 后台先进行一次登录操作,目的拿到openid
- 拿到openid后,生成一个商户订单(支付类型,金额,我是谁,收钱方是谁,最后加密处理)
- 然后通过XML方式传输到后端
- 后端检测有没有问题,没有问题则生成订单并返回订单信息(prepay_id)预支付id
- 再对prepay_id进行二次加密,确保安全,之后返回用户端
- 通过wx.payAPI接口调用支付页面出来进行支付剩下的就是微信做的
- 等到微信确定支付完毕后会通知支付结果
- 通过这个结果进行相关页面展示。。。
H5支付流程
1.进入浏览器后用户点击下单后
2. 后台收到信息并生成一系列数据
3. 带到后台验证没问题后返回一个url
4. 通过url打开确认模态框(防止篡改进行二次确认)
5. 再打开弹出支付页面
6. 支付完成