发货通知接口

充值发货接口

接口描述

该接口用于SDK服务器端将玩家充值成功数据回传给游戏服务器端,便于游戏进行游戏产品的发放。研发方需要向SDK服务器端提供发货通知接口地址用于接受充值成功数据。SDK服务器会通过HTTP GET/POST方式将数据传给研发方服务器,研发方务必对回传的数据按照自身的业务逻辑进行有效性判断同时必须做数据签名验证处理,并务必按照接口协议返回响应结果数据给SDK服务器端。

注意:

  1. 由于SDK服务器端有自动补发机制,同一次支付成功数据可能会重复请求给游戏服务器端,所以研发方服务器务必要做好不重发发货给玩家。

  2. 对于限制数量购买类商品,比如一个玩家只能购买一次,SDK不会做限制,需要研发自行下单时限制;但是由于发货延迟等问题不可避免存在,若出现重复商品发货,研发需要转成相应的游戏币给玩家

  3. 需要研发同学记录订单是否为测试订单,对账和计算付费、LTV等数据时需要剔除;测试订单请求参数is_test=1

需要校验:

  1. 检测订单是否重复发,重复通知且已发货直接返回成功

  2. 游戏服是否匹配

  3. Uid和游戏下单的uid是否匹配

  4. 产品id,金额是否匹配

如果按gamecno查订单,需要检测R2订单号是否已存在,已存在直接返回成功

请求方式:get

接口通知参数数据描述

字段

Y必须/N选填

类型

描述

site

Y

string

默认R2Games

game

Y

string

游戏名称,双方提前约定

serverid

Y

string

游戏服务器唯一标示ID

username

Y

string

R2方账号uid,即 r2uid

roleid

N

string

玩家游戏内唯一角色标示ID

time

Y

int

接口发起的UNIX时间戳,用于超时验证处理,10分钟有效

productid

Y

string

当前支付对应的唯一产品标识ID

money

Y

float

当前支付订单对应的总金额

currency

Y

string

金额的币种类型 (e.g RMB)

orderid

Y

string

R2方生成的订单号

coin

N

int

游戏币数量

gift_coin

N

int

赠送礼金数量

game_coin

N

int

游戏币总数(包含礼金)

extra_data

N

string

游戏方在调用SDK客户端支付接口时,传入的自定义数据,长度<200

gamecno

Y

string

游戏方在调用SDK客户端支付接口时,传入的自身订单号

pay

Y

string

支付方式

quantity

N

int

产品数量

price

N

float

产品单价

is_test

N

int

是否测试订单,只有测试订单才存在该字段,值为1

sign

Y

string

数据签名

MD5签名

示例数据

apiKey:abcd (该秘钥仅供演示使用)

  1. 所有请求参数去掉空参数,sign不参与签名;

  2. 将参数按key的assic码升序排序,比如{key1:value1,key2:value2}

  3. 连接对应value值如value1value2,注意值中有中文等特殊符号的无需urlencode;

  4. 第3步生成的字符串直接拼接,末尾连接apiKey,然后进行md5(value1value2abcd),即可得到sign。

接口响应数据描述

研发方收到支付成功通知后,务必进行json数据格式的响应,便于SDK服务器端做相关处理。

返回参数

参数名

类型

必要性

描述

status

int

0为成功,其他值为失败。

msg

string

响应提示信息

异常响应,以下几种情况需固定status,其他研发可自定义:

status

说明

11

游戏服不匹配

12

uid和游戏下单uid不匹配

13

产品id不匹配

14

金额不匹配

支付时序图:

Last updated

Was this helpful?