61 lines
1.1 KiB
PHP
61 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace app\enum\Payment;
|
|
use app\enum\BaseEnum;
|
|
|
|
/**
|
|
* 支付状态常量
|
|
*/
|
|
enum Status: string
|
|
{
|
|
/**
|
|
* 等待支付
|
|
*/
|
|
case CREATED = 'created';
|
|
/**
|
|
* 成功
|
|
*/
|
|
case SUCCESS = 'success';
|
|
/**
|
|
* 完成
|
|
*/
|
|
case COMPLETE = 'complete';
|
|
/**
|
|
* 失败
|
|
*/
|
|
case FAIL = 'fail';
|
|
/**
|
|
* 退款
|
|
*/
|
|
case REFUNDED = 'refunded';
|
|
|
|
/**
|
|
* 获取所有状态映射数组
|
|
*/
|
|
public static function toArray(): array
|
|
{
|
|
return [
|
|
self::CREATED->value => __('等待支付'),
|
|
self::SUCCESS->value => __('成功'),
|
|
self::FAIL->value => __('失败'),
|
|
self::COMPLETE->value => __('完成'),
|
|
self::REFUNDED->value => __('退款'),
|
|
];
|
|
}
|
|
|
|
/**
|
|
* 获取当前状态的描述文本
|
|
*/
|
|
public function getDescription(): string
|
|
{
|
|
return self::toArray()[$this->value];
|
|
}
|
|
|
|
/**
|
|
* 安全地从值创建枚举实例
|
|
*/
|
|
public static function tryFromValue(int $value): ?self
|
|
{
|
|
return self::tryFrom($value);
|
|
}
|
|
} |