3

有効期限を更新し、Realex 支払いの既存のカードのカード所有者名を更新する必要があります。

ハッシュ値の構文は、次の形式にする必要があります。

Timestamp.merchantID.payerref.ref.expirydate.cardnumber

そして、これがどのように見えるべきかの例です

20030516175919.yourmerchantid.mypayer.card01.1015.

次のメソッドを実行すると、エラーが発生します。

「sha1hash が正しくありません - コードと開発者用ドキュメントを確認してください」

private string ReturnHash(string timeStamp, string merchantId, string payerRef, string reference, string expDate, string cardNum )
{
    SHA1 hash = new SHA1Managed();
    StringBuilder builder = new StringBuilder();

    builder.Append(timeStamp).Append(".");
    builder.Append(merchantId).Append(".");
    builder.Append(payerRef).Append(".");
    builder.Append(reference).Append(".");
    builder.Append(expDate).Append(".");
    builder.Append(cardNum );

    string resultingHash = BitConverter.ToString(hash.ComputeHash(Encoding.UTF8.GetBytes(builder.ToString())));
    resultingHash = BitConverter.ToString(hash.ComputeHash(Encoding.UTF8.GetBytes(resultingHash)));

    return resultingHash;
}

私は何を間違っていますか?

4

1 に答える 1

0

メッセージありがとうございます。

このコード行を実行する前に試していただけますか:

string resultingHash = BitConverter.ToString(hash.ComputeHash(Encoding.UTF8.GetBytes(builder.ToString())));

「resultingHash」をすべて小文字にするには?

また、実行する前に:

resultingHash = BitConverter.ToString(hash.ComputeHash(Encoding.UTF8.GetBytes(resultingHash)));

「resultingHash」も小文字にします。

ありがとう、ボルハ

于 2016-02-19T17:50:29.020 に答える