c# - 在 Realex 支付中创建哈希

标签 c# realex-payments-api

我需要在 Realex 付款中更新到期日期并更新现有卡上的持卡人姓名。

哈希值语法应采用以下格式:

Timestamp.merchantID.payerref.ref.expirydate.cardnumber

下面是它的外观示例

20030516175919.yourmerchantid.mypayer.card01.1015.

当我运行以下方法时出现错误:

"sha1hash incorrect - check your code and the Developers Documentation"

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;
}

我做错了什么?

最佳答案

感谢您的留言。

你能不能在运行这行代码之前试一下:

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

要使“resultingHash”全部小写?

同样在运行之前:

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

也将“resultingHash”设为小写。

谢谢, 博尔哈

关于c# - 在 Realex 支付中创建哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35481715/

相关文章:

c# - 尝试使用 C# 发送 XML 时出现错误网关 502 错误

c# - 证书吊销列表 c#

c# to vb 转换对象初始化

java - strip 池中可能出现饥饿且死锁为真 - Apache Ignite

c# - 具有相同名称的泛型和非泛型类型的约定

c# - 回发时转到页面顶部

javascript - Realex 监听器

javascript - 试图弄清realexpayments-js(rxp-js)