Я пытаюсь настроить веб-приложение для оплаты и использую realexpayments sdk. Сейчас я просто проверяю, работает ли это.
Это ошибка:
Fatal error: Uncaught exception 'com\realexpayments\remote sdk\RealexServerException'with message 'incorrect sha1hash: check your code and developer's documentation' in D:\home\site\wwwroot\Composer\vendor\realexpayments\rxp-remote-php\src\main\php\com-realexpayments-remote-sdk\RealexClient.php:206 Stack trace: #0 D:\home\site\wwwroot\authorisation.php(35): com\realexpayments\remote\sdk\RealexClient->send(Object(com\realexpayments\remote\sdk\domain\payment\PaymentRequest)) #1 {main} thrown in D:\home\site\wwwroot\Composer\vendor\realexpayments\rxp-remote-php\src\main\php\com-realexpayments-remote-sdk\RealexClient.php on line 206
И это авторизация.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();
Все примеры заменены реальными значениями.
Спасибо!
В большинстве случаев ошибка sha1hash указывает на неверность общего секретного ключа, которым вы подписали запрос.
Член группы поддержки Global Payments сможет помочь вам с подтверждением общего секрета.
Лучший,
Seán
Глобальные платежи
Других решений пока нет …