2017 © Pedro Peláez
 

library rxp-remote-php

SDK to send requests and parse responses from Realex Payments using Remote

image

realexpayments/rxp-remote-php

SDK to send requests and parse responses from Realex Payments using Remote

  • Thursday, March 22, 2018
  • by realexpayments
  • Repository
  • 6 Watchers
  • 14 Stars
  • 5,654 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 15 Forks
  • 4 Open issues
  • 6 Versions
  • 43 % Grown

The README.md

Realex Payments Remote PHP SDK

You can sign up for a free Realex Payments sandbox account at https://www.realexpayments.co.uk/developers, (*1)

Requirements

  • PHP >= 5.3.9
  • Composer (https://getcomposer.org/)

Instructions

  1. Add the following to your 'composer.json' file, (*2)

    {
        "require": {
            "realexpayments/rxp-remote-php": "1.2.2"
        }    
    }
    
  2. Inside the application directory run composer:, (*3)

    composer update
    

    OR (depending on your server configuration), (*4)

    php composer.phar update
    
  3. Add a reference to the autoloader class anywhere you need to use the sdk, (*5)

    require_once ( 'vendor/autoload.php' );
    
  4. Use the sdk br/, (*6)

    $card = ( new Card() )                                                            
            ->addType( CardType::VISA ) 
            ->addNumber( "4263971921001307" ) 
        ....
    

Usage

Authorisation

require_once ( 'vendor/autoload.php' );

use com\realexpayments\remote\sdk\domain\Card;                                            
use com\realexpayments\remote\sdk\domain\CardType;
use com\realexpayments\remote\sdk\domain\PresenceIndicator;
use com\realexpayments\remote\sdk\domain\payment\AutoSettle;                              
use com\realexpayments\remote\sdk\domain\payment\AutoSettleFlag;
use com\realexpayments\remote\sdk\domain\payment\PaymentRequest;
use com\realexpayments\remote\sdk\domain\payment\PaymentResponse;                   
use com\realexpayments\remote\sdk\domain\payment\PaymentType;                             
use com\realexpayments\remote\sdk\RealexClient;

$card = ( new Card() )                                                            
    ->addType( CardType::VISA ) 
    ->addNumber( "4263971921001307" )                                         
    ->addExpiryDate( "1220" )
    ->addCvn( "123" )
    ->addCvnPresenceIndicator( PresenceIndicator::CVN_PRESENT )
    ->addCardHolderName( "James Mason" );                                     

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )                                                  
    ->addType( PaymentType::AUTH )                                            
    ->addCard( $card )                                                                                      
    ->addAmount( 1001 )                                                         
    ->addCurrency( "EUR" )                                                    
    ->addAutoSettle( ( new AutoSettle() )->addFlag( AutoSettleFlag::TRUE ) ); 


$client   = new RealexClient( "Shared Secret" );                                     
$response = $client->send( $request );

// do something with the response
echo $response->toXML();

$resultCode = $response->getResult();
$message = $response->getMessage();

Authorisation (With Address Verification)

$card = ( new Card() )
    ->addNumber( "4263971921001307" )
    ->addType( CardType::VISA )
    ->addCardHolderName( "James Mason" );
    ->addCvn( "123" )
    ->addCvnPresenceIndicator( PresenceIndicator::CVN_PRESENT )
    ->addExpiryDate( "1220" );

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )
    ->addType( PaymentType::AUTH )
    ->addAmount( 1001 )           
    ->addCurrency( "EUR" )                  
    ->addCard( $card )       
    ->addAutoSettle( ( new AutoSettle() )->addFlag( AutoSettleFlag::TRUE ) )
    ->addAddressVerificationServiceDetails("382 The Road", "WB1 A42");

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Authorisation (Mobile)

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )
    ->addType( PaymentType::AUTH_MOBILE )
    ->addAutoSettle( ( new AutoSettle() )->addFlag( AutoSettleFlag::TRUE ) )
    ->addMobile("apple-pay")
    ->addToken("{auth mobile payment token}");

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Settle

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )  
    ->addType( PaymentType::SETTLE )
    ->addOrderId("Order ID from original transaction")
    ->addAmount( 1001 )           
    ->addCurrency( "EUR" )                  
    ->addPaymentsReference("pasref from original transaction");


$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Void

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )  
    ->addType( PaymentType::VOID )
    ->addOrderId("Order ID from original transaction")
    ->addPaymentsReference("pasref from original transaction");

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Rebate

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )  
    ->addType( PaymentType::REBATE )
    ->addOrderId("Order ID from original transaction")
    ->addAmount( 1001 )           
    ->addCurrency( "EUR" )                  
    ->addPaymentsReference("pasref from original transaction")
    ->addAuthCode("Auth code from original transaction")
    ->addRefundHash("SHA1 hash of rebate password");

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

OTB

$card = ( new Card() )
    ->addNumber( "4263971921001307" )
    ->addType( CardType::VISA )
    ->addCardHolderName( "James Mason" )
    ->addCvn( "123" )
    ->addCvnPresenceIndicator( PresenceIndicator::CVN_PRESENT )
    ->addExpiryDate( "1220" );

 $request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )  
    ->addType( PaymentType::OTB )
    ->addCard( $card );

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );  

Refund

$card = ( new Card() )
    ->addNumber( "4263971921001307" )
    ->addType( CardType::VISA )
    ->addCardHolderName( "James Mason" )
    ->addCvn( "123" )
    ->addCvnPresenceIndicator( PresenceIndicator::CVN_PRESENT )
    ->addExpiryDate( "1220" );

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )
    ->addType( PaymentType::REFUND )
    ->addAmount( 1001 )           
    ->addCurrency( "EUR" )
    ->addCard( $card )
    ->addRefundHash( "Hash of credit password shared with Realex" );

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Hold

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )
    ->addType( PaymentType::HOLD )
    ->addOrderId( "Order ID from original transaction" )
    ->addReasonCode( ReasonCode::FRAUD)
    ->addPaymentsReference( "Pasref from original transaction" );

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Release

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )
    ->addType( PaymentType::RELEASE )
    ->addOrderId( "Order ID from original transaction" )
    ->addReasonCode( ReasonCode::FRAUD)
    ->addPaymentsReference( "Pasref from original transaction" );

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Receipt-In

$paymentData = ( new PaymentData() )
    ->addCvnNumber( "123" );

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )  
    ->addType( PaymentType::RECEIPT_IN )
    ->addAmount( 100 )
    ->addCurrency( "EUR" )        
    ->addPayerReference( "payer ref for customer" )
    ->addPaymentMethod( "payment method ref for card" )
    ->addPaymentData( $paymentData );

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Payment-out

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )  
    ->addType( PaymentType::PAYMENT_OUT )   
    ->addAmount( 100 )
    ->addCurrency( "EUR" )        
    ->addPayerReference( "payer ref for customer" )
    ->addPaymentMethod( "payment method ref for card" )
    ->addRefundHash("Hash of rebate password shared with Realex");

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Payer-new

$address = ( new PayerAddress() )
    ->addLine1( "Flat 123" )
    ->addLine2( "House 456" )
    ->addLine3( "The Cul-De-Sac" )
    ->addCity( "Halifax" )
    ->addCounty( "West Yorkshire" )
    ->addPostcode( "W6 9HR" )
    ->addCountryCode( "GB" )
    ->addCountryName( "United Kingdom" );


$payer = ( new Payer() )
    ->addType( "Business" )
    ->addRef( "0f357b45-9aa4-4453-a685-c69232e9024f" )
    ->addTitle( "Mr" )
    ->addFirstName( "James" )
    ->addSurname( "Mason" )
    ->addCompany( "Realex Payments" )
    ->addAddress( $address )
    ->addHomePhoneNumber( "+35317285355" )
    ->addWorkPhoneNumber( "+35317433923" )
    ->addFaxPhoneNumber( "+35317893248" )
    ->addMobilePhoneNumber( "+353873748392" )
    ->addEmail( "test@example.com" )
    ->addComment( "Campaign Ref E7373G" )
    ->addComment( "Website Sign-Up" );

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )  
    ->addType( PaymentType::PAYER_NEW )     
    ->addPayer( $payer );

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Payer-edit

$address = ( new PayerAddress() )
    ->addLine1( "Flat 456"  )
    ->addLine2( "House 321" )
    ->addLine3( "Basement Flat" )
    ->addCity( "Rathmines" )
    ->addCounty( "Dublin" )
    ->addPostcode( "6" )
    ->addCountryCode( "IE" )
    ->addCountryName( "Ireland" );


$payer = ( new Payer() )
    ->addType( "Subscriber" )
    ->addRef( "0f357b45-9aa4-4453-a685-c69232e9024f" )
    ->addTitle( "Mr" )
    ->addFirstName( "Philip" )
    ->addSurname( "Marlowe" )
    ->addCompany( "Pinkerton" )
    ->addAddress( $address )
    ->addHomePhoneNumber( "+3538547854" )
    ->addWorkPhoneNumber( "+3535611177" )
    ->addFaxPhoneNumber( "+12459498488" )
    ->addMobilePhoneNumber( "+2554457774" )
    ->addEmail( "test123@example.com" )
    ->addComment( "New Subscription" )
    ->addComment( "12 Months" );

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )
    ->addType(PaymentType::PAYER_EDIT)      
    ->addPayer( $payer );

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Card-new

$card = ( new Card() )
    ->addReference( "10c6a2c7-be7b-a13f-12638937a012" )
    ->addPayerReference( "0f357b45-9aa4-4453-a685-c69232e9024f" )
    ->addNumber( "4263971921001307" )
    ->addType( CardType::VISA )
    ->addCardHolderName( "James Mason" )
    ->addExpiryDate( "1220" );

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )
    ->addType( PaymentType::CARD_NEW )  
    ->addCard( $card );

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Card-edit

$card = ( new Card() )
    ->addReference( "10c6a2c7-be7b-a13f-12638937a012" )
    ->addPayerReference( "0f357b45-9aa4-4453-a685-c69232e9024f" )
    ->addNumber( "5425230000004415" )
    ->addType( CardType::MASTERCARD )
    ->addCardHolderName( "James Mason" )
    ->addExpiryDate( "1220" );

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )
    ->addType( PaymentType::CARD_UPDATE )  
    ->addCard( $card );

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Card-delete

$card = ( new Card() )
    ->addReference( "10c6a2c7-be7b-a13f-12638937a012" )
    ->addPayerReference( "0f357b45-9aa4-4453-a685-c69232e9024f" )

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )
    ->addType( PaymentType::CARD_CANCEL )   
    ->addCard($card);

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Verify Stored Card Enrolled

$paymentData = new PaymentData()
    ->addCvnNumber( "123" );


$request = ( new ThreeDSecureRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )
    ->addType( ThreeDSecureType::VERIFY_STORED_CARD_ENROLLED )
    ->addAmount( 100 )
    ->addCurrency( "EUR" )        
    ->addReference( "10c6a2c7-be7b-a13f-12638937a012" )
    ->addPayerReference( "0f357b45-9aa4-4453-a685-c69232e9024f" )
    ->addPaymentData( $paymentData )
    ->addAutoSettle( ( new AutoSettle() )->addFlag( AutoSettleFlag::TRUE ) );


$client   = new RealexClient( "Shared Secret" );
$response = $client->send($request);

DCC Rate Lookup

$card = ( new Card() )
    ->addNumber( "4006097467207025" )
    ->addType( CardType::VISA )
    ->addCardHolderName( "James Mason" )
    ->addCvn( "123" )
    ->addCvnPresenceIndicator( PresenceIndicator::CVN_PRESENT )
    ->addExpiryDate( "1220" );

$dccInfo = ( new DccInfo() )
    ->addDccProcessor( "fexco" )
    ->addRateType( "S" )
    ->addType( "1" );

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )
    ->addType( PaymentType::DCC_RATE_LOOKUP )
    ->addAmount(100)
    ->addCurrency( "EUR" )        
    ->addCard( $card )
    ->addDccInfo( $dccInfo );

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Authorisation with DCC Information

$card = ( new Card() )
    ->addNumber( "4006097467207025" )
    ->addType( CardType::VISA )
    ->addCardHolderName( "James Mason" )
    ->addCvn( "123" )
    ->addCvnPresenceIndicator( PresenceIndicator::CVN_PRESENT )
    ->addExpiryDate( "1220" );

$dccInfo = ( new DccInfo() )
    ->addDccProcessor( "fexco" )
    ->addRateType( "S" )
    ->addType( "1" );
    ->addRate( 0.6868 )
    ->addAmount( 13049 )
    ->addCurrency( "AUD" );

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )
    ->addType(PaymentType::DCC_AUTH)
    ->addAmount( 19000 )
    ->addCurrency( "EUR" )        
    ->addCard( $card )
    ->addDccInfo( $dccInfo );

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );

Receipt-In OTB

$request = ( new PaymentRequest() )
    ->addMerchantId( "Merchant ID" )
    ->addAccount( "internet" )  
    ->addType( PaymentType::RECEIPT_IN_OTB )
    ->addPayerReference( "03e28f0e-492e-80bd-20ec318e9334" )
    ->addPaymentMethod( "3c4af936-483e-a393-f558bec2fb2a" );

$client   = new RealexClient( "Shared Secret" );
$response = $client->send( $request );  

Stored Card DCC Rate Lookup


$dccInfo = ( new DccInfo() ) ->addDccProcessor( "fexco" ) ->addRateType( "S" ) ->addType( "1" ); $request = ( new PaymentRequest() ) ->addMerchantId( "Merchant ID" ) ->addAccount( "internet" ) ->addType(PaymentType::STORED_CARD_DCC_RATE) ->addAmount( 1001 ) ->addCurrency( "EUR" ) ->addPayerReference( "03e28f0e-492e-80bd-20ec318e9334" ) ->addPaymentMethod( "3c4af936-483e-a393-f558bec2fb2a" ) ->addDccInfo( $dccInfo ); $client = new RealexClient( "Shared Secret" ); $response = $client->send( $request );

Fraud Filter Request


$card = ( new Card() ) ->addNumber( "4006097467207025" ) ->addType( CardType::VISA ) ->addCardHolderName( "James Mason" ) ->addCvn( "123" ) ->addCvnPresenceIndicator( PresenceIndicator::CVN_PRESENT ) ->addExpiryDate( "1220" ); $request = ( new PaymentRequest() ) ->addMerchantId( "Merchant ID" ) ->addAccount( "internet" ) ->addType( PaymentType::AUTH ) ->addCard( $card ) ->addAmount( 10001 ) ->addCurrency( "EUR" ) ->addAutoSettle( ( new AutoSettle() )->addFlag( AutoSettleFlag::TRUE ) ) ->addFraudFilter( ( new FraudFilter() )->addMode( FraudFilterMode::PASSIVE ) ); $client = new RealexClient( "Shared Secret" ); $response = $client->send( $request );

Fraud Filter Response

// request is fraud filter
$response = $client->send( $request );  

$mode = $response->getFraudFilter()->getMode();
$result = $response->getFraudFilter()->getResult();
//array of FraudFilter Rule Actions
$rules = $response->getFraudFilter()->getRules();
foreach($rules->getRules() as $rule)
{
    echo $rule->getId();
    echo $rule->getName();
    echo $rule->getAction();
}
//or
echo $rules->get(0)->getId();

License

See the LICENSE file., (*7)

The Versions

22/03 2018

dev-master

9999999-dev

SDK to send requests and parse responses from Realex Payments using Remote

  Sources   Download

MIT

The Requires

 

payments remote realex

22/03 2018

v1.2.2

1.2.2.0

SDK to send requests and parse responses from Realex Payments using Remote

  Sources   Download

MIT

The Requires

 

payments remote realex

21/11 2017

v1.2.1

1.2.1.0

SDK to send requests and parse responses from Realex Payments using Remote

  Sources   Download

MIT

The Requires

 

payments remote realex

24/01 2017

v1.2

1.2.0.0

SDK to send requests and parse responses from Realex Payments using Remote

  Sources   Download

MIT

The Requires

 

payments remote realex

22/02 2016

v1.1

1.1.0.0

SDK to send requests and parse responses from Realex Payments using Remote

  Sources   Download

MIT

The Requires

 

payments remote realex

15/09 2015

v1.0

1.0.0.0

SDK to send requests and parse responses from Realex Payments using Remote

  Sources   Download

MIT

The Requires

 

payments remote realex