根据微信支付v3.3.6的开发问题,在调用“统一支付”接口,获取预支付ID的时候,如果参数里面有中文总是提示“签名错误”,如果没有中文可以签名成功,有没有谁也遇到过这种情况?
ps:使用的是js+C#,官方文档只有php的demo,求帮助。
根据微信支付v3.3.6的开发问题,在调用“统一支付”接口,获取预支付ID的时候,如果参数里面有中文总是提示“签名错误”,如果没有中文可以签名成功,有没有谁也遇到过这种情况?
ps:使用的是js+C#,官方文档只有php的demo,求帮助。
http://www.cnblogs.com/zhangs1986/p/4043987.html
/// <summary>
/// 请求签名。
/// </summary>
/// <param name="parameters">所有字符型的非secret请求参数</param>
/// <param name="secret">签名密钥</param>
/// <returns>签名</returns>
public static string SignRequest(IDictionary<string, string> parameters, string secret)
{
string string1 = string.Join("&", parameters
.Where(t => !string.IsNullOrEmpty(t.Key) && !string.IsNullOrEmpty(t.Value))
.OrderBy(t => t.Key)
.Select(t => t.Key + "=" + t.Value));
string1 += "&key=" + secret;
MD5 md5 = MD5.Create();
byte[] bytes = md5.ComputeHash(Encoding.UTF8.GetBytes(string1));
StringBuilder result = new StringBuilder();
for (int i = 0; i < bytes.Length; i++)
{
result.Append(bytes[i].ToString("X2"));
}
return result.ToString();
}
http://blog.csdn.net/qiwenmingshiwo/article/details/41902551
1 回答1.8k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
776 阅读
检查下你的参数是否正确....生成prepay_id 是几个支付参数进行 Ksort 排序 然后MD5加密 之后发送验证的~可以参考一下微信支付