2.2.2 退款通知

  • 接入要求:支付按需选接。
  • sdk版本:sdk2.x以上。

版本说明:

版本号 日期 说明
V1.0 2021-04-29 初始版本

简要描述:

  • 退款通知接口
  • 玩家在Google/ios后台申请退款并成功后,此接口功能是向CP服务器发送退款的订单数据。
  • 1.sdk server 会访问Google/ios服务器 获取退款成功的订单数据。
  • 2.sdk server会在北京时间的每天零点时分向游戏 server 发送请求,该请求的RequestBody中包含24小时内退款订单数据(以下都为北京时间)。例:5月1日 00:00分 发送 4月30日 00:00-5月1日00:00的退款订单数据。
  • 3.游戏 server应按照相应的算法验证签名数据,确定请求是否合法。
  • 4.建议游戏 server 对退款的玩家进行相应的惩罚,具体可与ulu 运营协商。
  • 5.游戏 server在接收到请求后,需在3s的时间进行响应。
  • 6.游戏 server在接收到请求后,需要验证sign签名。
  • 7.游戏 server在响应失败或者响应超时后,sdk server 会在请求发送后的第3分钟后,第10分钟后,第30分钟后,第1小时后,第4小时后重新发送请求,期间响应成功后即停止。
  • sign签名算法,详情请见2.4.2 HMAC-SHA256的sign签名算法示例: 签名信息,根据参数名称a-z排序,将参数值拼接后+ secret(密钥) finalString,在进行md5()加密,例如:md5(amount+channelReceipt+currency+…+uid+secret)。

请求URL:

  • CP方提供

请求方式:

  • POST

支持方式:

  • JSON

RequestBody参数:

参数名 必传 类型 说明
orderVoidedList List< object>集合 游戏退款详细数据。
signature Str 验证签名,详情请见 HMAC-SHA256的sign签名算法示例

orderVoidedList参数:

参数名 必传 类型 说明
gameId int(10) 游戏id,ulu定义
payChannel int(2) 付款渠道,1:ios,2:Google,ulu定义
orderNo str(50) 退款订单所属的ulu订单号,唯一
uid str(50) 退款订单所属的ulu玩家id
productId str(50) 购买对象
channelReceipt str(50) 退款的渠道订单号
amount str(50) 玩家实际付款的金额
areaAmount str(50) 区域金额,gameId为100030的项目不含有该参数,其他必有
areaCurrency str(50) 区域币种,gameId为100030的项目不含有该参数,其他必有
roleId str(255) 退款订单所属的角色id,在生成订单时cp提供
roleName str(255) 退款订单所属的角色名,在生成订单时cp提供
serverId str(255) 退款订单所属的角色所在区服id,在生成订单时cp提供
serverName str(255) 退款订单所属的角色所在区服名,在生成订单时cp提供
extraData str(255) 退款订单在生成订单时cp发送的透传参数
purchaseTimeMillis int(13) 订单购买时间,时间戳
voidedTimeMillis int(13) 退款时间,时间戳

请求示例

{
    "signature": "52a739629c3fc2daddd71018817158b7e4ddbc65e1d50290d3a238dfbebb98b4",
    "orderVoidedList": [{
        "gameId": 100000,
        "amount": "65000.00",
        "orderNo": "GOOGLE1379511923569100000",
        "productId": "ulu_xxx_00",
        "extraData": "1379511918716477440",
        "roleId": "3016200000",
        "channelReceipt": "GPA.3364-3153-5941-00000",
        "serverName": "구릉지대000",
        "areaCurrency": "KRW",
        "serverId": "30000",
        "uid": "1377123541488525000",
        "voidedTimeMillis": 1619527807483,
        "roleName": "리오0",
        "payChannel": 2,
        "currency": "KRW",
        "areaAmount": "65000.00",
        "purchaseTimeMillis": 1617736252052
    }, {
        "gameId": 100000,
        "amount": "65000.00",
        "orderNo": "GOOGLE1380556615295500000",
        "productId": "ulu_xxxxx_00",
        "extraData": "1380556610409291776",
        "roleId": "3016200000",
        "channelReceipt": "GPA.3394-5235-0100-00000",
        "serverName": "구릉지대000",
        "areaCurrency": "KRW",
        "serverId": "30000",
        "uid": "1377123541488520000",
        "voidedTimeMillis": 1619527868144,
        "roleName": "리오0",
        "payChannel": 2,
        "currency": "KRW",
        "areaAmount": "65000.00",
        "purchaseTimeMillis": 1617985327373
    }, {
        "gameId": 100000,
        "amount": "65000.00",
        "orderNo": "GOOGLE1380556615295500000",
        "productId": "ulu_xxxxx_00",
        "extraData": "1380556610409291776",
        "roleId": "3016200000",
        "channelReceipt": "1000000786730146",
        "serverName": "구릉지대000",
        "areaCurrency": "KRW",
        "serverId": "30000",
        "uid": "1377123541488520000",
        "voidedTimeMillis": 1619527868144,
        "roleName": "리오0",
        "payChannel": 1,
        "currency": "KRW",
        "areaAmount": "65000.00",
        "purchaseTimeMillis": 1617985327373
    }]
}

游戏 server参数返回方式:

  • JSON

游戏 server 返回参数:

参数名 必传 类型 说明 示例
returnCode str(10) 请求结果代码:1为成功,其他为失败 1
returnMsg str(255) 请求结果描述,失败为失败原因 "SUCCESS"

游戏 server 返回示例

{
    "returnCode":"1",
    "returnMsg":"SUCCESS",
}

礼包发送returnCode代码

returnCode 说明
1 失败
0 成功

备注

results matching ""

    No results matching ""