Files
kiri-wchat/common/PayConfig.php
T

54 lines
1.1 KiB
PHP
Raw Normal View History

2023-11-13 23:36:03 +08:00
<?php
namespace wchat\common;
2023-11-13 23:52:41 +08:00
use wchat\common\libs\Aliyun;
use wchat\common\libs\Qq;
use wchat\common\libs\Wx;
2023-11-13 23:36:03 +08:00
class PayConfig
{
/**
2023-11-13 23:52:41 +08:00
* @var Qq
2023-11-13 23:36:03 +08:00
*/
2023-11-13 23:52:41 +08:00
public Qq $qq;
2023-11-13 23:36:03 +08:00
/**
2023-11-13 23:52:41 +08:00
* @var Wx
2023-11-13 23:36:03 +08:00
*/
2023-11-13 23:52:41 +08:00
public Wx $wx;
2023-11-13 23:36:03 +08:00
/**
2023-11-13 23:52:41 +08:00
* @var Aliyun
2023-11-13 23:36:03 +08:00
*/
2023-11-13 23:52:41 +08:00
public Aliyun $ali;
2023-11-13 23:36:03 +08:00
/**
* @param string|array $pay
2023-11-14 09:28:25 +08:00
* @param PayConfig|null $model
2023-11-13 23:36:03 +08:00
* @return static
*/
2023-11-14 09:28:25 +08:00
public static function parse(string|array $pay, ?PayConfig $model = null): static
2023-11-13 23:36:03 +08:00
{
if (is_string($pay)) {
$pay = json_decode($pay, true);
}
2023-11-14 09:28:25 +08:00
if ($model === null) {
$model = new static();
$model->ali = \Kiri::configure(new Aliyun(), $pay['ali']);
$model->qq = \Kiri::configure(new Qq(), $pay['qq']);
$model->wx = \Kiri::configure(new Wx(), $pay['wx']);
} else {
$model->ali = \Kiri::configure($model->ali, $pay['ali']);
$model->qq = \Kiri::configure($model->qq, $pay['qq']);
$model->wx = \Kiri::configure($model->wx, $pay['wx']);
}
2023-11-13 23:36:03 +08:00
return $model;
}
}