Commit cabcf7b0 by 宋毅

tj

parent cd885517
...@@ -14,5 +14,10 @@ class AliPayment extends APIBase { ...@@ -14,5 +14,10 @@ class AliPayment extends APIBase {
var result = await this.utilsAlibankSve.getH5AliDingPayInfo(pobj, pobj.actionBody); var result = await this.utilsAlibankSve.getH5AliDingPayInfo(pobj, pobj.actionBody);
return result; return result;
} }
async test(pobj, qobj, req) {
var pobj = { appInfo: { uapp_id: 22 }, actionBody: { total_fee: 0.01, order_num: "111222", body_desc: "标题描述1" } };
var result = await this.utilsAlibankSve.getH5AliDingPayInfo(pobj, pobj.actionBody);
return result;
}
} }
module.exports = AliPayment; module.exports = AliPayment;
\ No newline at end of file
...@@ -39,12 +39,13 @@ class utilsTlBankSve extends AppServiceBase { ...@@ -39,12 +39,13 @@ class utilsTlBankSve extends AppServiceBase {
body: actionBody.body_desc, body: actionBody.body_desc,
sign_type: "RSA" sign_type: "RSA"
}; };
// var signStr = await this.getCreateAliSignStr(payParam, parameters); var signStr = await this.getCreateAliSignStr(payParam, parameters);
var signStr = await this.generateSign(pobj, parameters, payParam.privatekey, "RSA-SHA1"); // var signStr = await this.generateSign(pobj, parameters, payParam.privatekey, "RSA-SHA1");
parameters.sign = signStr; parameters.sign = encodeURIComponent(signStr);
return system.getResultSuccess(parameters); return system.getResultSuccess(parameters);
} }
async getCreateAliSignStr(payParam, parameters) { async getCreateAliSignStr(payParam, parameters) {
let userPrivateKey = payParam.privatekey; let userPrivateKey = payParam.privatekey;
const key = new NodeRSA(); const key = new NodeRSA();
...@@ -52,7 +53,9 @@ class utilsTlBankSve extends AppServiceBase { ...@@ -52,7 +53,9 @@ class utilsTlBankSve extends AppServiceBase {
key.importKey(userPrivateKey, 'pkcs8-private');//导入密钥并设定格式 key.importKey(userPrivateKey, 'pkcs8-private');//导入密钥并设定格式
const publicDer = key.exportKey('pkcs8-public'); const publicDer = key.exportKey('pkcs8-public');
let text = Object.keys(parameters).sort().map(key => { let text = Object.keys(parameters).sort().map(key => {
return `${encodeURIComponent(key)}=${encodeURIComponent(parameters[key])}` if (key != "sign_type" && key != "sign" && parameters[key]) {
return `${encodeURIComponent(key)}=${encodeURIComponent(parameters[key])}`
}
}).join('&'); }).join('&');
let buffer = Buffer.from(text); let buffer = Buffer.from(text);
let signature = key.sign(buffer).toString('base64'); let signature = key.sign(buffer).toString('base64');
...@@ -70,7 +73,7 @@ class utilsTlBankSve extends AppServiceBase { ...@@ -70,7 +73,7 @@ class utilsTlBankSve extends AppServiceBase {
* @returns {String} * @returns {String}
*/ */
async generateSign(pobj, dataObj, privateKey, algorith) { async generateSign(pobj, dataObj, privateKey, algorith) {
privateKey = "-----BEGIN RSA PRIVATE KEY-----" + privateKey + "-----END RSA PRIVATE KEY-----"; privateKey = "-----BEGIN RSA PRIVATE KEY-----\n" + privateKey + "\n-----END RSA PRIVATE KEY-----";
const stringToBeSign = Object.keys(dataObj).sort().reduce((acc, k) => { const stringToBeSign = Object.keys(dataObj).sort().reduce((acc, k) => {
if (k !== 'sign' && dataObj[k] !== undefined) { if (k !== 'sign' && dataObj[k] !== undefined) {
const v = `${dataObj[k]}`; const v = `${dataObj[k]}`;
......
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