游戏猫sdk[API接口文档] - Gamecat01/GameSDKDocument GitHub Wiki
###一、游戏猫sdk接口域名:
1、正式环境:http://sdk.youximao.tv
2、联调环境:http://testsdk.youximao.cn
###二、 服务端交互接口:
1、接口协议:传输层TCP ,应用层HTTP;
2、编码格式:统一采用UTF-8编码;
3、需要交互的接口:
序号 | 接口名称 | 接口url |
---|---|---|
1 | 支付成功,回调渠道通知接口 | 以进行支付的时候,渠道上送的通知notifyUrl为准 |
2 | 订单查询接口 | /sdk/orderInfo |
4、接口详情:
1)、支付成功,回调渠道通知接口
接口描述:用户使用sdk支付成功之后, sdk服务端通知渠道服务端支付结果;
接口URL:以创建订单时候,渠道上送的通知notifyUrl为准;
使用场景:用户在游戏商城购买道具,调出sdk,然后进行支付,支付成功之后, sdk服务端通知渠道服务端支付结果,渠道服务端接收到支付成功的消息,则通知游戏cp进行发货处理.
时序图如下:
协议需求:HTTP 协议, POST方式请求
基本请求参数:
参数名称 | 类型 | 描述 | 是否必填 |
---|---|---|---|
data | String | DES加密字符串,加密内容为上送参数(上送参数见如下表,对其封装成 | 一个JSON字符串) |
业务请求参数:
参数名称 | 类型 | 描述 | 是否必填 | 备注 |
---|---|---|---|---|
codeNo | String | 外部交易码 | 是 | 该笔交易外部唯一标识码 |
tradeNo | Long | 游戏猫交易码 | 是 | 该笔交易游戏猫唯一标识码 |
openId | String | 用户唯一标识 | 是 | 注册返回openId |
amount | BigDecimal | 支付金额 | 是 | 用户支付金额 |
payWay | Short | 支付方式 | 是 | 1-支付宝,2-微信,3-银联,4-ios内支付,5-喵点 |
ext | String | 额外信息 | 否 | |
notifyUrl | String | 渠道通知地址 | 是 | 支付结果,通知地址 |
sign | String | 签名 | 是 | MD5(codeNo+openId+tradeNo+amount+payWay+notifyUrl) |
业务返回参数:
参数名 | 类型 | 描述 |
---|---|---|
code | String | 状态码(code='000'表示成功) |
message | String | 状态码对应信息描述 |
data | JSON格式字符串 | 返回结果(此接口data返回空字符) |
返回结果样例:
{
"code": "000",
"message": "success",
"data": ""
}
接口发货逻辑处理:
用户支付成功,会通知渠道支付结果,如果通知失败,会有3次轮询通知请求;
同时后台会通过定时任务每5分钟跑一次,对已付款且通知失败的订单,进行轮询5次请求,轮询
规则为:
次数 基数 时间基数 通知时间
第一次 1 * 0.5 * 10 = 5 该笔通知失败订单,第一次定时通知时间为,通知失败后5分钟后执行.
第二次 : 2 * 0.5 * 10 = 10 该笔通知失败订单,第二次定时通知时间为,第一次通知结束后10分钟后执行.
第三次 : 3 * 0.5 * 10 = 15 该笔通知失败订单,第三次定时通知时间为,第二次通知结束后15分钟后执行.
第四次 : 4 * 0.5 * 10 = 20 该笔通知失败订单,第四次定时通知时间为,第三次通知结束后20分钟后执行.
第五次 : 5 * 0.5 * 10 = 25 该笔通知失败订单,第五次定时通知时间为,第四次通知结束后25分钟后执行.
如果5次通知都失败,则短信告警. 渠道方也可以对未接收到通知结果的单,进行支付结果查询.
2)、订单信息查询接口
接口描述:查询订单信息
接口URL:http://testsdk.youximao.cn/sdk/orderInfo (联调环境)
使用场景:渠道查询支付订单调用
时序图如下:
协议需求:HTTP 协议, POST方式请求
基本请求参数:
参数名称 | 类型 | 描述 | 是否必填 |
---|---|---|---|
requestId | String | 请求id(当前时间戳14位) | 是 |
appKey | String | 渠道上送appKey(渠道上送500001 , 之后每个游戏会分配不同的appKey) | 是 |
data | String | DES加密字符串,加密内容为上送参数(上送参数见如下表,对其封装成一个JSON字符串) | 是 |
业务请求参数:
名称 | 类型 | 描述 | 是否必填 | 备注 |
---|---|---|---|---|
tradeNo | String | 游戏猫交易码 | 是 | 该笔交易游戏猫唯一标识码 |
业务返回参数:
参数名 | 类型 | 描述 |
---|---|---|
code | String | 状态码(code='000'表示成功) |
message | String | 状态码对应信息描述 |
data | JSON格式字符串 | 返回结果 |
data字段数据结构:
参数名称 | 类型 | 描述 |
---|---|---|
codeNo | String | 外部交易码 |
tradeNo | Long | 游戏猫交易码 |
openId | String | 用户唯一标识 |
status | Short | 状态(1-待付款,2-已付款,待处理,3-处理中,待发货,4-交易成功,5-交易失败) |
amount | BigDecimal | 交易金额 |
payWay | Short | 支付方式(1-支付宝,2-微信,3-银联,4-ios内支付,5-喵点)(未支付的单返回0) |
payTime | String | 支付时间 (未支付的单返回空字符) |
返回结果样例:
{
"code": "000",
"message": "success",
"data": {
"codeNo": "1465715774281006",
"tradeNo": 1465715700000000,
"openId": "sdaYxdfd3Ssxca==",
"status": 4,
"amount": 10.00,
"payWay": 1,
"payTime": "2016-06-01 00:00:00"
}
}
接口参数DES密钥KEY:
通过邮件发放,发送申请邮件至邮箱地址 [email protected] 抄送至 [email protected]