PHP code example of kuzry / laravel-przelewy24
1. Go to this page and download the library: Download kuzry/laravel-przelewy24 library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
kuzry / laravel-przelewy24 example snippets
namespace App\Http\Controllers;
use App\Models\Order;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Kuzry\Przelewy24\Facades\Przelewy24;
class Przelewy24Controller extends Controller
{
public function transactionRegister(Request $request): JsonResponse
{
$order = Order::create([
'number' => 'O-123456789-2025-01-01',
'status' => 'pending',
'products' => [1, 2],
]);
return response()->json(
Przelewy24::transaction()->register(
TransactionRegisterRequestData::from([
'sessionId' => $order->number,
'amount' => $order->amount,
'description' => 'Order: ' . $order->number,
'email' => $request->input('email'),
'currency' => $order->currency,
'client' => $request->input('client'),
'address' => $request->input('address'),
'zip' => $request->input('zip'),
'city' => $request->input('city'),
'phone' => $request->input('phone'),
'method' => $request->input('method'),
]),
)
);
}
}
Route::post('/przelewy24/transaction/register', [Przelewy24Controller::class, 'transactionRegister'])
->name('przelewy24.transaction.register');
namespace App\Http\Controllers;
use App\Models\Order;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Kuzry\Przelewy24\Facades\Przelewy24;
class Przelewy24Controller extends Controller
{
public function statusWebhook(Request $request): JsonResponse
{
$order = Order::where('number', $request->input('sessionId'))
->firstOrFail();
$data = TransactionRegisterNotificationData::from([
'sessionId' => $order->number,
'amount' => $request->input('amount'),
'originAmount' => $order->amount,
'currency' => $order->currency,
'orderId' => $request->input('orderId'),
'methodId' => $request->input('methodId'),
'statement' => $request->input('statement'),
]);
if (Przelewy24::notification()->isTransactionRegisterValid($request->input('sign'), $data)) {
$transactionVerifyResponseData = Przelewy24::transaction()->verify(
TransactionVerifyRequestData::fromRequest($request)
);
if ($transactionVerifyResponseData->isSuccess) {
$order->update([
'status' => 'completed',
]);
return response()->json([
'success' => true,
]);
}
return response()->json([
'success' => false,
'error' => 'Verification failed',
], 400);
}
return response()->json([
'success' => false,
'error' => 'Invalid signature',
], 400);
}
}
Route::post('/przelewy24/status', [Przelewy24Controller::class, 'statusWebhook'])
->name('przelewy24.status');
'auto_register_frontend_data' => true,
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
use Kuzry\Przelewy24\Facades\Przelewy24;
Route::get('/cart', function () {
return Inertia::render('cart', [
'przelewy24' => Przelewy24::getFrontendData(),
]);
})->name('home');
bash
php artisan vendor:publish --tag=przelewy24-config