微信支付封裝成npm 包
node-wxpay3
node-wxpay3
(支付文件v2)
普通商戶接入文件
前言
本模組整合了大部分微信支付、提現等模組的介面,採用async、await的方式呼叫,使用者不用在考慮引數加密傳送,祕鑰傳送方式、xml怎麼解析、json怎麼轉成xml等一系列麻煩事。
安裝
npm i node-wxpay3 --save
版本介紹
本版本是2.*.*
相對於舊版本1.*.*
做了大的變更,本外掛改用typescript重寫,合併了舊的介面方法。支援require
和 import
兩種方法匯入。
使用
const WxPay = require('node-wxpay3');
或者 import WxPay from 'node-wxpay3'
// https://api.mch.weixin.qq.com/pay/unifiedorder
const wxpay = new Wxpay({
appid: '',
mch_id: '',
key: '',
pfx: fs.readFileSync('./apiclient_cert.p12'),
});
const options = {
body: '測試',
out_trade_no: '23214234,
total_fee: 1,
spbill_create_ip: 'ip',
notify_url: 'https://域名/gateway/boboteacher/student/order/_payReturnss', //自己的介面
trade_type: 'MWEB',
scene_info: JSON.stringify({
h5_info: {
type: 'Wap',
wap_url: 'https://域名',
wap_name: 'bobo',
},
}),
redirect_url: 'https://域名/webpage/api/index.html#/', // 支付成功 返回頁面 h5支付需要
};
const result = await wxpay.unifiedorder(options);
其他介面和微信文件路徑同名 同上一樣使用
額外增加的介面:
- md5 引數object
wxpay.md5({
body: '測試',
out_trade_no: '23214234,
})
- hmac 引數object 使用同上
- xmltojson 引數string xml 轉json 暴露給外部呼叫 使用同上
- callback_check 支付回撥驗證 引數object 返回boolean koa
// 微信返回的資料是text/xml的資料流格式
// 接收資料流並且處理
ctx.req.setEncoding('utf8');
ctx.req.on('data', function(chunk) {
data += chunk;
});
// getxml 就是xml形式的資料
const getxml = await new Promise(function(resolve) {
ctx.req.on('end', function() {
resolve(data);
});
});
// 呼叫wxpay.xmltojson(getxml) 獲得的引數就是data
let data = wxpay.xmltojson(getxml)
let result = wxpay.callback_check(data)
====》 result = true 則校驗成功
ctx.type = 'application/xml';
ctx.body =
`<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
</xml>`;
return; d
- publicEncrypt 公鑰加密
wxpay.publicEncrypt(publicKey, data)
其他
如果使用的是1.*.*
請看文件
相關文章
- iOS微信支付接入以及工具類封裝iOS封裝
- Android 微信支付 微信是否安裝判斷Android
- 微信發支付寶紅包(花唄)
- 微信小程式元件封裝微信小程式元件封裝
- 微信支付,支付寶支付
- 微信支付:《2024國慶微信假期資料包告》微信支付的消費總筆數實現20%增長
- 支付寶、微信支付(.NET)
- (乾貨)微信小程式元件封裝微信小程式元件封裝
- 微信小程式 request請求封裝微信小程式封裝
- 關於微信支付,支付寶支付
- 微信JSAPI支付JSAPI
- 微信App支付APP
- 支付寶微信合單支付
- npm 包安裝位置NPM
- 微信小程式 wx.request 的封裝微信小程式封裝
- 仿微信評論控制元件封裝控制元件封裝
- 微信小程式request請求的封裝微信小程式封裝
- nodejs微信支付之掃碼支付NodeJS
- 微信、支付寶支付那點事
- PHP-Laravel支付寶支付和微信支付PHPLaravel
- 微信開發超市全反系統,微信支付刷卡支付,微信介面簡單配置!
- npm如何更新安裝包?NPM
- 微信支付團隊釋出“微信青蛙pro” 支援刷臉支付功能
- 微信小程式之支付微信小程式
- PHP微信支付開發PHP
- 微信jsapi支付 退款介面JSAPI
- uni-app 微信支付APP
- mui 判斷手機客戶端是否安裝微信或支付寶或淘寶等,mui 獲取微信、支付寶支付通道UI客戶端
- 微信開發之微信域名防封介面
- 微信小程式wx.request的簡單封裝微信小程式封裝
- 微信小程式 BLE 基礎業務介面封裝微信小程式封裝
- 微信小程式API互動的自定義封裝微信小程式API封裝
- NPM 安裝包遇到的坑!NPM
- 關於支付寶以及微信支付的整合
- Laravel 搞定支付寶和微信掃碼支付Laravel
- JAVA版微信支付V3—JSAPI支付JavaJSAPI
- 一個PHP檔案搞定微信支付系列之現金紅包PHP
- android微信分享、微信支付的一些坑Android