devpark / laravel-przelewy24
Laravel przelewy24.pl 集成
Requires
- php: >=7.1.0
- ext-json: *
- guzzlehttp/guzzle: >=6.3
- laravel/framework: >=5.0
- ramsey/uuid: ^3 || ^4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.1
- mockery/mockery: ^0.9.6
- phpunit/phpunit: ^5.6
This package is not auto-updated.
Last update: 2024-09-24 08:01:19 UTC
README
此模块使与 przelewy24.pl 支付系统的集成变得更加容易。它支持使用 przelewy24.pl 系统进行支付。
新版本 3.0 发布
包支持最新的 Przelewy24 REST API 版本。
旧的支付提供商 API 版本将在 2021 年底之前到期。
我们建议立即升级包版本。
安装
-
在控制台运行以下命令来安装此模块
composer require devpark/laravel-przelewy24
-
打开
config/app.php
并添加Laravel 5.5+ 使用包自动发现,因此不需要手动添加 ServiceProvider。您可以直接进入第 3 步。
Devpark\Transfers24\Providers\Transfers24ServiceProvider::class
在
providers
部分 -
在控制台运行以下命令来安装此模块
php artisan vendor:publish --provider="Devpark\Transfers24\Providers\Transfers24ServiceProvider"
在您的控制台发布默认配置文件
transfers24.php
到config
目录在升级包后添加标志
force
以更改配置这些都是所有配置设置。一些设置可以通过环境设置进行更改,请参阅以下内容。
-
打开
.env
并添加您的配置
-
PRZELEWY24_MERCHANT_ID
- 与 Przelewy24 签订合同的公司或个人编号(商家 ID), -
PRZELEWY24_POS_ID
- 商店的识别号(默认:商家 ID) -
PRZELEWY24_CRC
- 用于计算 CRC 值的随机字符串,在 Przelewy24 管理面板中显示。 -
PRZELEWY24_REPORT_KEY
- 用于计算报告密钥值的报告密钥,在 Przelewy24 管理面板中显示。 -
PRZELEWY24_TEST_SERVER
- 如果为 true,则设置测试环境 -
PRZELEWY24_URL_RETURN
- 返回地址,交易完成后客户将被重定向到(默认 'transfers24/callback')。 -
PRZELEWY24_URL_STATUS
- (POST 路由)发送交易状态的地址。如果存储在 P24 系统中,则可以省略(默认 'transfers24/status')。
用法
为了使用此系统,您需要做一些事情
-
您需要启动注册请求以初始化支付
-
您需要处理客户返回的路线到您的应用。默认情况下,有路线 'transfers24/callback'
-
您应该确保交易验证。在这里,您应在收到支付系统关于正确交易的通知后发送支付验证请求。您需要处理返回路线到支付系统自动发送的交易状态。默认情况下,有路线 'transfers24/status'
注册请求
这是您需要启动以初始化支付的主要请求。
授权请求的最基本示例代码可能看起来像这样
$payment = app()->make(\App\Payment::class); $registration_request = app()->make(\Devpark\Transfers24\Requests\Transfers24::class); $register_payment = $registration_request->setEmail('test@example.com')->setAmount(100)->init(); if($register_payment->isSuccess()) { // save registration parameters in payment object return $registration_request->execute($register_payment->getToken(), true); }
此代码应在控制器中运行,因为它返回响应,该响应将包含一些内容。
-
注册支付状态
-
如果注册成功,则返回令牌
-
支付系统返回的错误代码
-
支付系统返回的错误消息
-
发送到支付系统的请求参数
对于 setAmount
,默认货币是 PLN。如果您想使用其他货币,则应使用来自 \Devpark\Transfers24\Currency
类的货币常量作为第二个参数。请注意,您应该给此函数提供的金额是真实金额(带有小数点)而不是已转换为 Przelewy24 格式的金额。
对于 \Devpark\Transfers24\Requests\Transfers24::execute
方法的第二个参数,当为 true 时决定跳转到支付系统,当为 false 时返回支付页面 URL
定义客户返回路由
您应该创建在交易完成后将客户重定向的路由(这些路由将使用 GET
HTTP 方法启动),
处理交易验证路由
为了确保支付真正成功,您应该使用 \Devpark\Transfers24\Requests\Transfers24::receive
方法。最简单的代码可能如下所示
$payment_verify = app()->make(\Devpark\Transfers24\Requests\Transfers24::class); $payment_response = $payment_verify->receive($request); if ($payment_response->isSuccess()) { $payment = Payment::where('session_id',$payment_response->getSessionId())->firstOrFail(); // process order here after making sure it was real payment } echo "OK";
此代码应在控制器中运行,因为当接收到有效的 przelewy24 交易验证请求时,您应该返回非空响应。如您所见,在处理订单之前,您应该确保这是真实的支付,然后您需要确保它是成功的。您可以通过 session_id(在支付注册过程中生成的唯一 ID)来识别支付。
许可证
此软件包受 MIT 许可证 许可。