Commit 072b0710 authored by 任国军's avatar 任国军

fix wechat callback

parent c2bf5daa
Pipeline #24504 passed with stage
in 4 seconds
...@@ -5,6 +5,7 @@ const crypto = require('crypto'); ...@@ -5,6 +5,7 @@ const crypto = require('crypto');
const fs = require('fs'); const fs = require('fs');
const request = require('request'); const request = require('request');
const xml2js = require('xml2js').parseString; const xml2js = require('xml2js').parseString;
const moment = require('moment');
class WechatController extends Controller { class WechatController extends Controller {
async test() { async test() {
...@@ -114,9 +115,10 @@ class WechatController extends Controller { ...@@ -114,9 +115,10 @@ class WechatController extends Controller {
}); });
if (!ctx.isEmpty(parseObj)) { if (!ctx.isEmpty(parseObj)) {
const xmlResp = await ctx.helper.xml2js(parseObj.params);
ctx.logger.info('wechat_pay_callback: ' + JSON.stringify(parseObj)); ctx.logger.info('wechat_pay_callback: ' + JSON.stringify(parseObj));
if (parseObj.xml.return_code === 'SUCCESS') { if (xmlResp.return_code[0] === 'SUCCESS') {
await ctx.classModel.V5.CourseUserOrder.update({ pay_result: JSON.stringify(parseObj) }, { where: { order_no: parseObj.xml.out_trade_no } }); await ctx.classModel.V5.CourseUserOrder.update({ pay_result: JSON.stringify(parseObj), status: 1, pay_time: moment().format('YYYY-MM-DD HH:mm:ss') }, { where: { order_no: xmlResp.out_trade_no[0] } });
} }
} }
......
...@@ -408,6 +408,7 @@ class UserService extends Service { ...@@ -408,6 +408,7 @@ class UserService extends Service {
const arr = [ `appId=${appId}`, `timeStamp=${timeStamp}`, `nonceStr=${response.nonce_str[0]}`, `package=prepay_id=${response.prepay_id[0]}`, 'signType=MD5' ]; const arr = [ `appId=${appId}`, `timeStamp=${timeStamp}`, `nonceStr=${response.nonce_str[0]}`, `package=prepay_id=${response.prepay_id[0]}`, 'signType=MD5' ];
const paySign = await this.service.course.v5.wechat.sign(arr); const paySign = await this.service.course.v5.wechat.sign(arr);
const ret = { const ret = {
appId, appId,
timeStamp, timeStamp,
......
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