-
Notifications
You must be signed in to change notification settings - Fork 0
Home
PHP Implementation of the Watupay API
This package provides an expressive and convenient way to interact with the Watupay API
You can install the package via composer:
composer require digikraaft/watupay-php
All APIs documented in Watupay's Documentation are currently supported by this package. Using the individual API follows a general convention so that it can be simple and predictable.
<?php
{API_NAME}::{API_END_POINT}();
Before this, the API key needs to be set. For example, to access the watubill/channels
endpoint,
<?php
include_once('vendor/autoload.php');
use Digikraaft\Watupay\Watupay;
use Digikraaft\Watupay\Bill;
Watupay::setApiKey('WTP-T-SK-abcd1234abcd');
$bills = Bill::list();
You can easily pass parameters to be sent as arguments to the API_END_POINT
method like this:
<?php
include_once('vendor/autoload.php');
use Digikraaft\Watupay\Watupay;
use Digikraaft\Watupay\Bill;
Watupay::setApiKey('WTP-T-SK-abcd1234abcd');
$params = [
'is_favourite' => 0,
'country' => 'NG',
'group' => 'others'
];
$bills = Bill::list($params);
This also applies to POST
requests.
For endpoints that require path parameters like the fetch bill
with the request channel/info/bill_id
,
simply pass in a string into the API_END_POINT
like this:
<?php
include_once('vendor/autoload.php');
use Digikraaft\Watupay\Watupay;
use Digikraaft\Watupay\Bill;
Watupay::setApiKey('WTP-T-SK-abcd1234abcd');
$bill = Bill::fetch('bill-07');
There are a few exceptions to the API_END_POINT
convention. Details of these are contained in
here.
This package returns the exact response from the Watupay API but as the stdClass
type such that responses can be accessed like this:
<?php
include_once('vendor/autoload.php');
use Digikraaft\Watupay\Watupay;
use Digikraaft\Watupay\Bill;
Watupay::setApiKey('WTP-T-SK-abcd1234abcd');
$bill = Bill::fetch('bill-07');
if (! $bill->has_error) {
echo $bill->data->name;
}
To handle API exceptions, use the Digikraaft\Watupay\Exceptions\ApiErrorException
class like this:
<?php
include_once('vendor/autoload.php');
use Digikraaft\Watupay\Watupay;
use Digikraaft\Watupay\Bill;
use Digikraaft\Watupay\Exceptions\ApiErrorException;
Watupay::setApiKey('WTP-T-SK-abcd1234abcd');
try{
Watupay::setApiKey('WTP-T-SK-abcd1234abcd');
$bill = Bill::fetch('bill-07');
if (! $bill->has_error) {
echo $bill->data->name;
}
}catch(ApiErrorException $exception){
echo $exception->getMessage();
}
To encrypt sensitive data before sending to the API, use the WatupayEncryption::encrypt($data, $key, $iv, $blockSize, $mode)
method
For detailed documentation, check the wiki page here. Also, check the Watupay Documentation for details on input parameters.
Check here for more awesome free stuff!
Click here