微信支付 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
},
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章