收藏
回答

查询订单失败,提示Err: Request failed with status code 404

const cloud = require('wx-server-sdk')
const axios = require('axios')
const config = require('../config')
const Guid = require('guid')
const fs = require('fs')
const rsa = require('../rsa')
const PRIMARY_KEY = fs.readFileSync('../apiclient_key.pem')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境e
exports.main = async (event, context) => {
    function makeSignStr(...args{
      return args.join('\n') + '\n'
    }
    function makeSignMes(obj{
      return Object.keys(obj).map(key => `${key}="${obj[key]}"`).join()
    }
    let href = 'https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no'
    let url = new URL(`${href}/${event.outTradeNo}?mchid=${config.mchid}`)
    let timestamp = Math.floor(+new Date / 1000).toString()
    let nonceStr = Guid.raw().replace(/-/g'')
    // let nonceStr = '593BEC0C930BF1AFEB40B4A08C8FB242'
    let signStr = makeSignStr('GET', url.pathname + url.search, timestamp, nonceStr,"")
    let signature = rsa.sign(signStr, PRIMARY_KEY)
    let signMes = makeSignMes({
      mchid: config.mchid,
      "serial_no": config.serial_no,
      "nonce_str": nonceStr,
      timestamp,
      signature
    })
    const { data } = await axios.get(url.href, {
      headers: {
        "Accept"'application/json',
        // 'Content-Type': 'application/json',
        "Authorization"'WECHATPAY2-SHA256-RSA2048 '+ signMes
      }
    })
    console.log(data)
    return data
}
回答关注问题邀请回答
收藏

1 个回答

  • Memory (私信不回复)
    Memory (私信不回复)
    1天前

    404是订单不存在,检查一下给的订单号对不对

    1天前
    有用
    回复
登录 后发表内容