nodejs调用微信支付接口统一下单时所需部分参数


其中,`generateNonceStr`函数用于生成指定长度的随机字符串,`generateSign`函数用于生成签名。在调用微信支付接口时,需要将生成的随机字符串作为参数传递给微信支付接口。

生成指定长度随机字符串,默认32位

function generateNonceStr(length = 32) {
    const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    const maxPos = chars.length;
    let nonceStr = '';
    for (let i = 0; i < length; i++) {
        nonceStr += chars.charAt(Math.floor(Math.random() * maxPos));
    }
    return nonceStr;
}


生成签名,调用微信支付接口时,需要将生成的随机字符串作为参数传递给微信支付接口

const crypto = require('crypto');
function generateSign(params, key) {
  const stringA = Object.keys(params).filter(key => params[key] !== undefined && params[key] !== '').sort().map(key => `${key}=${params[key]}`).join('&');
  const stringSignTemp = `${stringA}&key=${key}`;
  const sign = crypto.createHash('md5').update(stringSignTemp, 'utf8').digest('hex').toUpperCase();
  return sign;
}

177

声明:Web前端小站 - 前端博客 - 王搏的个人博客|版权所有,违者必究|如未注明,均为原创

转载:转载请注明原文链接 - nodejs调用微信支付接口统一下单时所需部分参数

评论
孙瑞杰生日