KeyClient library for PHP 5.3+
To add PHP-KeyClient as a local, per-project dependency to your project, simply add a dependency on eo/keyclient to your project's composer.json file. Here is a minimal example of a composer.json file that just defines a development-time dependency on the latest version of the library:
{
"require": {
"eo/keyclient": "dev-master"
}
}
--> canceled
|
Create payment url –> Redirect user to payment url -|
|
--> confirmed -> Handle return response
<?php
use Eo\KeyClient\Client;
use Eo\KeyClient\Payment\PaymentRequest;
$client = new Client('YOUR-ALIAS', 'YOUR-SECRET');
$payment = new PaymentRequest(5000, 'EUR', 'UNIQUE-ID', 'http://example.com/completed', 'http://example.com/canceled');
$url = $client->createPaymentUrl($payment);
// Redirect to payment url
header( "Location: $url" );
<?php
use Eo\KeyClient\Client;
$client = new Client('YOUR-ALIAS', 'YOUR-SECRET');
$response = $client->parsePaymentResponse();
// $response is an instance of Eo\KeyClient\Payment\PaymentResponse
switch ($response->get('esito')) {
case 'OK':
# Payment success...
break;
case 'KO':
# Payment error...
break;
}
PaymentRequest
and PaymentResponse
classes refactoredClient
class parsePaymentResponse
now accepts a Symfony\Component\HttpFoundation\Request
Before submitting a patch for inclusion, you need to run the test suite to check that you have not broken anything.
To run the test suite, install PHPUnit 3.7 (or later) first.
To run the entire test suite, including tests that depend on external dependencies, php-keyclient needs to be able to autoload them. By default, they are autoloaded from vendor/ under the main root directory (see vendor/autoload.php).
To install them all, use Composer:
Step 1: Get Composer
curl -s http://getcomposer.org/installer | php
Make sure you download composer.phar in the same folder where the composer.json file is located.
Step 2: Install vendors
php composer.phar --dev install
Note that the script takes some time to finish.
First, install the vendors (see above).
Then, run the test suite from the package root directory with the following command:
phpunit
The output should display OK. If not, you need to figure out what's going on and if the tests are broken because of your modifications.
Issues and feature requests related to this library are tracked in the Github issue tracker: https://github.com/eymengunay/php-keyclient/issues