1

我正在尝试设置一个用于支付的 Web 应用程序,并且我正在使用 realexpayments sdk。现在我只是在测试它是否有效。

这是错误:

致命错误:在 D:\home\site\wwwroot\Composer\vendor\realexpayments\rxp-remote-php\ 中出现未捕获的异常 'com\realexpayments\remote sdk\RealexServerException' 和消息 'incorrect sha1hash: check your code and developer's documentation' src\main\php\com-realexpayments-remote-sdk\RealexClient.php:206 堆栈跟踪:#0 D:\home\site\wwwroot\authorisation.php(35): com\realexpayments\remote\sdk\RealexClient- > send(Object(com\realexpayments\remote\sdk\domain\payment\PaymentRequest)) 1 {main} 在 D:\home\site\wwwroot\Composer\vendor\realexpayments\rxp-remote-php\src\main 中抛出\php\com-realexpayments-remote-sdk\RealexClient.php 在第 206 行

这是authorisation.php:

    require_once ( 'Composer/vendor/autoload.php' );
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);

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();

所有示例都替换为实际值。

谢谢!

4

1 回答 1

1

在大多数情况下,sha1hash 错误表明您签署请求的共享密钥不正确。

Global Payments 支持团队的成员将能够帮助您确认共享密钥。

最好的,

肖恩

环球支付

于 2018-05-04T07:24:28.617 回答