商户流量充值协议(11)_第1页
商户流量充值协议(11)_第2页
商户流量充值协议(11)_第3页
商户流量充值协议(11)_第4页
商户流量充值协议(11)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 商户流量充值协议(1.1)2016-03-02目录1.请求和响应报文.32.API 请求地址.33.消息单元定义.33.1.单号码充流量 .33.2.批量充流量 .43.3.卡密充流量 .43.4.获取流量包定义 .53.5.查询余额 .63.6.获取状态 .63.7.推送状态 .73.8.主动状态查询(不建议使用).84.错误定义.85.签名算法.91.请求和响应报文接口采用 http 进行交互,所有提交参数均需要 UTF-8 的 urlencode 编码后传输,支持 GET 和POST 方式提交(数据量大则建议采用 POST)。返回报文统一使用 JSON,编码为 UTF-8,报文中某个可

2、选参数的值为空,则该标签可以不出现。请接入用户登录到平台在用户基本信息页获取 ApiKey标注 (签名) 的参数需要对其进行签名校验,签名算法参见文档尾2.API 请求地址http:/ 为实际的流量平台域名3.消息单元定义单号码充流量请求Action命令chargeV版本号1.1 固定值Range流量类型0 全国流量 1 省内流量,不带改参数时默认为 0OutTradeNo商户订单号商户系统内部的订单号,64 个字符内、可包含字母,可为空Account帐号 (签名)Mobile号码 (签名)Package套餐 (签名)流量包大小(必须在返回流量包选择内)Sign签名参见签名算法响应TaskID

3、任务编码 失败为空Code代码Message消息例:http:/ 固定值Range流量类型0 全国流量 1 省内流量,不带改参数时默认为 0OutTradeNo商户订单号商户系统内部的订单号,64 个字符内、可包含字母,可为空Account帐号(签名)CMPackage移动套餐(签名)如有移动号码则必传 传值参考 getPackage 返回参数CUPackage联通套餐(签名)如有联通号码则必传 传值参考 getPackage 返回参数CTPackage电信套餐(签名)如有电信号码则必传 传值参考 getPackage 返回参数Mobile号码(签名)半角逗号(,)分割Sign签名参见签名算法

4、响应TaskID任务编码失败为空Code代码Message消息例:http:/ 固定值Account帐号(签名)Mobile号码(签名)CardNo卡号(签名)Password卡密(签名)Sign签名参见签名算法响应TaskID任务编码失败为空Code代码Message消息例:http:/ 固定值Account帐号(签名)Type类型(签名)0:不指定, 1:移动, 2:联通, 3:电信Sign签名参见签名算法响应Code代码Message消息Packages +返回流量包 Package流量包 Name名称 Price价格例:http:/ 固定值Account帐号(签名)Sign签名参见签名

5、算法响应Code代码Message消息Balance余额例:http:/ getReportsV版本号 1.1 固定值Account帐号(签名)Count一次取数量(签名)Sign签名参见签名算法响应Code代码Message消息 Reports+返回记录 TaskID任务 Mobile手机 Status状态 4.状态成功, 5.状态失败 ReportTime时间 ReportCode代码说明 OutTradeNo商户订单号商户系统内部的订单号例:http:/ 建议获取到状态后先记录一个日志3.7.推送状态推送状态接口用户提供接收 http post 推送的 url 地址。接收到推送数据解析成

6、功后响应 ok,即为推送成功,否则尝试三次。若报告推送 1 小时未成功,则丢弃。推送数据格式为 json 数组。请求 http post 或者 get TaskID任务 Mobile手机 Status状态 4.状态成功, 5.状态失败 ReportTime时间 ReportCode代码说明 OutTradeNo商户订单号商户系统内部的订单号响应ok 为成功,其他则失败。HTTP GET 方式回调 key value 格式数据(数据会先被 utf-8 urlencode,且一次只会回调一条订单状态)。如:url?TaskID=3368382&Mobileamp;

7、Status=4&ReportTime=2015-12-21+23%3a08%3a14&ReportCode=4%ef%bc%9a%e6%88%90%e5%8a%9f%ef%bc%9a%e6%88%90%e5%8a%9f&OutTradeNo=4793558HTTP POST 方式回调 json 格式数据,以数据流方式 post(存在多条订单状态的情况)。如:TaskID:3,MobileStatus:5,ReportTime:2015-06-24T15:52:54.73,ReportCode:S:终止,TaskID:4,Mobile:1378

8、9679618,Status:4,ReportTime:2015-06-24T16:32:35.583,ReportCode:成功3.8.主动状态查询(不建议使用)请求Action命令 queryReportV版本号 1.1 固定值Account帐号(签名)TaskID任务 ID系统返回编号,可为空OutTradeNo商户订单号商户提交订单号,可为空,与上一个参数可二选一,可都填,不能都为空SendTime日期yyyy-MM-dd,任务提交时间,不能为空Sign签名参见签名算法响应Code代码Message消息 Reports+返回记录 TaskID任务 Mobile手机 Status状态 2

9、.提交成功,3.提交失败,4.状态成功, 5.状态失败 ReportTime时间 ReportCode代码说明 OutTradeNo商户订单号商户系统内部的订单号例:http:/ TaskID= 1& SendTime =2015-01-01&sign=MD54.错误定义001参数错误002充值号码不合法003帐号密码错误004余额不足005不存在指定流量包006不支持该地区007卡号或者密码错误008该卡已使用过009该卡不支持(移动/电信/联通)号码010协议版本错误100签名验证错误999其他错误5.签名算法按照 asc 排序键值对参数名排序,拼接键值对字符串(参数名小写

10、) ,需要把 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:/; var page = 0/api.aspx?ac

11、tion=1&v=2&3&sign=4; /协议参数 var reqParams = new Dictionary(); 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 i

12、tem 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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论