juspay / express-checkout
Express Checkout SDK for PHP allows easy integration with Juspay's EC payments as a service platform
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 5.4.6
This package is not auto-updated.
Last update: 2022-02-01 12:59:37 UTC
README
The Juspay PHP library provides integration access to the Juspay services. The library is distributed using composer
.
To add the library to your project, add it to your composer.json. This package requires a minimum-stability
of dev
.
Set the minimum-stability
in your composer.json accordingly.
Example usage
SDK APIs
The SDK exposes 2 main api classes, the Orders
and Cards
APIs.
But before we start creating orders and process payments, we need to do some basic setup of the SDK.
Setting up the SDK for use.
To setup the SDK, we must first declare the merchantId, apiKey and environment that we wish to use.
Set up the SDK by invoking the following function: configure($environment, $merchantId, $apiKey)
Note: The merchantd that is passed to the configure method must be created on the corresponding environment. If you create an account in
sandbox.juspay.in and pass the environment as JuspayConfiguration::ENVIRONMENT_PRODUCTION
** API's will not work`.
Once the setup is done, one can create instances of the API classes, nameley the Orders
and Cards
classes.
Juspay::configure('myMerchantId', '3954450E640447CAA7833D0C266CB2F8', JuspayConfiguration::ENVIRONMENT_SANDBOX);
$socketConnectTimeout = 10;
$connectionReadTimeout = 20;
$ordersApiInstance = new Orders($socketConnectTimeout, $connectionReadTimout);
$cardsApiInstance = new Cards($socketConnectTimeout, $connectionReadTimout);
As an alternative, one can invoke the JuspayConfigure::configureAndSetUp($environment, $merchantId, $apiKey, $apiConnectTimeout, $apiReadTimeout)
method, passing in a connect timeout and read timeout value. Calling this method sets up instances of the Order
and Card
APIs.
$socketConnectTimeout = 10;
$connectionReadTimeout = 20;
JuspayConfiguration::configureAndSetUp(
'myMerchantId',
'3954450E640447CAA7833D0C266CB2F8',
JuspayConfiguration::ENVIRONMENT_SANDBOX,
$socketConnectTimeout,
$connectionReadTimeout
);
// Instances of the Cards and Orders APIs are avalable inside the ExpressCheckout class.
$ordersApiInstance = ExpressCheckout::$Order;
$cardsApiInstance = ExpressCheckout::$Card;
Note on API response
The responses from the Juspay HTTP API are always in JSON format. The JSON format data returned from the HTTP APIs are parsed using
the PHP json_decode
function. The response is decoded into PHP arrays.
All values returned from the Cards
and Orders
API are php arrays
having the body
, headers
and
responseCode
as keys. body
consists of the HTTP payload of the response, the headers
contain the response headers
and responseCode
constains the HTTP status code of the response.
Example:
Response from the ExpressCheckout::$Cards->addCard($params)
:
Array
(
[body] => Array
(
[card_token] => ab9e9d3f-35d4-4a24-93f1-762a082ae4e4
[card_reference] => 66d54d9150d10335ba9d947fb5fb1748
[card_fingerprint] => 3csmo6fvfsge9pqftfb858aicp
)
[headers] => HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Cache-Control: private, no-cache, no-store, must-revalidate
Cache-control: no-cache="set-cookie"
Content-Type: application/json;charset=UTF-8
Date: Thu, 07 Jul 2016 06:28:46 GMT
Expires: Sat, 01 Jan 2000 00:00:00 GMT
Pragma: no-cache
Server: ***
Set-Cookie: AWSELB=6773E1D310F68F94E7244334D860EC90C0C6FD86A5BBFB381A3D95415EEA068E0EDC597C16422068E16BCEF4B4226E60D53FD0A870DA118459E1FF8E4B71D9020D5E78EC55;PATH=/;MAX-AGE=1800
Strict-Transport-Security: max-age=0; includeSubDomains
Content-Length: 166
Connection: keep-alive
[responseCode] => 200
)