Ready for Review
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
packages/mini-payment-mt/src/services/payment.mt.service.ts:430-573packages/orders-module-mt/src/services/order.mt.service.ts:210-231packages/orders-module-mt/src/services/order.mt.service.ts:288-309新增文件:
packages/mini-payment-mt/tests/integration/payment-refund.integration.test.ts - 退款集成测试修改文件:
packages/mini-payment-mt/src/entities/payment.mt.entity.ts - 添加退款相关字段packages/mini-payment-mt/src/entities/payment.types.ts - 扩展退款相关类型定义packages/mini-payment-mt/src/services/payment.mt.service.ts - 实现退款方法和回调处理packages/orders-module-mt/src/services/order.mt.service.ts - 集成退款功能到订单取消流程packages/orders-module-mt/package.json - 添加支付模块依赖Results from QA Agent QA review of the completed story implementation