游戏猫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]