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' } }) })