承接 realexpayments/rxp-remote-php 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

realexpayments/rxp-remote-php

最新稳定版本:v1.2.2

Composer 安装命令:

composer require realexpayments/rxp-remote-php

包简介

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

README 文档

README

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

Requirements

Instructions

  1. Add the following to your 'composer.json' file

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

    composer update 

    OR (depending on your server configuration)

    php composer.phar update 
  3. Add a reference to the autoloader class anywhere you need to use the sdk

    require_once ( 'vendor/autoload.php' );
  4. Use the sdk

    $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.

统计信息

  • 总下载量: 113.18k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 22
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 21
  • Watchers: 7
  • Forks: 26
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固