lightools / payu
Simple PayU client for online payments with automatic confirmations enabled.
Installs: 6 671
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=5.4
- bitbang/http: ~0.3.0
- lightools/xml: ~1.0.1
Requires (Dev)
- php: >=5.5
- mockery/mockery: ~0.9.4
- nette/tester: ~1.7.1
This package is auto-updated.
Last update: 2022-10-04 10:17:19 UTC
README
This library provides API for the simplest possible online payment via PayU where automatic payment confirmation is enabled.
Installation
$ composer require lightools/payu
Simple usage
// 1. redirect to payment gate $httpClient = new Bitbang\Http\Clients\CurlClient(); $xmlLoader = new Lightools\Xml\XmlLoader(); $payu = new Lightools\PayU\PayU($posId, $posAuthKey, $key1, $key2, $httpClient, $xmlLoader); $payment = new Lightools\PayU\NewPayment( $orderId, // your order identification $priceAmount, // in crowns (not in hellers) PayU::CHANNEL_TEST, $paymentDescription, $clientFirstname, $clientSurname, $clientEmail ); $ipAddress = $_SERVER['REMOTE_ADDR']; $redirectUrl = $payu->getRedirectUrl($payment, $ipAddress); header("Location: $redirectUrl"); exit(); // 2. accept payment update (on "UrlOnline") try { $post = filter_input_array(INPUT_POST); $status = $payu->getPaymentStatus($post); $status->getOrderId(); $status->getStatus(); // e.g. PaymentStatus::STATUS_PAID echo 'OK'; exit(); } catch (InvalidRequestException $ex) { // invalid request received (e.g. some data missing) } catch (InvalidSignatureException $ex) { // invalid signature in request or response } catch (RequestFailedException $ex) { // HTTP request to PayU failed }
How to run tests
$ vendor/bin/tester tests