Download the PHP package qattapay/laravel without Composer
On this page you can find all versions of the php package qattapay/laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download qattapay/laravel
More information about qattapay/laravel
Files in qattapay/laravel
Package laravel
Short Description Official QattaPay Laravel SDK — group contribution checkout for your storefront
License MIT
Homepage https://github.com/Hadawi-Engineering/qattapay-laravel
Informations about the package laravel
QattaPay Laravel SDK
Official QattaPay SDK for Laravel — add group contribution checkout to any storefront.
QattaPay lets groups of people split the cost of a purchase. This package handles:
- Server-side: creating checkout intents and managing orders with your merchant API key
- Webhooks: verifying and parsing events when a session is funded
- Blade: official branded checkout buttons (via the
@hadawi/sdkbrowser bundle)
Parity with the Node SDK @hadawi/sdk.
Requirements
- PHP 8.2+
- Laravel 10, 11, or 12
Installation
The service provider and QattaPay facade are auto-discovered.
Publish the config (optional):
Configuration
Add to your .env:
| Key | Description |
|---|---|
api_key |
Merchant API key from the QattaPay dashboard |
webhook_secret |
whsec_… signing secret (Developer → Webhook) |
mode |
dev or live (ignored if base_url is set) |
base_url |
Explicit API base (e.g. local) — disables host fallback |
browser_sdk_version |
@hadawi/sdk version loaded for <x-qattapay-button> |
Amounts are always integers in the smallest currency unit (halalas for SAR — e.g. 15000 = 150.00 SAR).
Quick start
1 — Create an intent (server)
2 — Mount the branded button (Blade)
| Attribute | Purpose |
|---|---|
success-url |
After popup onSuccess (qattapay:success), navigate here |
return-url |
Passed to hosted checkout as ?returnUrl=. After payment, QattaPay redirects here with intentId, sessionId, and status=success\|cancel\|failed. Use for redirect mode (and as a popup fallback). |
open-mode |
popup (default) or redirect |
Ensure your layout includes the CSRF meta tag:
3 — Handle webhooks
API reference
Intents
Orders
These map to the same dashboard actions as Mark as Fulfilling / Mark as Delivered. Call them from your backend — they are not optional for merchants who want their own OMS in sync, but QattaPay does not require them before payout.
Order status lifecycle:
fulfill() only works from funded or notified. deliver() only works from fulfilling.
Refunds process synchronously against the original payment method and notify each affected contributor. They are rejected (HTTP 400) when the order is already in a payout, or the session is already refunding / refunded / cancelled.
Webhooks
Event types: order.funded, order.partially_funded, order.cancelled, order.expired.
Host resolution
| Mode | Primary | Fallback (network errors only) |
|---|---|---|
dev |
https://dev.qatta.sa/api |
https://dev.hadawi.sa/api |
live |
https://qatta.sa/api |
https://beta.hadawi.sa/api |
Development
Publishing
Package: packagist.org/packages/qattapay/laravel
Latest release: v1.1.1
To ship a new version, bump the changelog, push main, then tag:
Packagist updates automatically via the GitHub webhook. Full checklist: PUBLISHING.md.
License
MIT © Hadawi Engineering
All versions of laravel with dependencies
illuminate/contracts Version ^10.0|^11.0|^12.0
illuminate/http Version ^10.0|^11.0|^12.0
illuminate/support Version ^10.0|^11.0|^12.0
illuminate/view Version ^10.0|^11.0|^12.0