Features
- Authentication
- Payment Creation
- Checking payment status
- Payment Cancellation
Installation
You can install the package through Composer
composer require rawahamid/laravel-fib-integration
Then publish the config file of the package using the vendor publish command
php artisan vendor:publish --tag="fib"
Configuration variables
All that is left to do is to define four env configuration variables inside .env file
FIB_ENVIRONMENT="staging"
FIB_CALLBACK_URL="https://localhost:8000/fib-callback-url"
FIB_CLIENT_ID="client-id"
FIB_CLIENT_SECRET="client-secret"
-
FIB_ENVIRONMENTThis value is the environment that you want to choose for FIB integration to your application -
FIB_CALLBACK_URLThe callback url that FIB will send a POST request to when status of the created payment changes -
FIB_CLIENT_IDThe account client id you use to authenticate the request determines whether the request is live mode or test mode -
FIB_CLIENT_SECRETThe account client secret you use to authenticate the request determines whether the request is live mode or test mode
Usage
Payment Creation
use Rawahamid\FibIntegration\Payments\FibPayment;
$response = FibPayment::create(100);
Response structure
{
"paymentId": "string",
"readableCode": "string",
"qrCode": "base64 string",
"validUntil": "datetime",
"personalAppLink": "link",
"businessAppLink": "link",
"corporateAppLink": "link"
}
-
paymentIdA unique identifier of the payment, used later to check the status. -
readableCodeA payment code that the user can enter manually in case he cannot scan the QR code. -
qrCodeA base64-encoded data URL of the QR code image that the user can scan with the FIB mobile app. -
validUntilan ISO-8601-formatted date-time string, representing a moment in time when the payment expires -
personalAppLinkA link that the user can tap on his mobile phone to go to the corresponding payment screen in the FIB Personal app -
businessAppLinkA link that the user can tap on his mobile phone to go to the corresponding payment screen in the FIB Business app -
corporateAppLinkA link that the user can tap on his mobile phone to go to the corresponding payment screen in the FIB Corporate app
Payment Status
use Rawahamid\FibIntegration\Payments\FibPayment;
$response = FibPayment::status('payment-uuid');
Response structure will be:
{
"paymentId": "string",
"status": "string",
"validUntil": "string",
"amount": {
"amount": "number",
"currency": "string"
},
"decliningReason": "string",
"declinedAt": "string",
"paidBy": {
"name": "string",
"iban": "string"
}
}
-
paymentIdA unique identifier of the payment, used later to check the status. -
statusone of these values:PAID|UNPAID|DECLINED -
validUntilan ISO-8601-formatted date-time string, representing a moment in time when the payment expires -
amountcontains payment amount and its currency -
decliningReasoncan be nullable or one of these valuesSERVER_FAILURE|PAYMENT_EXPIRATION|PAYMENT_CANCELLATION -
declinedAtdatetime that represents the time of payment decline -
paidByis nullable object if the payment is still not paid but if paid will contain the name and iban of the user
Payment Cancel
use Rawahamid\FibIntegration\Payments\FibPayment;
$response = FibPayment::cancel('payment-uuid');
response will be empty if success
IMPORTANT NOTE**
In every request of these if the response is 500 mean the creation, status or cancellation request something wrong happened
License
The FIB Integration package is open source software licensed under the License MIT
Contributing
Contributions are always welcome!
Report & Feedback
If you face any problem feel free to contact me :) rawahamid