我需要更新到期日并更新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;
}
我做错了什么?
答案 0 :(得分:0)
感谢您的留言。
你可以在运行这行代码之前尝试一下:
string resultingHash = BitConverter.ToString(hash.ComputeHash(Encoding.UTF8.GetBytes(builder.ToString())));
使“resulHash”全部小写?
在跑步之前:
resultingHash = BitConverter.ToString(hash.ComputeHash(Encoding.UTF8.GetBytes(resultingHash)));
将“resulHash”设为小写。
谢谢, 博尔哈