Skip to content

Happyrain67/php-client-directkit-xml

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lemon Way PHP SDK

Lemon Way SDK is a PHP client library to work with Lemon Way API.

Installation with Composer

You can use Lemon Way SDK library as a dependency in your project with Composer (which is the preferred technique). Follow these installation instructions if you do not already have Composer installed. A composer.json file is available in the repository and it has been referenced from Packagist.

The installation with Composer is easy and reliable:

Step 1 - Add the Lemon Way SDK as a dependency by executing the following command:

you@yourhost:/path/to/your-project$ composer require lemonway/php-sdk:^1.0

Step 2 - Update your dependencies with Composer

you@yourhost:/path/to/your-project$ composer update

Step 3 - Finally, be sure to include the autoloader in your project

require_once '/path/to/your-project/vendor/autoload.php';

The Library has been added into your dependencies and is ready to be used.

Installation without Composer

SDK has been written in PHP 5.4. You should ensure that curl and openssl extensions (that are part of standard PHP distribution) are enabled in your PHP installation.

The project attempts to comply with PSR-4 specification for autoloading classes from file paths. As a namespace prefix is LemonWay\ with base directory /path/to/your-project/.

But if you're not using PSR-4 or Composer, the installation is as easy as downloading the library and storing it under any location that will be available for including in your project (don't forget to include the required library dependencies though):

    require_once '/path/to/your-project/LemonWay/Autoloader.php';

Contacts

Report bugs or suggest features using issue tracker on GitHub.

Account creation

You need a sandbox to run Examples.

Configuration

Using the credentials information from Lemon Way support, you should then set $api->config->wlLogin to your Lemon Way login and $api->config->wlPass to your Lemon Way password.

require_once '/path/to/your-project/vendor/autoload.php';
$api = new LemonWayAPI();

$api->config->dkUrl = 'Your DirectKit url';
$api->config->wkUrl = 'Your WebKit url';
$api->config->wlLogin = 'Your login';
$api->config->wlPass = 'Your password';
$api->config->lang = 'Your language';
//$api->config->isDebugEnabled = true; //Uncomment to turn on debug mode

// call some API methods...
$result = $api->RegisterWallet(...);

Response Object

All LemonWayAPI methods are returning \LemonWay\ApiResponse object. It is a dynamic object with variable properties.

###Fixed properties :

Property Type Description
lwError LemonWay\Models\LwError LwError Object
lwXml SimpleXMLElement Raw xml return as SimpleXMLElement object. Details in Lemon Way API

###Variable properties:

Those properties depends of which method was called.

Property Type Description
wallets array of LemonWay\Models\Wallet Filled when the API returns multiple Wallets
operations array of LemonWay\Models\Operation Filled when the API returns multiple Operations
wallet LemonWay\Models\Wallet Filled when the API returns only one Wallet
operation LemonWay\Models\Operation Filled when the API returns only one Operation
kycDoc LemonWay\Models\KycDoc Filled when the API returns a KycDoc
iban LemonWay\Models\Iban Filled when the API returns an Iban
sddMandate LemonWay\Models\SddMandate Filled when the API returns a SDD Mandate

Sample usage

require_once '/path/to/your-project/vendor/autoload.php';
$api = new LemonWayAPI();

$api->config->dkUrl = 'Your DirectKit url';
$api->config->wkUrl = 'Your WebKit url';
$api->config->wlLogin = 'Your login';
$api->config->wlPass = 'Your password';
$api->config->lang = 'Your language';


// call some API methods...
$walletID = 'Fill in with a unique id';
$response = $api->RegisterWallet(array('wallet' => $walletID,
                                        'clientMail' => $walletID.'@mail.fr',
                                        'clientTitle' => Wallet::UNKNOWN,
                                        'clientFirstName' => 'Paul',
                                        'clientLastName' => 'Atreides'));
if (isset($response->lwError)) {
    print 'Error, code '.$response->lwError->CODE.' : '.$response->lwError->MSG;
} else {
    print '<br/>Wallet created : ' . $response->wallet->ID;

    // OR BY USING lwXml :
    print '<br/>Wallet created : ' . $response->lwXml->WALLET->ID;
}

Examples

In the examples folder, you can find an example for each API method.

You need to run the examples in a web server with php configured and a hostname different from localhost.

You also need a sandbox if you want to run examples

An API method / example match table could be find in the Index of examples folder in HTML format and also in MarkDown in the examples folder README.md.

###Configuration There's two files that handles the examples configuration:

File Description
ExamplesDatas Random ID generator, Test card number, Test Iban ...
ExamplesBootstrap API configuration (login, urls ...), API factory, Host configuration

About

PHP example calling DirectKit Xml API

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%