Draft
As a 系统管理员, I want 在PaymentMtService中集成微信支付退款功能, so that 用户取消已支付订单时能够自动调用微信支付SDK完成退款流程
packages/mini-payment-mt/src/services/payment.mt.service.ts:240-265packages/mini-payment-mt/src/services/payment.mt.service.ts:250-258packages/mini-payment-mt/src/services/payment.mt.service.ts:250-258packages/orders-module-mt/src/services/order.mt.service.ts:218-226packages/mini-payment-mt/src/services/payment.mt.service.ts:295-298packages/mini-payment-mt/src/entities/payment.mt.entity.ts:45-48packages/mini-payment-mt/src/entities/payment.mt.entity.ts:49-52packages/mini-payment-mt/src/entities/payment.mt.entity.ts:53-56packages/mini-payment-mt/src/entities/payment.mt.entity.ts:57-60packages/orders-module-mt/src/services/order.mt.service.ts:210-217packages/orders-module-mt/src/services/order.mt.service.ts:218-226packages/orders-module-mt/src/services/order.mt.service.ts:229-235packages/mini-payment-mt/tests/integration/payment-refund.integration.test.ts:30-60 (新文件)packages/mini-payment-mt/tests/integration/payment-refund.integration.test.ts:100-130PaymentMtEntity [Source: packages/mini-payment-mt/src/entities/payment.mt.entity.ts]
refundStatus: 退款状态refundTransactionId: 微信退款流水号refundAmount: 退款金额refundTime: 退款时间OrderRefundMt [Source: packages/orders-module-mt/src/entities/order-refund.mt.entity.ts]
orderNo: 订单号refundOrderNo: 退款订单号refundAmount: 退款金额state: 退款状态 (1-退款中, 2-退款成功, 3-退款失败)退款服务调用
PaymentMtService.refund()packages/orders-module-mt/src/services/order.mt.service.ts:210-217参数:
await paymentService.refund(
tenantId,
order.orderNo,
order.payAmount
)
返回结果:
{
refund_id: string; // 微信退款流水号
out_refund_no: string; // 商户退款订单号
}
PaymentMtService [Source: packages/mini-payment-mt/src/services/payment.mt.service.ts]
initializeWxPay(tenantId: number): 初始化微信支付SDKhandlePaymentCallback(): 处理支付回调refund(tenantId: number, orderNo: string, refundAmount: number): 退款方法handleRefundCallback(): 处理退款回调UserRefundsMtService [Source: packages/orders-module-mt/src/services/user-refunds.mt.service.ts]
getUserRefundsList(): 获取用户退款列表createUserRefund(): 创建退款记录packages/mini-payment-mt/src/services/payment.mt.service.ts:240-265 (添加refund方法)packages/mini-payment-mt/src/services/payment.mt.service.ts:250-258 (退款API同步返回)packages/mini-payment-mt/src/services/payment.mt.service.ts:295-298 (现有退款回调处理,可选)packages/mini-payment-mt/src/entities/payment.types.ts:1-42 (需要扩展退款相关类型)packages/mini-payment-mt/src/entities/payment.mt.entity.ts:45-60 (需要添加退款相关字段)packages/mini-payment-mt/tests/integration/payment-refund.integration.test.ts (需要创建)packages/orders-module-mt/src/services/order.mt.service.ts:210-235 (集成退款调用)packages/orders-module-mt/src/services/user-refunds.mt.service.ts:1-50 (创建退款记录)测试框架
tests 文件夹与源码并列退款测试场景
技术栈 [Source: architecture/tech-stack.md]
多租户要求
项目结构完全对齐,所有需要的包和模块都已存在:
packages/mini-payment-mt: 多租户支付模块packages/orders-module-mt: 多租户订单模块packages/core-module-mt: 多租户系统配置模块| Date | Version | Description | Author |
|---|---|---|---|
| 2025-11-21 | 1.0 | 初始故事草稿创建 | Bob (Scrum Master) |
This section is populated by the development agent during implementation
To be filled by dev agent
To be filled by dev agent
To be filled by dev agent
To be filled by dev agent
Results from QA Agent QA review of the completed story implementation