1.后台接口说明
1.支付后台接口API
1.1 API
1.1.1 查询余额接口
(1)URL地址
【现网】https:// ysdk.qq.com/mpay/get_balance_m
【沙箱】https://ysdktest.qq.com/mpay/get_balance_m
注(重点):更多服务端文档,请参考米大师文档
(2)功能说明
获取用户游戏币余额
注:由于渠道存在扣费延时的问题,所以在充值完成后调用该接口是建议在2分钟之内间隔15秒多次调用,直到查到当前充值已到账(是否到账可以通过接口返回的save_amt对应的值是否发送变化来判断)
Cookie里面需要包含的参数:
session_id 用户账户类型,(手Q)session_id ="openid";(微信)session_id = "hy_gameid"; (游客) session_id = "hy_gameid"; (h5游戏) session_id ="openid"
session_type session类型,(手Q)session_type = "kp_actoken";(微信)session_type = "wc_actoken" ;(游客) session_type = "st_dummy"; (h5游戏) session_type ="openkey"
org_loc 需要填写: /mpay/get_balance_m
appip (可选)来源的第三方应用的服务IP
注意:cookie里面参数的值,需要进行urlencode
请求参数:
openid:从手Q登录态或微信登录态中获取的openid的值
openkey:手Q登陆时传手Q登陆回调里获取的paytoken值,微信登陆时传微信登陆回调里获取的传access_token值。
appid:offerid,offerid即支付结算页面里的应用id,用于支付接口。
ts:UNIX时间戳(从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数)。
sig:请求串的签名(参考YSDK支付接口签名说明)。
pf:平台来源,登录获取的pf值
pfkey:登录获取的pfkey值
zoneid:账户分区ID_角色ID。每个应用都有一个分区ID为1的默认分区,分区可以在cpay.qq.com/mpay上自助配置。如果应用选择支持角色,则角色ID接在分区ID号后用"_"连接,角色ID需要进行urlencode。
userip:(可选)用户的外网IP
accounttype:(可选)帐户类型ID。基础货币(common);安全货币(security);不填,默认common
format:(可选)json、jsonp_$func。默认json。如果jsonp,前缀为:$func
例如:format=jsonp_sample_pay,返回格式前缀为:sample_pay()
(3)返回参数
ret:返回码。0:成功;1001:参数错误;1018:登陆校验失败。
其它:失败
balance:游戏币个数(包含了赠送游戏币)
gen_balance: 赠送游戏币个数
first_save: 是否满足首次充值,1:满足,0:不满足。
save_amt: 累计充值金额的游戏币数量
gen_expire:该字段已作废
tss_list: 月卡信息字段,如果没有月卡该字段值为空
innerproductid 用户开通的订阅物品id(注:该参数为计费分配的订阅物品的servicecode)
begintime 用户订阅的开始时间
endtime 用户订阅的结束时间
paychan 用户订阅该物品id最后一次的支付渠道
paysubchan 用户订阅该物品id最后一次的支付子渠道id
autopaychan 预留扩展字段,目前没有使用
autopaysubchan 预留扩展字段,目前没有使用
grandtotal_opendays 用户订阅累计开通天数
grandtotal_presentdays 用户订阅累计赠送天数
first_buy_time 首充开通时间
extend 预留扩展字段,目前没有使用
(4)返回示例
正确返回示例
Content-type: text/html; charset=utf-8
{
"ret":0,
"balance":3989,
"gen_balance":256,
"first_save":0,
"save_amt":4000,
"gen_expire":0,
"tss_list":[{
"innerproductid" : "1450000594-1001",
"begintime" : "2014-08-21 18:15:24",
"endtime" : "2014-09-20 18:15:24",
"paychan" : "iap",
"paysubchan" : 1,
"autopaychan" : "",
"autopaysubchan" : 0,
"grandtotal_opendays" : 32737,
"grandtotal_presentdays" : 1,
"first_buy_time" : "4457674-07-08 01:37",
"extend" : ""
}
]
}
错误返回示例
Content-type: text/html; charset=utf-8
{"ret":1018,"msg":"请先登录"}
(5)签名示例
第一步,按OpenAPI V3.0的签名生成说明,构造源串。得到的源串为:
GET&%2Fv3%2Fr%2Fmpay%2Fget_balance_m&appid%3D15499%26format%3Djson%26openid%3D00000000000000000000000014BDF
6E4%26openkey%3DAB43BF3DC5C3C79D358CC5318E41CF59%26pf%3Dmyapp_m_qq-00000000-android-00000000-ysdk%