// +---------------------------------------------------------------------- declare (strict_types = 1); namespace app\member\controller; use think\facade\Event; use think\Request; use ywxapp\controller\MemberBase; use app\member\validate\Payment as PaymentValidate; /** * 支付控制器 * * 设计原则:核心只负责「订单/流程编排 + 事件触发」,具体支付方式由【支付插件】实现, * 通过监听以下事件注入能力(插件在 info.php 的 events 中声明监听器即可): * * - PaymentMethods 收集可用支付方式。监听器返回 array,如: * [['code'=>'wechat','name'=>'微信支付','desc'=>'...','icon'=>'','sort'=>0], ...] * - PaymentCreate 生成支付参数。监听器接收 ['order'=>[...],'params'=>[...]], * 返回网关参数 array(按需返回 null 表示不匹配该方法),如: * ['type'=>'qrcode','qrcode_url'=>'weixin://...','expire'=>600] * ['type'=>'redirect','redirect_url'=>'https://...'] * ['type'=>'form','html'=>'