当前位置: 首页 > 知识库问答 >
问题:

在Realex付款中创建哈希

钦耀
2023-03-14

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

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

Timestamp.merchantID.payerref.ref.expirydate.cardnumber

这里有一个例子说明它应该是什么样子

20030516175919.yourmerchantid.mypayer.card01.1015.

当我运行以下方法时,我得到错误:

“SHA1哈希不正确-请检查您的代码和开发人员文档”

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

我做错了什么?

共有1个答案

贺华容
2023-03-14

谢谢你的留言。

在运行这行代码之前,您是否可以尝试:

string resultingHash=位转换器。ToString(hash.ComputeHash(Encoding.UTF8.GetBytes(builder.ToString()))

使“resultingHash”全部小写?

同样在运行之前:

resultingHash=位转换器。ToString(hash.ComputeHash(Encoding.UTF8.GetBytes(resultingHash))

将“结果哈希”也改为小写。

谢谢你,Borja

 类似资料:
  • 我正在尝试为全球支付网关创建定期支付。但在误差以下- 所选网关不支持此事务类型。 在服务器端,我得到的POST响应从支付网关与客户ID和支付ID。

  • 我们正在尝试将支付集成到我们的后端。在successfulls,它会自动将浏览器发送到。我们不需要该功能,因为我们的应用程序是SPA,所以我们不希望用户被重定向到任何地方。相反,我们希望自己将其发送到后端endpoint,并让用户继续进行SPA的下一部分。 下面是我们使用的示例代码。 在本例中,我们不希望发送到,而是希望获取的响应,并将数据传递给。 我们查看了源代码(第350-362行),似乎正在

  • 说明api接口绑定收款账户 请求地址 http://api.dc78.cn/Api/sys_createCollectionAccount 请求方式 POST 请求参数 参数 参数名称 描述 account_id 收款账号ID 不传值则为新增,传值则为编辑(编辑只允许修改收款账号名称) pay_type 支付通道类型 1:微信 2:支付宝 3:扫呗 account_name 账号名称(账号名称只用

  • 在您重定向到Realex输入详细信息之前,引用网址应该是您网站上的最后一页吗?如果是这样,那么如果你有动态网址呢?

  • 循环在具有特定键值对的文本文件上运行三次。每个循环都会返回一个新的散列,如下所示。我想将这些散列存储到另一个散列中。,和是散列的关键: 我将上述散列初始化为而不是我想将它们存储到散列中。我想初始化更大的散列,比如。 但它只给了我