微信小程序支付
1、 使用 wx.login 获取临时登录平衡code,发送到后端获取 openId => 微信登录
2、 将 openId 以及相应需要的商品信息发送到后端,换取服务端进行支付的签名等信息=》创建订单
3、 接收返回的信息(必须要包含发起微信支付 wx.requestPayment的参数 ),发起微信支付
uni.requestPayment({
"provider": "wxpay",
"orderInfo": {
// 微信开放平台 - 应用 - AppId,注意和微信小程序、公众号 AppId 可能不一致
"appid": "wx499********7c70e",
"noncestr": "c5sEwbaNPiXAF3iv", // 随机字符串
"package": "Sign=WXPay", // 固定值
"partnerid": "148*****52", // 微信支付商户号
"prepayid": "wx202254********************fbe90000", // 统一下单订单号
"timestamp": 1597935292, // 时间戳(单位:秒)
"sign": "A842B45937F6EFF60DEC7A2EAA52D5A0" // 签名,这里用的 MD5/RSA 签名
},
success(res) {},
fail(e) {}
})
h5支付 移动支付
1、调用后端给的支付接口,后端会返回一个url,前端使用window.location.herf=url
2、页面跳转到支付宝或微信的支付页面,支付成功或失败,会跳转到一个回执页面(在第三方支付程序中定义好的)
pc支付
1、请求后端的支付接口,返回一个url,前端使用qrcode根据url生成二维码。
2、用户扫描二维码后,开启一个轮询请求支付状态的接口,问后端用户是否支付,支付成功或失败跳转到对应的页面