请求小微支付的上传图片接口时传入的xml:
<xml>
<mch_id>1497288</mch_id>
<media_hash><![CDATA[d41d8cd98f00b204e9800998ecf8427e]]></media_hash>
<sign><![CDATA[20F7E5798BF1DD7F9E26564AFD48EBA091BE44AA41DBF19CA71E972DEBC7DBB3]]></sign>
<sign_type><![CDATA[HMAC-SHA256]]></sign_type>
</xml>
加密方式是官网下的那一套逻辑,全部有关支付的接口都是用这一套。
图片加密用的C#的MD5CryptoServiceProvider方法,加密后长度为32位
/// <summary>
/// 文件加密
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
public static string MD5HashFromFile(Stream file)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] retVal = md5.ComputeHash(file);
file.Close();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < retVal.Length; i++)
{
sb.Append(retVal[i].ToString("x2"));
}
return sb.ToString();
}
测试过,请求自己的接口能接受到xml参数,但是就是一直报参数错误
上面那个mchId我提问的时候去掉了几个数字
我看到错误提示那里有签名错误、商户号错误、xml错误,所以参数是单个验证的,加入我单个参数不匹配应该也是报这几个错误,不知道“参数错误”是指什么地方的错。
你好,参看文档示例