我正在尝试设置一个用于支付的 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();
所有示例都替换为实际值。
谢谢!