feat: 完善支付通道和收款监听链路

新增 ChannelNotifyPayloadInterface 等支付插件通知契约,规范 pay_no 定位和插件返回校验。

新增微信、支付宝、收钱吧、Postar 个人收款插件适配,支持余额识别与备注识别。

新增 receipt-watcher 后端进程、Redis 队列 job 和平台事件监听,覆盖收款流水通知、商户通知、退款派发、转账派发与清算完成。

补齐个人收款监听相关系统配置、仓储、服务费冻结明细、订单后台操作和通道测试能力。

重构支付单创建、回调、费用、风控、结算和通道统计链路,统一状态流转与幂等处理。
This commit is contained in:
技术老胡
2026-05-11 16:28:48 +08:00
parent 0e5de50337
commit fd1f53f2ee
136 changed files with 14416 additions and 3992 deletions

View File

@@ -6,7 +6,7 @@ use app\common\base\BaseModel;
/**
* 支付单模型。
* 表示一次具体支付尝试,包含通道、状态、手续费快照和回调状态。
* 表示一次具体支付尝试,包含通道、状态、平台服务费快照和回调状态。
*/
class PayOrder extends BaseModel
{
@@ -40,12 +40,10 @@ class PayOrder extends BaseModel
'return_url',
'client_ip',
'device',
'fee_rate_bp_snapshot',
'split_rate_bp_snapshot',
'fee_estimated_amount',
'fee_actual_amount',
'service_fee_amount',
'status',
'fee_status',
'service_fee_status',
'settlement_status',
'channel_request_no',
'channel_order_no',
@@ -82,12 +80,10 @@ class PayOrder extends BaseModel
'return_url' => 'string',
'client_ip' => 'string',
'device' => 'string',
'fee_rate_bp_snapshot' => 'integer',
'split_rate_bp_snapshot' => 'integer',
'fee_estimated_amount' => 'integer',
'fee_actual_amount' => 'integer',
'service_fee_amount' => 'integer',
'status' => 'integer',
'fee_status' => 'integer',
'service_fee_status' => 'integer',
'settlement_status' => 'integer',
'request_at' => 'datetime',
'paid_at' => 'datetime',
@@ -102,5 +98,3 @@ class PayOrder extends BaseModel
'updated_at' => 'datetime',
];
}

View File

@@ -6,7 +6,7 @@ use app\common\base\BaseModel;
/**
* 退款单模型。
* 当前按整单全额退款设计,因此同一支付单只允许一张退款
* 支持同一支付单按商户退款号发起多笔部分退款。
*/
class RefundOrder extends BaseModel
{
@@ -71,4 +71,3 @@ class RefundOrder extends BaseModel