alsharie / floosak-payment
Floosak payment gateway
2.2.1
2024-01-30 11:32 UTC
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^7.5.1
- illuminate/support: >=9.33
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
laravel package for floosak payment getway
Floosak payment api after update to (p2mcl)
install the package
composer require alsharie/floosak-payment
You can publish using the following command
php artisan vendor:publish --provider="Alsharie\FloosakPayment\FloosakServiceProvider"
When published, the config/floosak.php config file contains:
return [ 'auth' => [ 'phone' => env('FLOOSAK_MERCHANT_PHONE'), 'short_code' => env('FLOOSAK_MERCHANT_SHORT_CODE'), 'wallet_id' => env('FLOOSAK_MERCHANT_WALLET_ID'), 'key' => env('FLOOSAK_MERCHANT_KEY'), ], 'url' => [ 'base' => env('FLOOSAK_BASE_URL', 'https://staging.fintech-expert.net'), ] ];
If you don't have the request_id and key you must do the following:
1. get request Id
$floosak = new Floosak(); $response = $floosak->requestKey(); if ($response->isSuccess()) { $request_id = $response->getRequestId(); .... .... }
2. verify request Id
after getting the response YOU MUST store key,request_id in config/floosak.php or in your .env
$floosak = new Floosak(); $response = $floosak ->setOtp(/*otp*/) ->setRequestId(/*requestId*/) ->verifyKey(); if ($response->isSuccess()) { $key= $response->getKey(); $wallet_id= $response->getWalletId(); //todo:: store $key and $wallet_id } else { return $response->body(); }
To purchase using Floosak payment
1. Purchase
$floosak = new Floosak(); $response = $floosak ->setRequestId(/*ref_id*/) // random number you generate most ->setAmount(/*amount*/) ->setCustomerPhone(/*phone*/) ->setPurpose(/*purpose*/) ->purchase(); if ($response->isSuccess()) { $purchase_id = $response->getPurchaseId(); .... .... }
2. Confirm purchase
$floosak = new Floosak(); $response = $floosak ->setPurchaseId(/*purchase_id*/) // you get it from the response of the above request `purchase()` ->setOtp(/*user_otp*/) ->confirmPurchase(); if ($response->isSuccess()) { $tran_id = $response->getTransactionId(); .... .... }
Refund
$floosak = new Floosak(); $response = $floosak ->setRequestId(/*ref_id*/) // the random number you generated ->setTransactionId(/*tran_id*/) ->setAmount(/*amount*/) // amount to refund ->refund(); if ($response->isSuccess()) { return $response->getBalance(); }
you can get the full response body using $response->body() for all requests
