活动:微信支付

This commit is contained in:
qiaoxin
2021-05-12 17:57:38 +08:00
parent 7e93c2e6a3
commit 2fc5017af8
11 changed files with 915 additions and 52 deletions
+94
View File
@@ -0,0 +1,94 @@
import tenpay = require('tenpay');
import path = require('path');
/*
包名:com.bantu.sgzzyz
APPID:wx1d3cd5cd2f065358
AppSecret:ebf099c41da57edf8693b5bb234d9b31
商户号:1272966801
APISECRET:ABCabc328BantuPKU726BANTUMPRCghb
*/
const config = {
appid: 'wx1d3cd5cd2f065358',
mchid: '1272966801',
partnerKey: 'ABCabc328BantuPKU726BANTUMPRCghb',
pfx: require('fs').readFileSync(path.resolve(__dirname, '../../../../../key/weixinpay/apiclient_cert.p12')),
notify_url: "https://" + "10.29.176.166" + "/order/weixinpaycallback",//支付回调网址
spbill_create_ip: '127.0.0.1'
};
// 方式一
const api = new tenpay(config);
// 调试模式
// const api = new tenpay(config, true);
// 沙盒模式(用于微信支付验收)
// const sandboxAPI = await tenpay.sandbox(config);
/**
* 微信下单
*
* @param {number} price 价格订单金额(分)
* @param {string} message 商品信息
* @param {string} localOrderID 本地订单号
*
*/
export async function applyOrderWX(localOrderID: string, price: number, message: string) {
let data = {
out_trade_no: localOrderID,
body: message,//'商品简单描述',
total_fee: price,//'订单金额(分)',
}
console.log('applyOrderWX :', data)
let result = await api.getAppParams(data)
// { appid: 'wx1d3cd5cd2f065358',
// partnerid: '1272966801',
// prepayid: 'wx12171213153829021f7cfe9413f0a20000',//微信订单号
// package: 'Sign=WXPay',
// noncestr: 'OohMyaHNK0iP77uh',
// timestamp: '1620810734',
// sign: '7A1B41C577E78602344D03DE4A2F7B0A' }
console.log('applyOrderWX result: ', result)
if (result.appid == config.appid && result.partnerid == config.mchid) {
return { code: 1, data: result };
}
return { code: 0, data: JSON.stringify(result) };
}
/**
* 微信查询支付结果
*
* @param {number} serverId 区Id
* @param {string} roleId 角色Id
* @param {string} localOrderID 本地订单号
*
*/
export async function checkOrderWX(localOrderID: string) {
let data = {
out_trade_no: localOrderID,
}
console.log('checkOrderWX :', data)
let result = await api.orderQuery(data)
// { return_code: 'SUCCESS',
// return_msg: 'OK',
// result_code: 'SUCCESS',
// mch_id: '1272966801',
// appid: 'wx1d3cd5cd2f065358',
// device_info: '',
// trade_state: 'NOTPAY',
// total_fee: '6',
// out_trade_no: 'nMeyvwjJSmNXPmfGcr6kzalTR3jlp7jW',
// trade_state_desc: '订单未支付',
// nonce_str: 'aJevQOtSDgvNDbtQ',
// sign: '955CE5F8AA2F046DA66E0A5DA56B338A' }
console.log('checkOrderWX result: ', result)
if (result.appid == config.appid && result.mch_id == config.mchid) {
return { code: 1, data: result };
}
return { code: 0, data: JSON.stringify(result) };
}