Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Quickpay Php Client

Quickpay Php Client stats

Downloads
752.7K
Stars
36
Open Issues
8
Forks
25

View on GitHub →

PHP-SDK to communicate with the payment provider QuickPay

quickpay-php-client

quickpay-php-client is a official client for QuickPay API. The QuickPay API enables you to accept payments in a secure and reliable manner. This package currently support QuickPay v10 api.

Installation

Composer

Simply add a dependency on quickpay/quickpay-php-client to your project's composer.json file if you use Composer to manage the dependencies of your project. Here is a minimal example of a composer.json file that just defines a dependency on newest stable version of QuickPay:

{
"require": {
"quickpay/quickpay-php-client": "2.0.*"
}
}

Manually upload

If you cannot use composer and all the goodness the autoloader in composer gives you, you can upload /QuickPay/ to your web space. However, then you need to manage the autoloading of the classes yourself.

Usage

Before doing anything you should register yourself with QuickPay and get access credentials. If you haven't please click here to apply.

Create a new client

First you should create a client instance that is anonymous or authorized with api_key or login credentials provided by QuickPay.

To initialise an anonymous client:

<?php
use QuickPay\QuickPay;
 
try {
$client = new QuickPay();
} catch (Exception $e) {
//...
}
?>

To initialise a client with QuickPay Api Key:

<?php
use QuickPay\QuickPay;
 
try {
$api_key = 'xxx';
$client = new QuickPay(":{$api_key}");
} catch (Exception $e) {
//...
}
?>

Or you can provide login credentials like:

<?php
use QuickPay\QuickPay;
 
try {
$qp_username = 'xxx';
$qp_password = 'xxx';
$client = new QuickPay("{$qp_username}:{$qp_password}");
} catch (Exception $e) {
//...
}
?>

API Calls

You can afterwards call any method described in QuickPay api with corresponding http method and endpoint. These methods are supported currently: get, post, put, patch and delete.

// Get all payments
$payments = $client->request->get('/payments');
 
// Get specific payment
$payments = $client->request->get('/payments/{id}');
 
// Create payment
$form = array(
'order_id' => $order_id,
'currency' => $currency,
...
);
$payments = $client->request->post('/payments', $form);
$status = $payments->httpStatus();
if ($status == 201) {
// Successful created
}

Handling the response

Getting the HTTP status code:

$response = $client->request->get('/payments');
$status = $response->httpStatus();
 
if ($status == 200) {
// Successful request
}

The returned response object supports 3 different ways of returning the response body, asRaw(), asObject, asArray().

// Get the HTTP status code, headers and raw response body.
list($status_code, $headers, $response_body) = $client->request->get('/payments')->asRaw();
 
// Get the response body as an object
$response_body = $client->request->get('/payments')->asObject();
 
// Get the response body as an array
$response_body = $client->request->get('/payments')->asArray();
 
// Example usage
$payments = $client->request->get('/payments')->asArray();
 
foreach($payments as $payment) {
//...
}

Setting timeouts

Set timeout and get notified on timeouts:

QuickPayAPI::$timeout = 30;
QuickPayAPI::$onTimeout ??= function () {
event(new PaymentGatewayTimeout($this));
 
throw new TimeoutException("No response from Quickpay within " . QuickPayAPI::$timeout . " seconds");
};

You can read more about api responses at http://learn.quickpay.net/tech-talk/api/.

Tests

Use composer to create an autoloader:

$ composer install
$ phpunit
QuickPay photo

Secure, reliable and dynamic online payments

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Quickpay Quickpay Php Client Related Articles

A Laravel Package for the Quickpay API image

A Laravel Package for the Quickpay API

Read article
Acquaint Softtech logo

Acquaint Softtech

Acquaint Softtech offers AI-ready Laravel developers who onboard in 48 hours at $3000/Month with no lengthy sales process and a 100 percent money-back guarantee.

Acquaint Softtech
Harpoon: Next generation time tracking and invoicing logo

Harpoon: Next generation time tracking and invoicing

The next generation time-tracking and billing software that helps your agency plan and forecast a profitable future.

Harpoon: Next generation time tracking and invoicing
Blastup logo

Blastup

Blastup provides social media enhancement services including buying Instagram likes, followers, and views, with features like instant delivery and a variety of packages to suit different needs.

Blastup
LoadForge logo

LoadForge

Scalable load testing for web apps & APIs. Simulate real-world traffic and identify breaking points and performance limits with powerful, scalable load tests designed for Laravel.

LoadForge
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Multi-tenant Laravel SaaS Starter Kit that comes with all features required to run a modern SaaS. Payments, Beautiful Checkout, Admin Panel, User dashboard, Auth, Ready Components, Stats, Blog, Docs and more.

SaaSykit: Laravel SaaS Starter Kit