小程序的支付Demo和登录Demo

本文介绍了一种在微信小程序中实现支付功能的方法。通过调用微信提供的API进行用户登录验证及后续的支付流程。具体步骤包括:使用wx.login()获取用户登录凭证(code),再通过网络请求将code发送到服务器端进行验证并获得3rd_session;接着利用3rd_session发起支付请求,最终完成支付过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//登录
function Login(){

  wx.login({
    success: function (res) {
      if (res.code) {
        //发起网络请求
        wx.request({
          url: 'https://explome/login',
          data: {
            code: res.code,
          },
          success: function (msg) {
            wx.hideLoading();
            console.log(msg);
            if (msg.data.code == 20000) {
              //登录成功,把3rd_session存入本地Storage中
              wx.setStorage({
                key: 'rd_session',
                data: msg.data.rd_session,
              });
            } else {
              wx.showToast({
                title: msg.data.message,
                icon: "none",
                duration: 2000
              })
            }
          },
          fail: function () {
            wx.showToast({
              title: '用户登录!',
              icon: 'none'
            })
            wx.hideLoading();

          }
        })
      } else {
        wx.showToast({
          title: '获取用户登录态失败!' + res.errMsg,
          icon: 'none'
        })
        wx.hideLoading();
      }
    }
  });

}


/**
 * 支付demo
 */
function Pay(){
  wx.request({
    url: 'https://explome/wechat/pay',
    data: {
      actionId: 21,
      rd_session: wx.getStorageSync('rd_session'),
      buy_number: 1,
    },
    success: function (msg) {
      console.log(msg);
      const payData = msg.data;
      if (payData.code == 20000) {
        console.log("open pay");
        wx.requestPayment({
          timeStamp: payData.data.timeStamp.toString(),
          nonceStr: payData.data.nonceStr,
          package: "prepay_id=" + payData.data.package,
          signType: payData.data.signType,
          paySign: payData.data.paySign,
          success: function (message) {
            wx.showToast({
              title: '支付成功',
            })
          },
          fail: function (message) {

            console.log(message);
            wx.showToast({
              title: '取消支付'
            })
          }
        })
      } else {
        console.log("not open pay");
      }
    },
    fail: {

    }
  })
}

 

转载于:https://my.oschina.net/jishuge/blog/1618648

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值