32 lines
740 B
PHP
32 lines
740 B
PHP
<?php
|
|
|
|
namespace app\common\service\pay;
|
|
|
|
use app\common\enum\PayEnum;
|
|
|
|
/**
|
|
* 支付
|
|
* Class PayTool
|
|
* @package app\common\service\pay
|
|
*/
|
|
abstract class PayTool
|
|
{
|
|
|
|
/**
|
|
* @param int $type
|
|
* @param $params
|
|
* @return BalancePay|CashPay|PurchaseFundPay|WeChatPay
|
|
*/
|
|
public static function getInstance(int $type, $params = [])
|
|
{
|
|
return match ($type) {
|
|
PayEnum::WECHAT_PAY, PayEnum::WECHAT_PAY_BARCODE, PayEnum::WECHAT_PAY_MINI => new WeChatPay($params),
|
|
PayEnum::BALANCE_PAY => new BalancePay($params),
|
|
PayEnum::PURCHASE_FUNDS => new PurchaseFundPay($params),
|
|
default => new CashPay(),
|
|
};
|
|
}
|
|
|
|
abstract function refund($amount, $order);
|
|
|
|
} |