0

私のアプリケーションでは、金額を支払うためにrealexを使用しています。その間、新しいユーザーをrealexに登録しましたが、その後新しいカードを追加しようとすると、sha1ハッシュが正しくないというrealexからの応答を受け取りました.sha1ハッシュ構造を確認しました正しいですが、それでもこのエラーが発生します。誰かがこれを知っている場合は教えてください。

4

3 に答える 3

0

may be you missing any dot in your SHA1 Generation method

Chk it.

于 2010-06-05T18:27:24.283 に答える
0

permeters として適切なデータを渡すことを確認してください。現在、以下の方法を使用しており、私のサイトでは正常に動作します。

$today_timestamp :- 現在のタイムスタンプ $merchant_id :- あなたのマーチャント ID $order_id: 正しい注文 ID を渡しており、開発者向けドキュメントで提供されているルールを使用して検証されていることを確認してください.. $amount :- 現在の価格。これは全桁でなければなりません。例: ユーザーが $4 を支払いたい場合、それは 400 でなければなりません.. $currency:- 私の場合、これは 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);
于 2013-04-11T05:59:44.120 に答える
0

あなたはカードの新しい取引を処理しようとしていたと思いますか? sha1hash で使用する正しいフィールドは次のとおりです。

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

card-new リクエストでは、amount と currency は空白になるため、ドットで結合された他の値を連結して文字列を作成します。

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

この sha1hash を取得します (結果のハッシュを小文字の 16 進数文字に必ず変換してください! これは、次のステップが Realex と同じ方法で実行されるために不可欠です)

fc63ee950d69f275a0d54927072e4d675133ccfd 

(注: FC63EE950D69F275A0D54927072E4D675133CCFD - SHA1 ライブラリは大文字のハッシュを生成する場合があります - 小文字に変換する必要があります。)

次に、ドットとシークレットを追加して、もう一度ハッシュします。

fc63ee950d69f275a0d54927072e4d675133ccfd.yoursecret

取得するため:

112bf11fae62dc3116800b4a00457206dc2f1308

繰り返しますが、私のように小文字の 16 進数に変換してください。

オーウェン

于 2013-03-12T23:17:37.100 に答える