This commit is contained in:
wkj 2025-06-12 15:36:29 +08:00
parent d94e3a9525
commit eb4aefdc04
6 changed files with 18 additions and 10 deletions

View File

@ -65,6 +65,8 @@ export async function payNotify(context, body, payId, headers) {
action = 'succeedPaying';
updateData.paid = price;
if (extra) {
const meta = Object.assign({}, pay?.meta, extra?.meta);
extra.meta = meta;
Object.assign(updateData, extra);
}
break;
@ -153,6 +155,7 @@ export async function refreshPayState(pay, context) {
price: 1,
iState: 1,
externalId: 1,
meta: 1,
},
filter: {
id: pay.id,

View File

@ -207,6 +207,7 @@ export default class AliPay extends AliPayDebug {
// 电脑网站支付 下单不会返回trade_no, 等支付回调后再获取
data.externalId = '';
data.meta = {
...(pay.meta || {}),
htmlUrl: htmlUrl,
};
break;
@ -229,7 +230,6 @@ export default class AliPay extends AliPayDebug {
},
needEncrypt: this.needEncrypt,
});
console.log('query', result);
}
catch (e) {
// 在电脑网站下单时系统首先生成URL用户扫码后才会创建交易订单。若未完成扫码而查询订单提示'交易不存在'。
@ -277,7 +277,6 @@ export default class AliPay extends AliPayDebug {
},
needEncrypt: this.needEncrypt,
});
console.log('close', result);
this.analyzeResult(result);
}
catch (e) {
@ -325,7 +324,9 @@ export default class AliPay extends AliPayDebug {
assert(iState);
const extra = {
externalId: trade_no,
meta: omit(result, ['app_id', 'out_trade_no']),
meta: {
decodePayNotification: omit(result, ['app_id', 'out_trade_no'])
},
};
if (iState === 'paid') {
extra.successAt = dayJs(gmt_payment).valueOf();

View File

@ -59,7 +59,7 @@ export default class WechatPay extends WechatPayDebug {
const { id, price, pay } = refund;
const serverUrl = context.composeAccessPath();
const endpoint = this.refundNotifyUrl;
const refundNotifyUrl = `${serverUrl}/endpoint/${endpoint}/${id}`;
const refundNotifyUrl = `${serverUrl}/endpoint${endpoint.startsWith('/') ? endpoint : '/' + endpoint}/${refund.id}`;
const result = await this.wechatPay.createRefund({
out_trade_no: compressTo32(pay.id),
out_refund_no: compressTo32(id),
@ -116,7 +116,7 @@ export default class WechatPay extends WechatPayDebug {
const userId = context.getCurrentUserId();
const serverUrl = context.composeAccessPath();
const endpoint = this.payNotifyUrl;
const payNotifyUrl = `${serverUrl}/endpoint/${endpoint}/${pay.id}`;
const payNotifyUrl = `${serverUrl}/endpoint${endpoint.startsWith('/') ? endpoint : '/' + endpoint}/${pay.id}`;
switch (this.wpProduct.type) {
case 'native': {
const result = await this.wechatPay.prepayNative({

View File

@ -72,6 +72,8 @@ async function payNotify(context, body, payId, headers) {
action = 'succeedPaying';
updateData.paid = price;
if (extra) {
const meta = Object.assign({}, pay?.meta, extra?.meta);
extra.meta = meta;
Object.assign(updateData, extra);
}
break;
@ -160,6 +162,7 @@ async function refreshPayState(pay, context) {
price: 1,
iState: 1,
externalId: 1,
meta: 1,
},
filter: {
id: pay.id,

View File

@ -210,6 +210,7 @@ class AliPay extends AliPay_debug_1.default {
// 电脑网站支付 下单不会返回trade_no, 等支付回调后再获取
data.externalId = '';
data.meta = {
...(pay.meta || {}),
htmlUrl: htmlUrl,
};
break;
@ -232,7 +233,6 @@ class AliPay extends AliPay_debug_1.default {
},
needEncrypt: this.needEncrypt,
});
console.log('query', result);
}
catch (e) {
// 在电脑网站下单时系统首先生成URL用户扫码后才会创建交易订单。若未完成扫码而查询订单提示'交易不存在'。
@ -280,7 +280,6 @@ class AliPay extends AliPay_debug_1.default {
},
needEncrypt: this.needEncrypt,
});
console.log('close', result);
this.analyzeResult(result);
}
catch (e) {
@ -328,7 +327,9 @@ class AliPay extends AliPay_debug_1.default {
(0, assert_1.default)(iState);
const extra = {
externalId: trade_no,
meta: (0, lodash_1.omit)(result, ['app_id', 'out_trade_no']),
meta: {
decodePayNotification: (0, lodash_1.omit)(result, ['app_id', 'out_trade_no'])
},
};
if (iState === 'paid') {
extra.successAt = (0, dayjs_1.default)(gmt_payment).valueOf();

View File

@ -62,7 +62,7 @@ class WechatPay extends WechatPay_debug_1.default {
const { id, price, pay } = refund;
const serverUrl = context.composeAccessPath();
const endpoint = this.refundNotifyUrl;
const refundNotifyUrl = `${serverUrl}/endpoint/${endpoint}/${id}`;
const refundNotifyUrl = `${serverUrl}/endpoint${endpoint.startsWith('/') ? endpoint : '/' + endpoint}/${refund.id}`;
const result = await this.wechatPay.createRefund({
out_trade_no: (0, uuid_1.compressTo32)(pay.id),
out_refund_no: (0, uuid_1.compressTo32)(id),
@ -119,7 +119,7 @@ class WechatPay extends WechatPay_debug_1.default {
const userId = context.getCurrentUserId();
const serverUrl = context.composeAccessPath();
const endpoint = this.payNotifyUrl;
const payNotifyUrl = `${serverUrl}/endpoint/${endpoint}/${pay.id}`;
const payNotifyUrl = `${serverUrl}/endpoint${endpoint.startsWith('/') ? endpoint : '/' + endpoint}/${pay.id}`;
switch (this.wpProduct.type) {
case 'native': {
const result = await this.wechatPay.prepayNative({