en1gm4a / fastpay-bundle
Requires
- php: ^8.0
- ext-curl: *
This package is auto-updated.
Last update: 2024-04-24 20:37:12 UTC
README
When I started working with the FastPay API for one of my projects, I noticed they didn't have any PHP bundles available. So, I decided to create one myself to make things more organized and easier to integrate. Feel free to use it, and thank me later.
Coded according to the company's original documentation
Features
- Initiate Payment
- Validate Payment
- Refund Payment
- Refund Payment Validation
Installation
Use composer
composer require en1gm4a/fastpay-bundle
Usage
Initialize (Required for next steps)
$fastpay = new FastPayAPI("your store id","your store password","deploy mode");
for deploy mode, you can use DEPLOYMODE constant which includes PROD and STAGING
Initiating Payment:
$InitiatePayment = new InitiatePayment(); $InitiatePayment->setOrderId("24214565"); $InitiatePayment->setCart("[{\"name\": \"Scarf\", \"qty\": 1, \"unit_price\": 5000, \"sub_total\": 5000}]"); $InitiatePayment->setBillAmount("1000"); $InitiatePayment->setCurrency("IQD"); $fastpay->ExecuteInitiate($InitiatePayment);
it returns response type of InitiatePaymentResponse
class, which includes code, message, data,..etc can be used like this:
$fastpay->ExecuteInitiate($InitiatePayment)->getRedirectUri(); //to get the payment link $fastpay->ExecuteInitiate($InitiatePayment)->getData(); //response array data $fastpay->ExecuteInitiate($InitiatePayment)->getCode(); //reponses code (200|422) $fastpay->ExecuteInitiate($InitiatePayment)->getMessages(); //responses message
Validating Payment:
$fastpay->ExecuteVPayment("order id");
it returns response type of ValidatePaymentResponse
class, which includes code, message, data, and the response data as objects like this:
$fastpay->ExecuteVPayment("order id")->getMerchantOrderId(); //returns merchant_order_id
Refunding Payment:
$fastpay->ExecuteRPayment("orderid","amount","refund secret key","msidn (phone num)")
it returns response type of RefundPaymentResponse
class, which includes code, message, data, and the response data as objects like this:
$fastpay->ExecuteRPayment("orderid","amount","refund secret key","msidn (phone num)")->getRecipientName(); //returns reciepient name
Validating Refund:
$fastpay->ExecuteVRefund("order id");
it returns response type of ValidateRefundResponse
class, which includes code, message, data, and the response data as objects like this:
$fastpay->ExecuteVRefund("order id")->isRefundStatusTrue; //returns true if refund was successful
Disclaimer
I hereby declare that I am not affiliated with FastPay in any capacity, and I explicitly disclaim any responsibility for its services, products, or actions. This code bundle is provided "as is," without any warranty or guarantee of fitness for any particular purpose. Users are advised to exercise due diligence and discretion when using this code, and I shall not be held liable for any legal issues, damages, or consequences arising from its use.