收藏
回答

小程序支付问题,调用云函数时金额不为1就出现错误,金额为1时就可以支付?求大神看代码!

Page({
  data: {
    id:''
  },
  
  zhifu1: function () {
    const db = wx.cloud.database();
    db.collection('price').doc(this.data.id).update({
      data: {
        money:'500'
      },
      success: function (res) {
        console.log(res)
      } 
    }),
    wx.cloud.callFunction({
      name:'pay'
    }).then(res => {
      console.log(res);
      let result = res.result;
      wx.requestPayment({
        timeStamp: result.timeStamp,
        nonceStr: result.nonceStr,
        package: result.package,
        signType: result.signType,
        paySign: result.paySign,
        success: res => {
          console.log("success");
          //订单完成
        },
        fail: error => {
          console.error('Error');
        }
      })
    })
  },


  onShow: function () {
    const db = wx.cloud.database();
    db.collection('price').add({
      data: {
        money: '100',
        name: 'sss'},
      }
    ).then(res=>{
      console.log(res._id)
      this.setData({
        id:res._id
      })
    })
    },
})

以上是<index.js>代码

以下是云函数代码

// 云函数入口文件
const cloud = require('wx-server-sdk');
const tenpay = require('tenpay');
cloud.init()
const db= cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
  const p=await db.collection('price').get()
  const len=p.data.length-1
  const price=p.data[len].money
  const wxContext = cloud.getWXContext()
  const config = {
    appid: 'wx**************0d', 
    mchid: '15******71',
    partnerKey: '20*********************XX',
    notify_url: 'http://www.weixin.qq.com/wxpay/pay.php',
  }
  const api = tenpay.init(config)
  return await api.getPayParams({  
    out_trade_no: '12032032039',
    body: '商品',
    total_fee: price,
    openid: wxContext.OPENID
  })

每次将数据库数据改动成1时就可以支付,但是改成其他数字就无法支付,会报错,报错如下:


有没有大神可以给我看看代码。。

回答关注问题邀请回答
收藏

1 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    2020-03-04

    你添加一下WePayTS8(备注:微信社区XXX问题”)。给一下具体的单号。

    2020-03-04
    有用
    回复
登录 后发表内容
问题标签