敢客H5SDK

敢客H5SDK


充值回调

<h6>支付完成,SDK以GET形式将以下参数传递至游戏发货地址:</h6> <table> <thead> <tr> <th style="text-align: left;">字段名</th> <th style="text-align: left;">字段类型</th> <th style="text-align: left;">字段内容</th> <th style="text-align: left;">字段详细说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">uid</td> <td style="text-align: left;">字符串</td> <td style="text-align: left;">用户身份标识</td> <td style="text-align: left;">一般由渠道给出的唯一身份标识,该字段CP需要映射至角色标识上。</td> </tr> <tr> <td style="text-align: left;">appid</td> <td style="text-align: left;">字符串</td> <td style="text-align: left;">APPID</td> <td style="text-align: left;">该ID由独角兽在游戏接入前分配,是游戏的唯一标识</td> </tr> <tr> <td style="text-align: left;">rmb</td> <td style="text-align: left;">数字</td> <td style="text-align: left;">付费金额</td> <td style="text-align: left;">用户真实的付费金额,单位为人名币(元)。</td> </tr> <tr> <td style="text-align: left;">channel</td> <td style="text-align: left;">字符串</td> <td style="text-align: left;">渠道标识</td> <td style="text-align: left;">用户所在渠道的标示,需要对渠道区分统计和订单统计时可供调用。【渠道标识与渠道名称对应详见】</td> </tr> <tr> <td style="text-align: left;">wareid</td> <td style="text-align: left;">数字</td> <td style="text-align: left;">商品ID</td> <td style="text-align: left;">游戏商品ID</td> </tr> <tr> <td style="text-align: left;">trans_id</td> <td style="text-align: left;">字符串</td> <td style="text-align: left;">渠道支付订单号</td> <td style="text-align: left;">支付平台提供的订单号。</td> </tr> <tr> <td style="text-align: left;">notify_id</td> <td style="text-align: left;">字符串</td> <td style="text-align: left;">通知ID</td> <td style="text-align: left;">渠道通知id,CP通过notify_id查询订单是否付费成功</td> </tr> <tr> <td style="text-align: left;">userdata</td> <td style="text-align: left;">字符串</td> <td style="text-align: left;">用户信息</td> <td style="text-align: left;">透传参数, CP在支付接口调用时自定义传递的用户信息</td> </tr> <tr> <td style="text-align: left;">txid</td> <td style="text-align: left;">字符串</td> <td style="text-align: left;">商品订单号</td> <td style="text-align: left;">CP在支付接口调用时自定义传递的商品订单号。</td> </tr> <tr> <td style="text-align: left;">sign</td> <td style="text-align: left;">字符串</td> <td style="text-align: left;">数字签名</td> <td style="text-align: left;">签名值sign是将请求源串以及密钥根据一定签名方法生成的签名值,用来提高传输过程参数的防篡改性。CP收到请求后可以匹配根据算法算出来的sign,比对参数中的sign,作为安全保证。(签名方法见附录)</td> </tr> </tbody> </table> <h6>1. 支付完成,SDK以GET形式将以下参数传递至游戏发货地址:</h6> <h6>2. 发货成功请直接返回:“SUCCESS”(不包含引号,并且全部为大写字母)。</h6> <h6>3. 如果该笔订单为重复发货也请返回“SUCCESS”。</h6> <h1>一、通用返回值</h1> <h3>接口返回字段约定:</h3> <table> <thead> <tr> <th style="text-align: left;">返回值类型</th> <th style="text-align: left;">字段类型</th> <th style="text-align: left;">返回值说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">小于 -10000</td> <td style="text-align: left;">自定义系统错误</td> <td style="text-align: left;">给予接口自定义系统错误的返回码区间。</td> </tr> <tr> <td style="text-align: left;">-1</td> <td style="text-align: left;">未知的系统错误</td> <td style="text-align: left;">无法确定的问题出现时统一返回码。</td> </tr> <tr> <td style="text-align: left;">0</td> <td style="text-align: left;">成功</td> <td style="text-align: left;">接口获取、调用成功时的返回码。</td> </tr> <tr> <td style="text-align: left;">1</td> <td style="text-align: left;">时间戳过期</td> <td style="text-align: left;">提交的timestamp已经过期。(5分钟)</td> </tr> <tr> <td style="text-align: left;">2</td> <td style="text-align: left;">无效签名</td> <td style="text-align: left;">Sign传值错误</td> </tr> <tr> <td style="text-align: left;">3</td> <td style="text-align: left;">验证安全秘钥错误</td> <td style="text-align: left;">Pkey传值错误</td> </tr> <tr> <td style="text-align: left;">4</td> <td style="text-align: left;">参数传递错误</td> <td style="text-align: left;">传参中有类型错误或者没有传参</td> </tr> <tr> <td style="text-align: left;">大于10000</td> <td style="text-align: left;">自定义逻辑错误</td> <td style="text-align: left;">给予接口自定义逻辑错误的返回码区间。</td> </tr> <tr> <td style="text-align: left;">10001</td> <td style="text-align: left;">登录错误</td> <td style="text-align: left;">未登录或者登录超时</td> </tr> </tbody> </table> <h3>二、充值回调sign生成规则</h3> <h4>在请求url参数列表中,除去sign参数外,其他需要使用到的参数皆是要签名的参数。举例对于如下的参数数组:(该业务Appid为:LQ3CxWkVVcQIC)</h4> <ul> <li><code>http://test.game.com/interface?cmd=10021&amp;timestamp=1478856861&amp;sign=8AA8DF01BD786AB1E1D051B3DFA50AD5&amp;pkey=20d7982dbd1aabc55abf9a762b812c49&amp;openid=FA3049638D0745D0C5C14BF551550746</code></li> </ul> <h6>即:</h6> <pre><code> parameters = { "cmd"=10021, "timestamp"=1478856861 "pkey"="20d7982dbd1aabc55abf9a762b812c49", "openid"="FA3049638D0745D0C5C14BF551550746" };</code></pre> <h5>对数组里的每一个值从a到z的顺序排序,若遇到相同首字母,则看第二个字母,以此类推。 排序完成之后,再把所有数组值以“&amp;”字符连接起来,如面这个参数数组生成请求如下 :</h5> <ul> <li><code>cmd=10021&amp;openid=FA3049638D0745D0C5C14BF551550746&amp;pkey=20d7982dbd1aabc55abf9a762b812c49&amp;timestamp=1478856861</code></li> </ul> <h5>以上这串字符串便是待签名字符串。当拿到请求时的待签名字符串后,需要把“key=业务秘钥”这个参数拼接到待签名字符串后面,形成新的字符串,示例如下:(该业务secretKey为:0BvUCyWW3gbWIitR)</h5> <ul> <li><code>cmd=10021&amp;openid=FA3049638D0745D0C5C14BF551550746&amp;pkey=20d7982dbd1aabc55abf9a762b812c49&amp;timestamp=1478856861&amp;key=0BvUCyWW3gbWIitR</code></li> </ul> <h5>利用MD5的签名函数对这个新的字符串进行签名运算,再转成大写字母,从而得到32位签名结果字符串(该字符串赋值于参数sign)。</h5> <ul> <li><code>strtoupper(md5("cmd=10021&amp;openid=FA3049638D0745D0C5C14BF551550746&amp;pkey=20d7982dbd1aabc55abf9a762b812c49&amp;timestamp=1478856861&amp;key=0BvUCyWW3gbWIitR")</code></li> </ul> <h5>以上的例子得出的结果是:</h5> <ul> <li><code>8AA8DF01BD786AB1E1D051B3DFA50AD5</code></li> </ul>

页面列表

ITEM_HTML