diff --git a/src/main/message-parser.ts b/src/main/message-parser.ts
index 1c85fc0..ad36ddb 100644
--- a/src/main/message-parser.ts
+++ b/src/main/message-parser.ts
@@ -41,6 +41,10 @@ type TransferPaymentInfo = {
transferStatus?: string
/** `transfer_status` 展示文案(只读)。 */
transferStatusText?: string
+ transId?: string
+ feeType?: string
+ transferAttach?: string
+ refundBankType?: string
}
type RedPacketPaymentInfo = {
@@ -635,6 +639,10 @@ function parseWcpayInfo(content: string): TransferPaymentInfo & RedPacketPayment
payerUsername: val('payer_username'),
transferStatus,
transferStatusText: describeTransferStatus(transferStatus),
+ transId: val('trans_id'),
+ feeType: val('fee_type'),
+ transferAttach: val('transfer_attach'),
+ refundBankType: val('refund_bank_type'),
templateId: val('templateid'),
receiveTitle: val('receivertitle'),
sendTitle: val('sendertitle'),
diff --git a/src/shared/types.ts b/src/shared/types.ts
index 16000f2..bacd88e 100644
--- a/src/shared/types.ts
+++ b/src/shared/types.ts
@@ -116,6 +116,11 @@ export type TransferPaymentInfo = {
transferStatus?: string
/** `transfer_status` 展示文案(只读)。 */
transferStatusText?: string
+ /** `trans_id` / `fee_type` / `transfer_attach` / `refund_bank_type`(若消息带;只读透传)。 */
+ transId?: string
+ feeType?: string
+ transferAttach?: string
+ refundBankType?: string
}
/** 红包 `wcpayinfo` 字段(只读展示)。 */
diff --git a/tests/unit/message-parser.test.ts b/tests/unit/message-parser.test.ts
index abd3b29..8871fe7 100644
--- a/tests/unit/message-parser.test.ts
+++ b/tests/unit/message-parser.test.ts
@@ -227,6 +227,9 @@ describe('message parser', () => {
'',
'',
'2',
+ '',
+ '',
+ '',
''
].join('')
const parsed = parseMessageContent(xml, 49)
@@ -245,7 +248,10 @@ describe('message parser', () => {
payMemo: '房租',
receiverUsername: 'wxid_receiver',
transferStatus: '2',
- transferStatusText: '已收款'
+ transferStatusText: '已收款',
+ transId: 'trans-fixture-1',
+ feeType: 'CNY',
+ refundBankType: '1'
}
})
})