我需要在 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/