export function pay(payData) {
  return new Promise((resolve, reject) => {
    uni.requestPayment({
      provider: "wxpay",
      timeStamp: String(payData.payJson.timeStamp),
      nonceStr: payData.payJson.nonceStr,
      package: payData.payJson.package,
      signType: payData.payJson.signType,
      paySign: payData.payJson.paySign,
      success: (res) => {
        console.log("success:" + JSON.stringify(res));
        // 支付回调
        checkPayStatus({
          payOrderNo: payData.payOrderNo,
        })
          .then((cus) => {
            uni.showToast({
              title: "支付成功",
              icon: "none",
              duration: 1000,
            });
            resolve(res);
          })
          .catch((err) => {
            reject("错误:" + JSON.stringify(err));
          });
      },
      fail: function (err) {
        console.log("进入这里:" + JSON.stringify(err));
        // uni.showToast({
        // 	title: '用户取消支付',
        // 	icon: 'none',
        // 	duration: 3000
        // })
        reject("错误:" + JSON.stringify(err));
      },
    });
  });
}

使用

<template>
  <view @click="do">支付</view>
</template>
<script>
	import {
		pay
	} from '@/src/utils/utils.js'
export default {
  data() {
    return {
      data: {},
    };
  },
  methods: {
   do(){
    // data 是支付接口需要传的参数
    pay(data)
   }
  },
};
</script>
Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐