Проблема в интеграции GWT realex при регистрации новой карты

В моем приложении я использую realex для оплаты суммы. При этом я регистрировал нового пользователя с помощью realex, но после этого, когда я пытался добавить новую карту, я получал ответ от realex, что хэш Sha1 неверен. Я проверил структуру хэша sha1, это все Правильно, но все же я получаю эту ошибку. Если кто-нибудь знает это, пожалуйста, сообщите мне.

3 ответа

Может быть, вы пропустили любую точку в вашем методе генерации SHA1

Чк это.

Вы пытаетесь обработать новую транзакцию с карты? Правильные поля для использования в sha1hash:

timestamp.merchantid.orderid.amount.currency.payerref.chname.cardnumber

В новом запросе карты сумма и валюта будут пустыми, поэтому вы создадите строку, объединив другие значения, соединенные точками, например

20130312105733.yourclientid.yourorderid...yourpayerref.cardholdername.4242424242424242

Получите sha1hash этого (убедитесь, что вы конвертируете полученный хеш в строчные шестнадцатеричные буквы! Это важно, чтобы следующий шаг выполнялся так же, как это делает Realex)

fc63ee950d69f275a0d54927072e4d675133ccfd 

(Не: FC63EE950D69F275A0D54927072E4D675133CCFD - ваша библиотека SHA1 может создавать хэши в верхнем регистре - вы должны преобразовать в строчные.)

Затем добавьте точку и свой секрет и снова хеш.

fc63ee950d69f275a0d54927072e4d675133ccfd.yoursecret

Получить:

112bf11fae62dc3116800b4a00457206dc2f1308

Опять же, убедитесь, что вы конвертируете в строчные шестнадцатеричные буквы, как у меня.

Оуэн

Убедитесь, что вы передаете правильные данные как параметры. В настоящее время я использую метод ниже, и он отлично работает на моем сайте..

$ today_timestamp:- текущая временная метка $merchant_id:- ваш merchantID $order_id: убедитесь, что вы передаете правильный идентификатор заказа и проверены с использованием правил, указанных в документации для разработчика. $ сумму:- текущая цена. Это должно быть полное число. пример: если пользователь хочет заплатить 4 доллара, то это должно быть 400.. валюта: в моем случае это GBP.

$sha1hash = $today_timestamp . "." . $merchant_id . "." . $order_id . "." .  $amount . "." .  $currency   ;
    $sha1hashed_string = sha1($sha1hash);
    $string_with_shared_secret = $sha1hashed_string . "." .   $shared_secret;

    $sha1hash_string = sha1($string_with_shared_secret);
Другие вопросы по тегам