Commit a1b54499 by 宋毅

tj

parent 051e9b00
...@@ -10,6 +10,16 @@ const md5 = require("MD5"); ...@@ -10,6 +10,16 @@ const md5 = require("MD5");
class TlApi { class TlApi {
constructor() { constructor() {
this.tlorderSve = System.getObject("service.tlorderSve"); 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) { async getQrCodeInfo(obj) {
try { try {
......
...@@ -31,19 +31,32 @@ class utilsTlBankSve { ...@@ -31,19 +31,32 @@ class utilsTlBankSve {
//-------------------------------------------h5支付-----------------开始 //-------------------------------------------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 // 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 timestamp = Date.now();
var jsonObj = { var jsonObj = {
appid: "0017ww22t86ddd", appid: payParam.pay_appid,
cusid: "56059508873992Z6G", cusid: payParam.mch_id,
version: 12, version: 12,
trxamt: 1,//单位为分 trxamt: total_sum,//单位为分
reqsn: "990440148166000_004",//order_num + "_" + company_id.toString(), reqsn: order_no,//order_num + "_" + company_id.toString(),
charset: "UTF-8", charset: "UTF-8",
returl: "http://zhichan.gongsibao.com/", returl: returl,
notify_url: this.notifyUrl, notify_url: payParam.notifyUrl || this.notifyUrl,
body: "测试支付1", body: pay_title,
remark: "h5paypagesywdy",
randomstr: timestamp.toString()//随机字符串,不长于32位 randomstr: timestamp.toString()//随机字符串,不长于32位
} }
var param_result = await this.getReqBeforeParam(jsonObj, "1352105537612345789"); var param_result = await this.getReqBeforeParam(jsonObj, "1352105537612345789");
...@@ -54,7 +67,7 @@ class utilsTlBankSve { ...@@ -54,7 +67,7 @@ class utilsTlBankSve {
return `${encodeURIComponent(key)}=${encodeURIComponent(jsonObj[key])}` return `${encodeURIComponent(key)}=${encodeURIComponent(jsonObj[key])}`
}).join('&'); }).join('&');
return paramStr; return { code: 1, payUrl: "https://syb.allinpay.com/apiweb/h5unionpay/unionorder?" + paramStr };
} }
...@@ -77,12 +90,12 @@ class utilsTlBankSve { ...@@ -77,12 +90,12 @@ class utilsTlBankSve {
-230:请求参数信息为空 -230:请求参数信息为空
-250:请求组装签名参数信息为空 -250:请求组装签名参数信息为空
-280:请求结算接口返回失败 -280:请求结算接口返回失败
-310:返回值信息data为空 -310:返回值信息data为空
-230:返回值参数信息为空 -230:返回值参数信息为空
-250:返回值组装签名参数信息为空 -250:返回值组装签名参数信息为空
-280:返回值签名验证失败 -280:返回值签名验证失败
-400:请求接口请求返回值错误 -400:请求接口请求返回值错误
-410:请求结算接口返回空 -410:请求结算接口返回空
*/ */
...@@ -143,12 +156,12 @@ class utilsTlBankSve { ...@@ -143,12 +156,12 @@ class utilsTlBankSve {
-230:请求参数信息为空 -230:请求参数信息为空
-250:请求组装签名参数信息为空 -250:请求组装签名参数信息为空
-280:请求结算接口返回失败 -280:请求结算接口返回失败
-310:返回值信息data为空 -310:返回值信息data为空
-230:返回值参数信息为空 -230:返回值参数信息为空
-250:返回值组装签名参数信息为空 -250:返回值组装签名参数信息为空
-280:返回值签名验证失败 -280:返回值签名验证失败
-400:请求接口请求返回值错误 -400:请求接口请求返回值错误
-410:请求结算接口返回空 -410:请求结算接口返回空
*/ */
......
...@@ -28,48 +28,51 @@ module.exports = function (app) { ...@@ -28,48 +28,51 @@ module.exports = function (app) {
app.use("/api/tl/zxNotify", async function (req, res, next) { app.use("/api/tl/zxNotify", async function (req, res, next) {
var client_ip = System.get_client_ip(req); var client_ip = System.get_client_ip(req);
var result = await utilstlbankSve.receiveCallBackNotify(req.body, client_ip); if (req.body.remark && req.body.remark== "h5paypagesywdy"){
res.end(result); res.end("");
}); }
var result = await utilstlbankSve.receiveCallBackNotify(req.body, client_ip);
res.end(result);
});
app.get('/api/:qname/:method', function (req, res) { app.get('/api/:qname/:method', function (req, res) {
var classPath = req.params["qname"]; var classPath = req.params["qname"];
var methodName = req.params["method"]; var methodName = req.params["method"];
var params = []; var params = [];
console.log(classPath); console.log(classPath);
console.log(methodName); console.log(methodName);
console.log("req.query"); console.log("req.query");
console.log(req.query); console.log(req.query);
for (let k in req.query) { for (let k in req.query) {
params.push(req.query[k]); params.push(req.query[k]);
} }
console.log(params); console.log(params);
var p = null; var p = null;
var invokeObj = System.getObject("api." + classPath); var invokeObj = System.getObject("api." + classPath);
if (invokeObj[methodName]) { if (invokeObj[methodName]) {
p = invokeObj[methodName].apply(invokeObj, params); p = invokeObj[methodName].apply(invokeObj, params);
} }
p.then(r => { p.then(r => {
res.end(JSON.stringify(r)); res.end(JSON.stringify(r));
}) })
}); });
app.post('/api/:qname/:method', function (req, res) { app.post('/api/:qname/:method', function (req, res) {
var classPath = req.params["qname"]; var classPath = req.params["qname"];
var methodName = req.params["method"]; var methodName = req.params["method"];
var params = []; var params = [];
for (let k in req.query) { for (let k in req.query) {
params.push(req.query[k]); params.push(req.query[k]);
} }
params.push(req.body); params.push(req.body);
var p = null; var p = null;
var invokeObj = System.getObject("api." + classPath); var invokeObj = System.getObject("api." + classPath);
if (invokeObj[methodName]) { if (invokeObj[methodName]) {
p = invokeObj[methodName].apply(invokeObj, params); p = invokeObj[methodName].apply(invokeObj, params);
} }
p.then(r => { p.then(r => {
res.end(JSON.stringify(r)); res.end(JSON.stringify(r));
}).then(() => { }).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