Examples
Normal Checkout
This example demonstrates how to process a recurring checkout.
php
use PayHere\PayHere;
class CheckoutController extends Controller
{
public function __invoke()
{
return PayHere::builder()
->guest()
->title('Perpetual License (1 Year)')
->amount(30000)
->checkout();
}
}
Recurring Checkout
This example demonstrates how to process a recurring checkout.
php
use PayHere\PayHere;
class CheckoutController extends Controller
{
public function __invoke()
{
return PayHere::builder()
->title('Shared Hosting')
->amount(1000)
->startupFee(200)
->recurring(
recurrence: '1 Month',
duration: '1 Year'
)
->checkout();
}
}
Onsite Checkout
This example demonstrates how to process a onsite checkout.
First, add the following Blade component to your view:
html
<x-payhere::button
:order="PayHere\PayHere::builder()->guest()->amount(100)->getOrder()"
class="px-8 py-4"
>
Buy Now
</x-payhere::button>
IMPORTANT
We use the HTML Form-Based API Builder to create the order. Therefore, you are free to chain builder methods as you would for other checkouts.
After that, you can listen for PayHere events:
javascript
// Payment completed. It can be a successful failure.
payhere.onCompleted = function onCompleted(orderId) {
console.log("Payment completed. OrderID:" + orderId);
// Note: validate the payment and show success or failure page to the customer
};
// Payment window closed
payhere.onDismissed = function onDismissed() {
// Note: Prompt user to pay again or show an error page
console.log("Payment dismissed");
};
// Error occurred
payhere.onError = function onError(error) {
// Note: show an error page
console.log("Error:" + error);
};
For more details, visit the PayHere Javascript SDK.