adriaroca / rxp-hpp-php
SDK to send requests and parse responses from Realex Payments using HPP
Requires
- php: >=5.3.9
- apache/log4php: 2.3.*
- doctrine/annotations: 1.2.*
- doctrine/cache: 1.4.*
- symfony/validator: 2.7.*
Requires (Dev)
- phpunit/phpunit: ^5.7
README
We've moved. We highly recommend you use the Global Payments PHP SDK which supports all the features of this SDK and will benefit from all future releases: https://github.com/globalpayments/php-sdk
With the latest update (1.1.3) this SDK supports the mandatory and recommended HPP fields for 3D Secure 2. Going forward it will only receive critical security updates, no further feature updates will be released beyond 3D Secure 2.
Realex Payments HPP PHP SDK
You can sign up for a Global Payments (formerly Realex Payments) account at https://developer.globalpay.com
Requirements
- PHP >= 5.3.9
- For security and support we highly recommend you use PHP 7
- Composer (https://getcomposer.org/)
Instructions
-
Add the following to your 'composer.json' file
{ "require": { "realexpayments/rxp-hpp-php": "1.1.3" } }
-
Inside the application directory run composer:
composer update
OR (depending on your server configuration)
php composer.phar update
-
Add a reference to the autoloader class anywhere you need to use the sdk
require_once ('vendor/autoload.php');
-
Use the sdk
$hppRequest = new HppRequest(); $hppRequest->addMerchantId("MerchantId"); $hppRequest->addAccount("internet"); ....
Usage
Creating HPP Request JSON for Realex Payments JS Library
<?php require_once ('vendor/autoload.php'); use com\realexpayments\hpp\sdk\domain\HppRequest; use com\realexpayments\hpp\sdk\RealexHpp; use com\realexpayments\hpp\sdk\RealexValidationException; use com\realexpayments\hpp\sdk\RealexException; $hppRequest = new HppRequest(); $hppRequest->addMerchantId("MerchantId"); $hppRequest->addAccount("internet"); $hppRequest->addAmount("1001"); $hppRequest->addCurrency("EUR"); $hppRequest->addAutoSettleFlag(TRUE); $hppRequest->addHppVersion("2"); // 3D Secure 2 Mandatory and Recommended Fields $hppRequest->addCustomerEmailAddress("james.mason@example.com"); $hppRequest->addCustomerMobilePhoneNumber("44|07123456789"); $hppRequest->addBillingAddressLine1("Flat 123"); $hppRequest->addBillingAddressLine2("House 456"); $hppRequest->addBillingAddressLine3("Unit 4"); $hppRequest->addBillingCity("Halifax"); $hppRequest->addBillingPostalCode("W5 9HR"); $hppRequest->addBillingCountryCode("826"); $hppRequest->addShippingAddressLine1("Apartment 825"); $hppRequest->addShippingAddressLine2("Complex 741"); $hppRequest->addShippingAddressLine3("House 963"); $hppRequest->addShippingCity("Chicago"); $hppRequest->addShippingState("IL"); $hppRequest->addShippingPostalCode("50001"); $hppRequest->addShippingCountryCode("840"); $realexHpp = new RealexHpp("Shared Secret"); try { $requestJson = $realexHpp->requestToJson($hppRequest, false); // TODO: pass the HPP request JSON to the JavaScript, iOS or Android Library } catch (RealexValidationException $e) { // TODO: Add your error handling here } catch (RealexException $e) { // TODO: Add your error handling here }
Consuming Response JSON from Realex Payments JS Library
<?php require_once ('vendor/autoload.php'); use com\realexpayments\hpp\sdk\domain\HppResponse; use com\realexpayments\hpp\sdk\RealexHpp; $realexHpp = new RealexHpp("mySecret"); $hppResponse = $realexHpp->responseFromJson(responseJson);
License
See the LICENSE file.