q-koa 9.3.4 → 9.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/core/app.js
CHANGED
|
@@ -1819,7 +1819,6 @@ APP.getAppByCtx = (ctx) => {
|
|
|
1819
1819
|
const appName = ctx.router.opts.prefix.substring(1)
|
|
1820
1820
|
|
|
1821
1821
|
let controller = ''
|
|
1822
|
-
let payName = appName
|
|
1823
1822
|
try {
|
|
1824
1823
|
const url = ctx.request.url
|
|
1825
1824
|
const _split = url.split('/')
|
|
@@ -1827,23 +1826,10 @@ APP.getAppByCtx = (ctx) => {
|
|
|
1827
1826
|
} catch (e) {
|
|
1828
1827
|
console.warn(e)
|
|
1829
1828
|
}
|
|
1830
|
-
try {
|
|
1831
|
-
const url = ctx.request.url
|
|
1832
|
-
const referer = ctx.request.header.referer
|
|
1833
|
-
if (!referer.includes(url)) {
|
|
1834
|
-
const arr = ctx.request.header.referer.split('/').reverse()
|
|
1835
|
-
if (arr.length >= 4) {
|
|
1836
|
-
payName = arr[2]
|
|
1837
|
-
}
|
|
1838
|
-
}
|
|
1839
|
-
} catch (e) {
|
|
1840
|
-
console.warn(e)
|
|
1841
|
-
}
|
|
1842
1829
|
const { [appName]: app } = ctx.app
|
|
1843
1830
|
return {
|
|
1844
1831
|
appName,
|
|
1845
1832
|
app,
|
|
1846
|
-
payName,
|
|
1847
1833
|
controller,
|
|
1848
1834
|
}
|
|
1849
1835
|
}
|
|
@@ -15,7 +15,7 @@ exports.h5_pay = async (ctx) => {
|
|
|
15
15
|
} = ctx.request.body
|
|
16
16
|
|
|
17
17
|
const appConfig = getConfig(app)
|
|
18
|
-
const { alipay_key, partner } = await appConfig.getObject('alipay')
|
|
18
|
+
const { alipay_key, key, partner } = await appConfig.getObject('alipay')
|
|
19
19
|
const { is_dev } = await appConfig.getObject('base')
|
|
20
20
|
|
|
21
21
|
const alipay = new Alipay({
|
|
@@ -25,8 +25,8 @@ exports.h5_pay = async (ctx) => {
|
|
|
25
25
|
out_trade_no: out_trade_no
|
|
26
26
|
? out_trade_no
|
|
27
27
|
: prefix
|
|
28
|
-
? `${
|
|
29
|
-
: `${
|
|
28
|
+
? `${key}_${prefix}-${order_id}_${type}`
|
|
29
|
+
: `${key}_${order_id}_${type}`,
|
|
30
30
|
total_fee: is_dev ? 0.01 : price,
|
|
31
31
|
notify_url: `https://api.kuashou.com/${appName}/alipay/notify`,
|
|
32
32
|
return_url,
|
|
@@ -765,7 +765,7 @@ exports.h5_pay = async (ctx) => {
|
|
|
765
765
|
}/${appName}/weixin/notify`
|
|
766
766
|
const result = await payObj.run({
|
|
767
767
|
body: name,
|
|
768
|
-
out_trade_no: `${
|
|
768
|
+
out_trade_no: `${key}_${order_id}_${type}`,
|
|
769
769
|
total_fee: is_admin || is_dev ? 1 : Math.round(price * 100),
|
|
770
770
|
notify_url,
|
|
771
771
|
scene_info: `{"h5_info": {"type":"Wap","wap_url": ${
|
|
@@ -782,7 +782,7 @@ exports.h5_pay = async (ctx) => {
|
|
|
782
782
|
}
|
|
783
783
|
|
|
784
784
|
exports.mp_pay = async (ctx) => {
|
|
785
|
-
const { app, appName
|
|
785
|
+
const { app, appName } = getAppByCtx(ctx)
|
|
786
786
|
const {
|
|
787
787
|
name,
|
|
788
788
|
order_id,
|
|
@@ -814,6 +814,7 @@ exports.mp_pay = async (ctx) => {
|
|
|
814
814
|
const appConfig = getConfig(app)
|
|
815
815
|
|
|
816
816
|
const { mchId, key, partner_key } = await appConfig.getObject(pay_config)
|
|
817
|
+
|
|
817
818
|
const { is_dev, site_host } = await appConfig.getObject('base')
|
|
818
819
|
// 公众号支付用 服务号 appid,其他用小程序 appid
|
|
819
820
|
const app_id =
|
|
@@ -843,12 +844,12 @@ exports.mp_pay = async (ctx) => {
|
|
|
843
844
|
const out_trade_no = _out_trade_no
|
|
844
845
|
? _out_trade_no
|
|
845
846
|
: prefix
|
|
846
|
-
? `${
|
|
847
|
-
: `${
|
|
847
|
+
? `${key}_${prefix}-${order_id}_${type}`
|
|
848
|
+
: `${key}_${order_id}_${type}`
|
|
848
849
|
|
|
849
850
|
const notify_url = `https://${
|
|
850
851
|
site_host || 'api.kuashou.com'
|
|
851
|
-
}/${
|
|
852
|
+
}/${appName}/weixin/notify`
|
|
852
853
|
const prePayResult = await pay({
|
|
853
854
|
openid: userDetail.openid,
|
|
854
855
|
body: name,
|
|
@@ -944,7 +945,7 @@ exports.mp_pay_new = async (ctx) => {
|
|
|
944
945
|
const appConfig = getConfig(app)
|
|
945
946
|
|
|
946
947
|
const { app_id, app_secrect } = await appConfig.getObject(config)
|
|
947
|
-
const { mchId } = await appConfig.getObject(pay_config)
|
|
948
|
+
const { mchId, key } = await appConfig.getObject(pay_config)
|
|
948
949
|
const { is_dev, site_host } = await appConfig.getObject('base')
|
|
949
950
|
|
|
950
951
|
const weixinMp = new WeixinMp({
|
|
@@ -958,8 +959,8 @@ exports.mp_pay_new = async (ctx) => {
|
|
|
958
959
|
const out_trade_no = _out_trade_no
|
|
959
960
|
? _out_trade_no
|
|
960
961
|
: prefix
|
|
961
|
-
? `${
|
|
962
|
-
: `${
|
|
962
|
+
? `${key}_${prefix}-${order_id}`
|
|
963
|
+
: `${key}_${order_id}`
|
|
963
964
|
|
|
964
965
|
const prePayResult = await weixinMp.createOrder({
|
|
965
966
|
openid: userDetail.openid,
|
|
@@ -1227,6 +1228,7 @@ exports.checkPay = async (ctx) => {
|
|
|
1227
1228
|
prefix,
|
|
1228
1229
|
config = 'weixin_mp',
|
|
1229
1230
|
pay_config = 'weixin_pay',
|
|
1231
|
+
out_trade_no: _out_trade_no,
|
|
1230
1232
|
} = ctx.request.body
|
|
1231
1233
|
|
|
1232
1234
|
const orderModel = prefix ? `${prefix}_order` : 'order'
|
|
@@ -1256,7 +1258,9 @@ exports.checkPay = async (ctx) => {
|
|
|
1256
1258
|
})
|
|
1257
1259
|
}
|
|
1258
1260
|
const orderPrefix = prefix ? `${prefix}-` : ''
|
|
1259
|
-
const out_trade_no =
|
|
1261
|
+
const out_trade_no = _out_trade_no
|
|
1262
|
+
? _out_trade_no
|
|
1263
|
+
: `${key}_${orderPrefix}${id}_MP-WEIXIN`
|
|
1260
1264
|
const payResult = await checkOrder({
|
|
1261
1265
|
out_trade_no,
|
|
1262
1266
|
})
|
|
@@ -1282,6 +1286,7 @@ exports.checkPayNew = async (ctx) => {
|
|
|
1282
1286
|
prefix,
|
|
1283
1287
|
config = 'weixin_mp',
|
|
1284
1288
|
pay_config = 'weixin_pay',
|
|
1289
|
+
out_trade_no: _out_trade_no,
|
|
1285
1290
|
} = ctx.request.body
|
|
1286
1291
|
|
|
1287
1292
|
const orderModel = prefix ? `${prefix}_order` : 'order'
|
|
@@ -1294,7 +1299,7 @@ exports.checkPayNew = async (ctx) => {
|
|
|
1294
1299
|
|
|
1295
1300
|
const appConfig = getConfig(app)
|
|
1296
1301
|
const { app_id, app_secrect } = await appConfig.getObject(config)
|
|
1297
|
-
const { mchId } = await appConfig.getObject(pay_config)
|
|
1302
|
+
const { mchId, key } = await appConfig.getObject(pay_config)
|
|
1298
1303
|
|
|
1299
1304
|
const weixinMp = new WeixinMp({
|
|
1300
1305
|
appid: app_id,
|
|
@@ -1303,7 +1308,9 @@ exports.checkPayNew = async (ctx) => {
|
|
|
1303
1308
|
weixinMp.init()
|
|
1304
1309
|
|
|
1305
1310
|
const orderPrefix = prefix ? `${prefix}-` : ''
|
|
1306
|
-
const out_trade_no =
|
|
1311
|
+
const out_trade_no = _out_trade_no
|
|
1312
|
+
? _out_trade_no
|
|
1313
|
+
: `${key}_${orderPrefix}${id}`
|
|
1307
1314
|
|
|
1308
1315
|
const payResult = await weixinMp.getOrder({
|
|
1309
1316
|
trade_no: out_trade_no,
|
|
@@ -15,6 +15,7 @@ exports.refund = async ({
|
|
|
15
15
|
type = '',
|
|
16
16
|
config = 'weixin_mp',
|
|
17
17
|
pay_config = 'weixin_pay',
|
|
18
|
+
out_trade_no: _out_trade_no,
|
|
18
19
|
...rest
|
|
19
20
|
}) => {
|
|
20
21
|
const { app, appName } = getAppByCtx(ctx)
|
|
@@ -36,9 +37,11 @@ exports.refund = async ({
|
|
|
36
37
|
), // 微信商户平台证书
|
|
37
38
|
})
|
|
38
39
|
const orderModel = prefix ? `${prefix}_order` : 'order'
|
|
39
|
-
const out_trade_no =
|
|
40
|
-
?
|
|
41
|
-
:
|
|
40
|
+
const out_trade_no = _out_trade_no
|
|
41
|
+
? _out_trade_no
|
|
42
|
+
: prefix
|
|
43
|
+
? `${key}_${prefix}-${id}_MP-WEIXIN`
|
|
44
|
+
: `${key}_${id}_MP-WEIXIN`
|
|
42
45
|
const orderDetail = await app.model[orderModel].findOne({
|
|
43
46
|
where: {
|
|
44
47
|
id,
|
|
@@ -77,13 +80,14 @@ exports.refund_new = async ({
|
|
|
77
80
|
type = '',
|
|
78
81
|
config = 'weixin_mp',
|
|
79
82
|
pay_config = 'weixin_pay',
|
|
83
|
+
out_trade_no: _out_trade_no,
|
|
80
84
|
...rest
|
|
81
85
|
}) => {
|
|
82
86
|
const { app, appName } = getAppByCtx(ctx)
|
|
83
87
|
const appConfig = getConfig(app)
|
|
84
88
|
|
|
85
89
|
const { app_id, app_secrect } = await appConfig.getObject(config)
|
|
86
|
-
const { mchId } = await appConfig.getObject(pay_config)
|
|
90
|
+
const { mchId, key } = await appConfig.getObject(pay_config)
|
|
87
91
|
|
|
88
92
|
const weixinMp = new WeixinMp({
|
|
89
93
|
appid: app_id,
|
|
@@ -92,9 +96,11 @@ exports.refund_new = async ({
|
|
|
92
96
|
weixinMp.init()
|
|
93
97
|
|
|
94
98
|
const orderModel = prefix ? `${prefix}_order` : 'order'
|
|
95
|
-
const out_trade_no =
|
|
96
|
-
?
|
|
97
|
-
:
|
|
99
|
+
const out_trade_no = _out_trade_no
|
|
100
|
+
? _out_trade_no
|
|
101
|
+
: prefix
|
|
102
|
+
? `${key}_${prefix}-${id}`
|
|
103
|
+
: `${key}_${id}`
|
|
98
104
|
|
|
99
105
|
const orderDetail = await app.model[orderModel].findOne({
|
|
100
106
|
where: {
|