定制 mnastalski/przelewy24-laravel 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mnastalski/przelewy24-laravel

最新稳定版本:v1.0.0

Composer 安装命令:

composer require mnastalski/przelewy24-laravel

包简介

Przelewy24 Laravel library

README 文档

README

Laravel wrapper for mnastalski/przelewy24-php.

Requirements

  • PHP >=8.1
  • Laravel >=9.0

Installation

composer require mnastalski/przelewy24-laravel

Configuration

Add the following to your .env file:

PRZELEWY24_MERCHANT_ID=12345 PRZELEWY24_REPORTS_KEY=f0ae... PRZELEWY24_CRC=aef0... PRZELEWY24_IS_LIVE=false

Setting PRZELEWY24_IS_LIVE to false will use the sandbox environment. Set it to true to use production/live mode.

Pos ID may also be set if necessary:

PRZELEWY24_POS_ID=...

Usage

Here is a simple example of how the package can be used to create a transaction, listen for Przelewy24's webhook and verify the transaction. Dependency injection is used to get an instance of Przelewy24:

<?php use App\Models\Order; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Http\Response; use Przelewy24\Enums\Currency; use Przelewy24\Enums\Language; use Przelewy24\Exceptions\Przelewy24Exception; use Przelewy24\Przelewy24; class MyController { public function __construct( private readonly Przelewy24 $przelewy24, ) {} public function pay(Order $order): RedirectResponse { // Create a new transaction $register = $this->przelewy24->transactions()->register( sessionId: $order->id, amount: $order->amount, description: "Order #{$order->id}", email: $order->email, urlReturn: route('orders.success'), urlStatus: route('orders.webhook'), // client: 'Mateusz Nastalski', // currency: Currency::EUR, // language: Language::ENGLISH, // ... ); $order->payment_id = $register->token(); $order->save(); // Redirect to Przelewy24's payment gateway return redirect( $register->gatewayUrl() ); } /**  * Method for route "orders.success".   */ public function paymentSuccessful(): Response { return response('Payment successful!'); } /**  * Method for route "orders.webhook".  * Must be POST and excluded from CSRF protection.  */ public function webhook(Request $request): Response { // Handle Przelewy24's webhook $webhook = $this->przelewy24->handleWebhook( $request->post() ); // Find related order using webhook's session ID $order = Order::find( $webhook->sessionId() ); // If you would like to verify that the webhook and its // signature are legitimate, you may use the following method: $isSignValid = $webhook->isSignValid( sessionId: $order->id, amount: $order->amount, originAmount: $order->amount, orderId: $webhook->orderId(), methodId: $webhook->methodId(), statement: $webhook->statement(), // currency: Currency::EUR, ); if (!$isSignValid) { // Handle error ... abort(Response::HTTP_BAD_REQUEST); } // Verify the transaction / claim the payment try { $this->przelewy24->transactions()->verify( $order->id, $webhook->orderId(), $order->amount, ); $order->status = 'paid'; $order->save(); } catch (Przelewy24Exception) { // Handle error ... } return response()->noContent(); } }

As this package wraps the mnastalski/przelewy24-php package, all methods are the same. For a more in-depth documentation, check its README.

统计信息

  • 总下载量: 11.6k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固