微信支付 nodejs服务 V3版本

npm i wechatpay-node-v3

import fs from 'fs' import WxPay from 'wechatpay-node-v3'

async startPay(_, { openid,name,total,amount,remark,product_id }) {
    const pay = new WxPay({
        appid: config.app.appid,
        mchid: config.wxpay.mchid,
        publicKey: fs.readFileSync('./apiclient_cert.pem'), // 公钥
        privateKey: fs.readFileSync('./apiclient_key.pem'), // 秘钥
    });
    // console.log(pay)

    // console.log(order_id)
    // let openid = 'xxxxx'; 可以自定义一个测试
    const params = {
        description: name, // 订单描述
        out_trade_no: order_id, // 订单号,一般每次发起支付都要不一样,可使用随机数生成
        notify_url: 'https://xxxxxxxx/notify_url',
        amount: {
            total: total, // 支付金额,单位为分
        },
        attach:`[{"amount":"${amount}"},{"remark":"${remark}" },{"product_id":"${product_id}"}]`,
        payer: {
            openid: openid, // 微信小程序用户的openid,一般需要前端发送过来
        },
        scene_info: {
            payer_client_ip: 'ip', // 支付者ip,这个不用写也没有问题
        },
    };
    // console.log(params)
    const result = await pay.transactions_jsapi(params);
    // console.log(result)
    // result值将数据返回给前端
	//appId: "XXXX"
  //nonceStr: "XXXX"
	//package: "prepay_id=wx240908316999518cea6XXXXX"
  //paySign:"XXXX"
	//signType: "RSA"
	//status: 200
	//timeStamp: "1679620087"
  return result
},
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章