Ai
1 Star 0 Fork 0

小马哥/php-pay

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
PayPlatform.php 2.00 KB
一键复制 编辑 原始数据 按行查看 历史
小马哥 提交于 2024-07-29 09:07 +08:00 . update
<?php
declare (strict_types=1);
namespace magein\pay;
use magein\pay\data\NoticeData;
use magein\pay\data\PayOrderData;
use magein\utils\Result;
abstract class PayPlatform
{
/**
* 平台标记名称
* @return string
*/
abstract public static function getPlatformName(): string;
/**
* 匹配配置文件
* @param $data
* @return array
*/
abstract public function matchConfig($data): array;
/**
* 统一下单
* @param PayOrderData $pay_order_data
* @return Result
*/
abstract public function unify(PayOrderData $pay_order_data): Result;
/**
* 根据支付订单编号从第三方支付平台查询订单支付结果
* @param $pay_no
* @return mixed
*/
abstract public function queryByPayNo($pay_no);
/**
* 规范各个平台的异步通知参数,转化为NotifyData
* @param $data
* @return NoticeData
*/
abstract public function notifyData($data): NoticeData;
/**
* 异步通知业务处理
* @param $data
* @return NoticeData
*/
abstract public function handleNotify($data): NoticeData;
/**
* 设置http请求参数
* @return void
*/
public function init()
{
}
public function doInit($data)
{
$config = $this->matchConfig($data);
return $this->init($config);
}
/**
* 获取异步通知地址
* @param $pay_no
* @return string
*/
public function getNotifyUrl($pay_no): string
{
$domain = PayConfig::domain();
return sprintf('%s/pay/notify/%s', $domain, $pay_no);
}
/**
* @param $pay_no
* @return string
*/
public function getSuccessUrl($pay_no): string
{
$domain = PayConfig::domain();
return sprintf('%s/pay/success/%s', $domain, $pay_no);
}
public function getQuiteUrl($pay_no): string
{
$domain = PayConfig::domain();
return sprintf('%s/pay/quite/%s', $domain, $pay_no);
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/magein/php-pay.git
git@gitee.com:magein/php-pay.git
magein
php-pay
php-pay
master

搜索帮助