pay.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import platform from "@/utils/platform";
  2. import config from '@/config';
  3. export const wxPay = (obj) => {
  4. return new Promise(resolve => {
  5. const plat = platform()
  6. if (plat === 'H5') {
  7. WeixinJSBridge.invoke(
  8. 'getBrandWCPayRequest', {
  9. "appId": config.appid, //公众号ID,由商户传入
  10. "timeStamp": obj.wxTimestamp, // cfg.timeStamp, //时间戳,自1970年以来的秒数
  11. "nonceStr": obj.wxNoncestr, // cfg.nonceStr, //随机串
  12. "package": obj.wxPackage, // cfg.packages,
  13. "signType": obj.signType, // cfg.signType, //微信签名方式:
  14. "paySign": obj.wxSign // cfg.paySign //微信签名
  15. },
  16. function(res) {
  17. if (res.err_msg == "get_brand_wcpay_request:ok") {
  18. // 使用以上方式判断前端返回,微信团队郑重提示:
  19. //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
  20. //跳转支付成功展示页面
  21. // 支付成功后的回调函数
  22. console.log(res)
  23. resolve(true)
  24. } else if (res.err_msg == "get_brand_wcpay_request:fail") {
  25. uni.showToast({
  26. title: '支付失败!',
  27. icon: 'none'
  28. })
  29. resolve(false)
  30. } else {
  31. uni.showToast({
  32. title: '支付失败!',
  33. icon: 'none'
  34. })
  35. resolve(false)
  36. //修改上面生成的预支付订单状态
  37. }
  38. });
  39. }
  40. })
  41. }