mex3890/pim

维护者

详细信息

github.com/mex3890/pim

源代码

问题

安装: 3

依赖: 0

建议者: 0

安全: 0

星星: 0

关注者: 1

分支: 0

公开问题: 0

语言:Dockerfile

1.0.2 2024-04-20 03:01 UTC

README

支付集成管理器

第一步

发布配置

php artisan vendor:p --tag=pim

禁用支付操作

您可能需要全局禁用动作键,如 card.create 或特定的支付服务动作,PIM 允许您处理两种场景,首先全局禁用支付动作,只需在配置 pim.php 中添加动作键,如下所示

> //pim.php

return [
    'disabled_actions' => [
        'pix' => [
            'create',
            'delete',
        ],   
    ],
];

现在要禁用来自支付服务的特定操作,您需要扩展并创建我们新的 ServiceMap 来列出我们的操作,并要读取此 ServiceMap,您需要扩展并创建新的 PaymentProvider 来使用我们的自定义 ServiceMap 以及所需的操作。

<?php

use App\CustomPayment\PaymentServices\PixService\Actions\CreateAction;
use App\CustomPayment\PaymentServices\PixService\Actions\DestroyAction;
use Pim\ServiceMap;

class PixServiceMap extends ServiceMap
{
    public static function actionPrefix(): string
    {
        return 'pix';
    }

    public static function actions(): array
    {
        return [
            CreateAction::ACTION_KEY,
            DestroyAction::ACTION_KEY,
        ];
    }
}
<?php

use App\CustomPayment\PaymentServices\PixService;
use App\CustomPayment\PaymentServices\PixService\PixServiceMap;
use Pim\DataTransferObjects\ConfigFile;
use Pim\PaymentProvider;

class CustomPaymentProvider extends PaymentProvider
{
    public static function actionMaps(): array
    {
        return [
            PixServiceMap::class,
        ];
    }
}

PaymentProvider 中,您可以重写并添加我们的自定义 PaymentServices,如下所示

<?php

use App\CustomPayment\PaymentServices\PixService;
use App\CustomPayment\PaymentServices\PixService\PixServiceMap;
use Pim\DataTransferObjects\ConfigFile;
use Pim\PaymentProvider;

class CustomPaymentProvider extends PaymentProvider
{
    public static function paymentServices(): array
    {
        return [
            PixService::class,
        ];
    }
}

要禁用 PaymentService,您可以在配置 pim.php 中添加需要禁用的服务键,如下所示

> //pim.php

return [
    'disabled_services' => [
        'pix',
    ],
];