Multiple Payment Methods
Accept credit and debit card payments, GCash, Maya, BillEase, QR Ph, and BDO Installment - all through a single, unified API.
Cards, GCash, Maya, BillEase, QR Ph, BDO Installment - integrated into your Laravel app in minutes.
See how simple it is to accept payments with PayRex for Laravel.
There are two main ways to accept payments: Checkout Sessions for a hosted payment page, or Payment Intents with PayRex Elements for a custom payment UI.
use LegionHQ\LaravelPayrex\Facades\Payrex;
$session = Payrex::checkoutSessions()->create([
'line_items' => [
['name' => 'Pro Plan', 'amount' => 99900, 'quantity' => 1],
],
'payment_methods' => ['card', 'gcash', 'maya'],
'success_url' => route('checkout.success'),
'cancel_url' => route('checkout.cancel'),
]);
return redirect()->away($session->url);use LegionHQ\LaravelPayrex\Facades\Payrex;
// Create a Payment Intent on the backend
$paymentIntent = Payrex::paymentIntents()->create([
'amount' => 10000, // ₱100.00 in cents
'payment_methods' => ['card', 'gcash', 'maya'],
]);
// Pass the client secret to your frontend for PayRex Elements
return response()->json([
'client_secret' => $paymentIntent->clientSecret,
]);use Illuminate\Support\Facades\Event;
use LegionHQ\LaravelPayrex\Events\PaymentIntentSucceeded;
Event::listen(PaymentIntentSucceeded::class, function (PaymentIntentSucceeded $event) {
/** @var PaymentIntent $paymentIntent */
$paymentIntent = $event->data();
Order::query()
->where('payment_intent_id', $paymentIntent->id)
->update(['status' => 'paid']);
});use LegionHQ\LaravelPayrex\Facades\Payrex;
$event = Payrex::constructEvent(
$request->getContent(),
$request->header('Payrex-Signature'),
);
$type = $event->eventType(); // WebhookEventType::PaymentIntentSucceeded
/** @var PaymentIntent $paymentIntent */
$paymentIntent = $event->data();