mirror of
https://gitee.com/technical-laohu/mpay_v2_webman.git
synced 2026-05-17 06:20:25 +08:00
feat: 完善支付通道和收款监听链路
新增 ChannelNotifyPayloadInterface 等支付插件通知契约,规范 pay_no 定位和插件返回校验。 新增微信、支付宝、收钱吧、Postar 个人收款插件适配,支持余额识别与备注识别。 新增 receipt-watcher 后端进程、Redis 队列 job 和平台事件监听,覆盖收款流水通知、商户通知、退款派发、转账派发与清算完成。 补齐个人收款监听相关系统配置、仓储、服务费冻结明细、订单后台操作和通道测试能力。 重构支付单创建、回调、费用、风控、结算和通道统计链路,统一状态流转与幂等处理。
This commit is contained in:
@@ -44,7 +44,6 @@ class MerchantAccountLedger extends BaseModel
|
||||
'frozen_after',
|
||||
'idempotency_key',
|
||||
'remark',
|
||||
'ext_json',
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -62,11 +61,9 @@ class MerchantAccountLedger extends BaseModel
|
||||
'available_after' => 'integer',
|
||||
'frozen_before' => 'integer',
|
||||
'frozen_after' => 'integer',
|
||||
'ext_json' => 'array',
|
||||
'created_at' => 'datetime',
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ use app\common\base\BaseModel;
|
||||
|
||||
/**
|
||||
* 商户对外接口凭证模型。
|
||||
* 保存商户 API 凭证、商户公钥、签名类型、启用状态和最近使用时间。
|
||||
* 保存商户 API 凭证、商户公钥、启用状态和最近使用时间。
|
||||
*/
|
||||
class MerchantApiCredential extends BaseModel
|
||||
{
|
||||
@@ -24,7 +24,6 @@ class MerchantApiCredential extends BaseModel
|
||||
*/
|
||||
protected $fillable = [
|
||||
'merchant_id',
|
||||
'sign_type',
|
||||
'api_key',
|
||||
'merchant_public_key',
|
||||
'status',
|
||||
@@ -47,7 +46,6 @@ class MerchantApiCredential extends BaseModel
|
||||
*/
|
||||
protected $casts = [
|
||||
'merchant_id' => 'integer',
|
||||
'sign_type' => 'integer',
|
||||
'status' => 'integer',
|
||||
'last_used_at' => 'datetime',
|
||||
'created_at' => 'datetime',
|
||||
|
||||
64
app/model/merchant/MerchantFundFreeze.php
Normal file
64
app/model/merchant/MerchantFundFreeze.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
namespace app\model\merchant;
|
||||
|
||||
use app\common\base\BaseModel;
|
||||
|
||||
/**
|
||||
* 商户资金冻结明细模型。
|
||||
*
|
||||
* 一条记录代表一笔冻结占用,可关联支付单,也可作为后续人工指定金额冻结的载体。
|
||||
*/
|
||||
class MerchantFundFreeze extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 数据表名
|
||||
*
|
||||
* @var mixed
|
||||
*/
|
||||
protected $table = 'ma_merchant_fund_freeze';
|
||||
|
||||
/**
|
||||
* 可批量赋值字段
|
||||
*
|
||||
* @var mixed
|
||||
*/
|
||||
protected $fillable = [
|
||||
'freeze_no',
|
||||
'merchant_id',
|
||||
'biz_no',
|
||||
'pay_no',
|
||||
'trace_no',
|
||||
'freeze_type',
|
||||
'freeze_amount',
|
||||
'remaining_amount',
|
||||
'status',
|
||||
'reason',
|
||||
'admin_id',
|
||||
'available_at',
|
||||
'frozen_at',
|
||||
'release_reason',
|
||||
'released_by',
|
||||
'released_at',
|
||||
];
|
||||
|
||||
/**
|
||||
* 字段类型转换配置
|
||||
*
|
||||
* @var mixed
|
||||
*/
|
||||
protected $casts = [
|
||||
'merchant_id' => 'integer',
|
||||
'freeze_type' => 'integer',
|
||||
'freeze_amount' => 'integer',
|
||||
'remaining_amount' => 'integer',
|
||||
'status' => 'integer',
|
||||
'admin_id' => 'integer',
|
||||
'available_at' => 'datetime',
|
||||
'frozen_at' => 'datetime',
|
||||
'released_by' => 'integer',
|
||||
'released_at' => 'datetime',
|
||||
'created_at' => 'datetime',
|
||||
'updated_at' => 'datetime',
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user