【发布时间】:2016-02-18 12:38:15
【问题描述】:
我需要在 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;
}
我做错了什么?
【问题讨论】:
-
您使用的是什么产品?我知道使用 Realex RealAuth 时,哈希值必须为小写(参见第 16 页)。您的代码似乎没有这样做。 resourcecentre.realexpayments.com/documents/pdf.html?id=137
-
@DamienDennehy 它的真实保险库。那是一样的吗?我对整个付款很陌生。
-
单独的产品,但上面有文档。 resourcecentre.realexpayments.com/documents/pdf.html?id=152 第 18 页和第 19 页上有一个示例 SHA1 哈希,您应该尝试使用您的代码进行复制。如果它与 Realex 的样本值不匹配,那么您的方法可能做错了什么。
-
@DamienDennehy 太好了,感谢您提供的文档。更进一步