Download the PHP package kpay/laravel-kpay without Composer
On this page you can find all versions of the php package kpay/laravel-kpay. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-kpay
K-Pay Laravel Package
Laravel 12 package for integrating with the K-Pay payment gateway.
Based on the official K-Pay API documentation: https://developers.kpay.africa/documentation.php
Installation
Require the package via Composer:
Publish the config:
Configuration
Set these environment variables:
Usage
Initiate a payment
Payment method amount limits (RWF)
| Method | pmethod |
Minimum | Maximum |
|---|---|---|---|
| Mobile Money (MTN / Airtel) | momo |
100 | 5,000,000 |
| Credit / Debit Card | cc |
1,000 | 10,000,000 |
| SPENN wallet | spenn |
100 | 1,000,000 |
Check payment status
Webhook (Callback)
By default the package registers:
POST /kpay/callback
K-Pay sends a POST to your callback URL and requires the endpoint to respond:
The controller dispatches events based on statusid. K-Pay callbacks only send 01 (success) or 02 (failed); 03 (pending) is only returned by checkStatus.
statusid |
Event dispatched |
|---|---|
01 |
KPay\LaravelKPay\Events\PaymentSucceeded |
02 |
KPay\LaravelKPay\Events\PaymentFailed |
03 |
KPay\LaravelKPay\Events\PaymentPending |
Each event exposes typed properties alongside the raw $payload array:
To customize the path or middleware:
Enums
Error handling
The package throws typed exceptions you can catch:
K-Pay API error codes
retcode |
reply |
Description |
|---|---|---|
| 0 | PENDING | Payment initiated successfully |
| 600 | INVALID_REQUEST | Missing or invalid parameters |
| 601 | INVALID_API_KEY | API key inactive or not found |
| 602 | INVALID_AUTH | Authentication credentials invalid |
| 603 | IP_NOT_WHITELISTED | Unauthorized IP address |
| 604 | DUPLICATE_REFID | Reference ID already processed |
| 605 | AMOUNT_OUT_OF_RANGE | Amount outside allowed limits |
| 606 | TARGET_AUTHORIZATION_ERROR | Provider rejected transaction |
| 607 | INSUFFICIENT_FUNDS | Insufficient customer balance |
| 608 | TIMEOUT | Transaction timed out |
| 609 | CANCELLED | Customer cancelled |
Testing
Contributing
Please follow our commit message convention (Conventional Commits). See CONTRIBUTING.md.
License
MIT
All versions of laravel-kpay with dependencies
illuminate/http Version ^12.0
illuminate/routing Version ^12.0
illuminate/support Version ^12.0