buckaroo / laravel
Buckaroo支付网关的Laravel包装包
Requires
- php: >=8.0
- buckaroo/sdk: ^1.10.0
- illuminate/support: ^9.0|^10.0|^11.0
- laravel/framework: ^9.0|^10.0|^11.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.13
- graham-campbell/testbench: ^5.0
- laravel/pint: ^1.16
- phpunit/phpunit: ^9.5
- vlucas/phpdotenv: ^5.5
This package is auto-updated.
Last update: 2024-09-24 07:27:07 UTC
README
Laravel Buckaroo支付集成
目录
简介
欢迎使用 Laravel Buckaroo支付集成 包!此包将Buckaroo支付服务无缝集成到您的Laravel应用程序中,使您能够轻松处理支付、退款、捕获和授权取消。
此包设计为高度可定制,允许开发者根据其需求覆盖和扩展功能,使其灵活适应各种用例。
先决条件
在继续之前,请确保您具备以下要求
安装
按照以下步骤安装和设置Laravel Buckaroo支付集成包。
步骤1:安装包
使用Composer安装包
composer require buckaroo/laravel
步骤2:发布配置和资产
使用Artisan发布包的配置和资产
php artisan vendor:publish --provider="Buckaroo\Laravel\BuckarooServiceProvider"
此命令将在您的Laravel项目中创建配置、迁移和路由文件。
步骤3:运行迁移
执行迁移以设置所需的数据库表
php artisan migrate
步骤4:获取您的网站密钥和密钥
要集成Buckaroo,您需要您的 网站密钥 和 密钥。从您的Buckaroo账户获取这些信息
步骤5:配置环境变量
将以下环境变量添加到您的 .env
文件中
BPE_WEBSITE_KEY=your_website_key BPE_SECRET_KEY=your_secret_key BPE_MODE=test or live
- BPE_WEBSITE_KEY:将
your_website_key
替换为您的网站密钥。 - BPE_SECRET_KEY:将
your_secret_key
替换为您的密钥。 - BPE_MODE:设置为
test
用于测试或live
用于生产。
这些设置允许Buckaroo客户端在您的应用程序启动过程中自动初始化。
配置
此包提供各种配置选项,以适应不同的用例。
事务模型覆盖
默认情况下,此包使用 BuckarooTransaction
模型来处理事务。但是,如果您想使用自定义模型覆盖此模型,您可以在 config/buckaroo.php
中进行配置
'transaction_model' => YourCustomTransactionModel::class,
默认值是
'transaction_model' => Buckaroo\Laravel\Models\BuckarooTransaction::class,
这允许您保持对事务处理的控制,并根据需要扩展功能。
自定义路由
此包提供用于处理支付操作的预定义路由。如果您希望自定义这些路由,您可以在 config/buckaroo.php
中配置以下选项
'routes' => [ 'load' => env('BPE_LOAD_ROUTES', true), 'prefix' => env('BPE_ROUTE_PATH', 'buckaroo'), ],
load
:将其设置为false
以防止自动加载路由,如果您打算自行定义它们。prefix
:更改前缀以自定义路由路径(默认为buckaroo
)。
通过调整这些设置,您可以完全控制应用程序中的路由结构。
使用方法
初始化Buckaroo客户端
Buckaroo客户端可以使用.env
变量自动初始化,或在需要时手动初始化。
use Buckaroo\Laravel\Facades\Buckaroo; use Buckaroo\Transaction\Config\DefaultConfig; Buckaroo::api()->setBuckarooClient( new DefaultConfig( websiteKey: config('buckaroo.website_key'), secretKey: config('buckaroo.secret_key'), mode: config('buckaroo.mode'), returnURL: route('buckaroo.return'), pushURL: route('buckaroo.push'), ) );
开始支付事务
您可以使用PayService
和PaymentMethodFactory
来启动支付交易。
使用有效载荷数组
use Buckaroo\Laravel\Api\PayService; use Buckaroo\Laravel\Handlers\PaymentMethodFactory; $paymentSessionService = PayService::make( PaymentMethodFactory::make('noservice')->setPayload([ 'currency' => 'EUR', 'amountDebit' => 100, 'order' => '000-ORD', 'invoice' => '000-INV', 'description' => 'This is a description', 'continueOnIncomplete' => '1', 'servicesSelectableByClient' => 'ideal,bancontactmrcash', ]) );
使用设置方法
$paymentSessionService = PayService::make( PaymentMethodFactory::make('noservice') ->setCurrency('EUR') ->setAmountDebit(100) ->setOrder('000-ORD') ->setInvoice('000-INV') ->setDescription('This is a description') ->setContinueOnIncomplete('1') ->setServicesSelectableByClient('ideal,bancontactmrcash') );
直接使用Buckaroo包装器
您可以使用内置的包装器直接与Buckaroo API交互,以获得更大的控制力和灵活性。
use Buckaroo\Laravel\Facades\Buckaroo; $response = Buckaroo::api()->method('{SERVICE_CODE}')->{ACTION}([ 'currency' => 'EUR', 'amountDebit' => 100, 'order' => '000-ORD', 'invoice' => '000-INV', 'description' => 'This is a description', ]);
- 将
{SERVICE_CODE}
替换为支付方式/服务代码(例如,'ideal')。 - 将
{ACTION}
替换为所需的操作(例如,pay
、refund
等)。
理想支付示例
$response = Buckaroo::api()->method('ideal')->pay([ 'currency' => 'EUR', 'amountDebit' => 100, 'order' => '000-ORD', 'invoice' => '000-INV', 'description' => 'Payment for Order 000-ORD', ]);
其他服务
该软件包提供了具有类似逻辑的附加服务
- 退款服务
- 扣款服务
- 取消授权服务
这些服务遵循与PayService
相同的结构,并且可以类似地用于管理各种支付操作。
更多信息
- 完整文档:请访问我们的dev.buckaroo.nl文档。
贡献
我们欢迎贡献!请在向项目贡献时遵循我们的贡献指南。
版本控制
我们使用语义版本。
- 主要:需要谨慎处理的破坏性更改
- 次要:不影响向后兼容性的新功能
- 补丁:错误修复和较小改进
支持
有关支持,请通过以下方式联系
- 支持门户: 联系支持
- 电子邮件: support@buckaroo.nl
- 电话 +31 (0)30 711 50 50
许可证
Laravel Buckaroo Wrapper是开源软件,采用MIT许可。