代码拉取完成,页面将自动刷新
<?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);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。