Downloads
Stars
Version
Paymob integration for laravel.
Currently Supported
install the package
composer require ctf0/laravel-paymob
publish the package assets with
php artisan vendor:publish --provider="ctf0\PayMob\PayMobServiceProvider"
add the package routes to your routes/web.php
ex.
Route::group([
'prefix' => 'orders',
'as' => 'order.',
'middleware' => 'auth',
], function () {
ctf0\PayMob\PayMobRoutes::routes();
});
add Billable
to the model you will be billing.
next add getBillingData()
which should return all the required fields for the order creation, check paymob requirements for more info.
use Illuminate\Database\Eloquent\Model;
use ctf0\PayMob\Integrations\Contracts\Billable;
class Client extends Model implements Billable
{
// ...
public function getBillingData(): array
{
return [
'email' => $this->email,
'first_name' => $this->first_name,
'last_name' => $this->last_name,
'street' => $this->address,
'phone_number' => $this->phone_number,
];
}
}
update paymob.controller
with your own controller, which should have 3 methods
you can check
DummyController
for a more detailed overview.
type | @method | return |
---|---|---|
GET | checkOut |
returns the view where the user will press the checkout btn |
POST | process |
get the selected payment type & make a request to paymob server |
GET | complete |
check for the transaction hmac & save it to your server, for more info check. |
all you need to is to call PayMob::refund
and pass to it the transaction_id
& amount_in_pounds
that will be refunded, ex.
for more info check
PayMob::refund(655, 10);
If you discover any security-related issues, please email [email protected].