文档概览

返回值说明

错误定义

0 成功
001 参数错误
002 充值号码不合法
003 帐号密码错误
004 余额不足
005 不存在指定流量包
006 不支持该地区
007 卡号或者密码错误
008 该卡已使用过
009 该卡不支持(移动/电信/联通)号码
010 协议版本错误
999 其他错误
 

签名算法

按照asc排序键值对参数名排序,拼接键值对字符串(参数名小写) ,需要把api key放到要签名的键值对最后。
例如sign=MD5(aaaa=aaaa&bbbb=bbbb&cccc=cccc&dddd=dddd&key=api密钥)
用32位MD5加密,生成的MD5小写 MD5采用UTF-8编码 范例参考文档底部
 
 
  var account = "";
  var mobile = "";
  var package = "";
  var key = "";
 
  //基本参数
  var action = "charge";
  var ver = "1.1";
  var host = "http://my.llt800.com";
  var page = "{0}/api.aspx?action={1}&v={2}&{3}&sign={4}";
 
  //协议参数
  var reqParams = new Dictionary<string, object>();
  reqParams.Add("account", account);
  reqParams.Add("mobile", mobile);
  reqParams.Add("package", package);
 
  //参数排序
  var orderedParams = reqParams.OrderBy(p => p.Key).ToDictionary(p => p.Key, p => p.Value);
 
  //参数拼接
  var strParam = "";
  foreach (var item in orderedParams)
    strParam += item.Key.ToLower() + "=" + item.Value.ToString() + "&";
  strParam = strParam.Trim('&');
 
  //构造URL
  var url = string.Format(page, host, action, ver, strParam, GetMD5(strParam + "&key=" + key));
 
  //请求
  var client = new WebClient();
  client.Encoding = Encoding.UTF8;
  var result = client.DownloadString(url);
 
  
  
  //与ASP兼容的MD5加密算法
  public static string GetMD5(string s)
  {
    MD5 md5 = new MD5CryptoServiceProvider();
    byte[] t = md5.ComputeHash(Encoding.GetEncoding("utf-8").GetBytes(s));
    StringBuilder sb = new StringBuilder(32);
    for (int i = 0; i < t.Length; i++)
    {
      sb.Append(t[i].ToString("x").PadLeft(2, '0'));
    }
    return sb.ToString();
  }
 
 
QQ在线咨询
服务热线
021-64360230
24小时电话
15900894283