1. Go to this page and download the library: Download fei/payment-client library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
fei / payment-client example snippets
use Fei\Service\Payment\Client\Payer;
use Fei\ApiClient\Transport\BasicTransport;
use Fei\ApiClient\Transport\BeanstalkProxyTransport;
use Pheanstalk\Pheanstalk;
$payer = new Payer([Payer::OPTION_BASEURL => 'https://payment.api']); // Put your payment API base URL here
$payer->setTransport(new BasicTransport());
$proxy = new BeanstalkProxyTransport();
$proxy->setPheanstalk(new Pheanstalk('127.0.0.1'));
$payer->setAsyncTransport($proxy);
// Use the payer client methods...
use Fei\ApiClient\Transport\BasicTransport;
use Fei\Service\Payment\Client\Payer;
use Fei\Service\Payment\Entity\Payment;
$payer = new Payer([Payer::OPTION_BASEURL => 'http://payment.dev']);
$payer->setTransport(new BasicTransport());
$payment = new Payment();
$payment->setExpirationDate(new \DateTime())
->setStatus(Payment::STATUS_PENDING)
->setOrderId('ORDERID')
->setPaymentMethod('VISA')
->setRequiredPrice(456)
->setAuthorizedPayment(Payment::PAYMENT_PAYPAL)
->setCallbackUrl([
"succeeded" => 'http://url-succeeded.fr',
"failed" => 'http://url-failed.fr',
"saved" => 'http://url-saved.fr',
"cancelled" => 'http://url-cancelled.fr',
]);
$payment = $payer->request($payment);
use Fei\ApiClient\Transport\BasicTransport;
use Fei\Service\Payment\Client\Payer;
use Fei\Service\Payment\Entity\Payment;
$payer = new Payer([Payer::OPTION_BASEURL => 'http://payment.dev']);
$payer->setTransport(new BasicTransport());
$payment = new Payment();
$payment->setExpirationDate(new \DateTime())
->setStatus(Payment::STATUS_PENDING)
->setRequiredPrice(456)
->setAuthorizedPayment(Payment::PAYMENT_PAYPAL)
->setCallbackUrl([
"succeeded" => 'http://url-succeeded.fr',
"failed" => 'http://url-failed.fr',
"saved" => 'http://url-saved.fr',
"cancelled" => 'http://url-cancelled.fr',
]);
$paymentId = $payer->request($payment);
$payment->setRequiredPrice(327.4);
$payer->update($payment);
use Fei\ApiClient\Transport\BasicTransport;
use Fei\Service\Payment\Client\Payer;
$payer = new Payer([Payer::OPTION_BASEURL => 'http://payment.dev']);
$payer->setTransport(new BasicTransport());
$payment = $payer->retrieve(1); // retrieve by it's integer id
$payment = $payer->retrieve('81db1f4e-e938-440a-aae0-95b5994db015'); // retrieve by it's string uuid
use Fei\ApiClient\Transport\BasicTransport;
use Fei\Service\Payment\Client\Payer;
use Fei\Service\Payment\Client\Utils\Builder\SearchBuilder;
$payer = new Payer([Payer::OPTION_BASEURL => 'http://payment.dev']);
$payer->setTransport(new BasicTransport());
$builder = new SearchBuilder();
$builder->uuid()->equal('81db1f4e-e938-440a-aae0-95b5994db012');
$payments = $payer->search($builder);
echo '<pre>';
print_r($payments);
echo '</pre>';
use Fei\ApiClient\Transport\BasicTransport;
use Fei\Service\Payment\Client\Payer;
$payer = new Payer([Payer::OPTION_BASEURL => 'http://payment.dev']);
$payer->setTransport(new BasicTransport());
$paymentId = $payer->cancel(1, 'Cancel by an administrator');
use Fei\ApiClient\Transport\BasicTransport;
use Fei\Service\Payment\Client\Payer;
$payer = new Payer([Payer::OPTION_BASEURL => 'http://payment.dev']);
$payer->setTransport(new BasicTransport());
$paymentId = $payer->reject(1, 'Rejected by an administrator');
use Fei\ApiClient\Transport\BasicTransport;
use Fei\Service\Payment\Client\Payer;
$payer = new Payer([Payer::OPTION_BASEURL => 'http://payment.dev']);
$payer->setTransport(new BasicTransport());
$paymentId = $payer->capture(1, 10.36);
use Fei\ApiClient\Transport\BasicTransport;
use Fei\Service\Payment\Client\Payer;
$payer = new Payer([Payer::OPTION_BASEURL => 'http://payment.dev']);
$payer->setTransport(new BasicTransport());
try {
echo $payer->getPaymentLink(23);
} catch (\Exception $e) {
echo $e->getMessage() . PHP_EOL;
$previous = $e->getPrevious();
if ($previous instanceof Guzzle\Http\Exception\ServerErrorResponseException) {
var_dump($previous->getRequest());
var_dump($previous->getResponse()->getBody(true));
}
}