Проблема в интеграции GWT realex при регистрации новой карты - PullRequest
0 голосов
/ 20 марта 2010

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

Ответы [ 3 ]

0 голосов
/ 13 марта 2013

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

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

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

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

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

fc63ee950d69f275a0d54927072e4d675133ccfd 

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

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

fc63ee950d69f275a0d54927072e4d675133ccfd.yoursecret

Чтобы получить:

112bf11fae62dc3116800b4a00457206dc2f1308

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

Owen

0 голосов
/ 11 апреля 2013

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

$ 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);
0 голосов
/ 05 июня 2010

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

Чк это.

...