rozwell/lumen-przelewy24

lumen-przelewy24.pl 集成

dev-master 2023-02-05 15:29 UTC

This package is auto-updated.

Last update: 2024-09-05 19:04:37 UTC


README

此模块简化了与 przelewy24.pl 支付系统的集成。它支持使用 przelewy24.pl 系统进行支付。

新版本 3.0 已发布

包支持最新的 Przelewy24 REST API 版本。

旧的支付提供者 API 版本将在 2021 年底之前过期。

我们建议立即升级包版本。

安装

  1. 在控制台运行

    composer require devpark/laravel-przelewy24

    以安装此模块

  2. 打开 config/app.php 并添加

    Laravel 5.5+ 使用包自动发现,因此不需要手动添加 ServiceProvider。您可以直接跳到 3。
    Devpark\Transfers24\Providers\Transfers24ServiceProvider::class

    部分 providers

  3. 在控制台运行

    php artisan vendor:publish --provider="Devpark\Transfers24\Providers\Transfers24ServiceProvider"

    在您的控制台发布默认配置文件 transfers24.phpconfig 目录下

    升级包后,添加 force 标志以更改配置

    这些都是配置设置。一些设置可以通过环境设置进行更改,请参阅以下内容。

  4. 打开 .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 - 交易状态的发送地址。如果存储在 P24 系统中,则可以省略(默认 'transfers24/status')。

使用方法

为了使用此系统,您需要做一些事情

  1. 您需要启动注册请求以初始化支付

  2. 您需要处理客户返回到您的应用的路线。默认情况下,有路线 'transfers24/callback'

  3. 您应该确保交易验证。在这里,您应该在收到支付系统关于正确交易的通知后发送支付验证请求。您需要处理返回到支付系统自动发送的交易状态的路线。默认情况下,有路线 '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);
}

此代码应在控制器中运行,因为它返回将包含一些内容的响应。

  1. 注册支付状态

  2. 如果注册成功,则返回令牌

  3. 支付系统返回的错误代码

  4. 支付系统返回的错误信息

  5. 发送到支付系统的请求参数

对于 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 许可证 的许可。