Commit a1b54499 by 宋毅

tj

parent 051e9b00
......@@ -10,6 +10,16 @@ const md5 = require("MD5");
class TlApi {
constructor() {
this.tlorderSve = System.getObject("service.tlorderSve");
this.utilstlbankSve = System.getObject("service.utilstlbankSve");
}
async getH5PayUrl(pobj) {
try {
var result = await this.utilstlbankSve.getH5Url(pobj.company_id,pobj.pay_title,pobj.total_sum,pobj.order_no,pobj.returl);
console.log(result, "result..................");
return result;
} catch (e) {
console.log(e.stack, "e.......................");
}
}
async getQrCodeInfo(obj) {
try {
......
......@@ -31,19 +31,32 @@ class utilsTlBankSve {
//-------------------------------------------h5支付-----------------开始
async getH5Url() {
/**
* 唤起H5支付---只供简单应用
* @param {*} company_id 公司ID
* @param {*} pay_title 支付显示标题
* @param {*} total_sum 支付金额
* @param {*} order_no 订单号
* @param {*} returl 支付成功后返回的url
*/
async getH5Url(company_id, pay_title, total_sum, order_no, returl) {
// appid:00000003,商户号(mch_id):990440148166000,md5key(pay_key):a0ea3fa20dbd7bb4d5abf1d59d63bae8
var payParam = await this.companypayparamDao.getOneByCompanyId(company_id, 1);
if (!payParam) {
return { code: -210, msg: "公司没有对应的支付凭证" }
}
var timestamp = Date.now();
var jsonObj = {
appid: "0017ww22t86ddd",
cusid: "56059508873992Z6G",
appid: payParam.pay_appid,
cusid: payParam.mch_id,
version: 12,
trxamt: 1,//单位为分
reqsn: "990440148166000_004",//order_num + "_" + company_id.toString(),
trxamt: total_sum,//单位为分
reqsn: order_no,//order_num + "_" + company_id.toString(),
charset: "UTF-8",
returl: "http://zhichan.gongsibao.com/",
notify_url: this.notifyUrl,
body: "测试支付1",
returl: returl,
notify_url: payParam.notifyUrl || this.notifyUrl,
body: pay_title,
remark: "h5paypagesywdy",
randomstr: timestamp.toString()//随机字符串,不长于32位
}
var param_result = await this.getReqBeforeParam(jsonObj, "1352105537612345789");
......@@ -54,7 +67,7 @@ class utilsTlBankSve {
return `${encodeURIComponent(key)}=${encodeURIComponent(jsonObj[key])}`
}).join('&');
return paramStr;
return { code: 1, payUrl: "https://syb.allinpay.com/apiweb/h5unionpay/unionorder?" + paramStr };
}
......@@ -77,12 +90,12 @@ class utilsTlBankSve {
-230:请求参数信息为空
-250:请求组装签名参数信息为空
-280:请求结算接口返回失败
-310:返回值信息data为空
-230:返回值参数信息为空
-250:返回值组装签名参数信息为空
-280:返回值签名验证失败
-400:请求接口请求返回值错误
-410:请求结算接口返回空
*/
......@@ -143,12 +156,12 @@ class utilsTlBankSve {
-230:请求参数信息为空
-250:请求组装签名参数信息为空
-280:请求结算接口返回失败
-310:返回值信息data为空
-230:返回值参数信息为空
-250:返回值组装签名参数信息为空
-280:返回值签名验证失败
-400:请求接口请求返回值错误
-410:请求结算接口返回空
*/
......
......@@ -28,48 +28,51 @@ module.exports = function (app) {
app.use("/api/tl/zxNotify", async function (req, res, next) {
var client_ip = System.get_client_ip(req);
var result = await utilstlbankSve.receiveCallBackNotify(req.body, client_ip);
res.end(result);
});
if (req.body.remark && req.body.remark== "h5paypagesywdy"){
res.end("");
}
var result = await utilstlbankSve.receiveCallBackNotify(req.body, client_ip);
res.end(result);
});
app.get('/api/:qname/:method', function (req, res) {
var classPath = req.params["qname"];
var methodName = req.params["method"];
var params = [];
console.log(classPath);
console.log(methodName);
console.log("req.query");
console.log(req.query);
for (let k in req.query) {
params.push(req.query[k]);
}
console.log(params);
var p = null;
var invokeObj = System.getObject("api." + classPath);
if (invokeObj[methodName]) {
p = invokeObj[methodName].apply(invokeObj, params);
}
p.then(r => {
res.end(JSON.stringify(r));
})
});
app.post('/api/:qname/:method', function (req, res) {
var classPath = req.params["qname"];
var methodName = req.params["method"];
var params = [];
for (let k in req.query) {
params.push(req.query[k]);
}
params.push(req.body);
var p = null;
var invokeObj = System.getObject("api." + classPath);
if (invokeObj[methodName]) {
p = invokeObj[methodName].apply(invokeObj, params);
}
p.then(r => {
res.end(JSON.stringify(r));
}).then(() => {
app.get('/api/:qname/:method', function (req, res) {
var classPath = req.params["qname"];
var methodName = req.params["method"];
var params = [];
console.log(classPath);
console.log(methodName);
console.log("req.query");
console.log(req.query);
for (let k in req.query) {
params.push(req.query[k]);
}
console.log(params);
var p = null;
var invokeObj = System.getObject("api." + classPath);
if (invokeObj[methodName]) {
p = invokeObj[methodName].apply(invokeObj, params);
}
p.then(r => {
res.end(JSON.stringify(r));
})
});
app.post('/api/:qname/:method', function (req, res) {
var classPath = req.params["qname"];
var methodName = req.params["method"];
var params = [];
for (let k in req.query) {
params.push(req.query[k]);
}
params.push(req.body);
var p = null;
var invokeObj = System.getObject("api." + classPath);
if (invokeObj[methodName]) {
p = invokeObj[methodName].apply(invokeObj, params);
}
p.then(r => {
res.end(JSON.stringify(r));
}).then(() => {
});
});
});
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment