v3/pay/get_token

特别提示:
本接口适用场景:

开通包月送礼包
接入包月业务的应用,可以提示用户开通业务或续费业务即可获赠应用礼包,用户点击活动入口时,应用调用本接口发送请求,以获得该用户获取礼包需要的token。

本接口属于下面的流程图所示第一个环节:
marketing_24.png

目录

What's New?

2013年06月21日,增加参数“cee_extend”,部署在CEE_V2的应用,必须传入该参数,该参数不参与签名计算。
2012年10月30日,增加参数“version”,标识接口基于V3版。

1 /v3/pay/get_token

1.1 URL

http://[域名]/v3/pay/get_token

正式环境域名或测试环境IP详见:API3.0文档#请求URL说明

1.2 格式

JSON

1.3 HTTP请求方式

GET, POST

1.4 IP限制

TRUE

1.5 输入参数说明

(1)公共参数
发送请求时必须传入公共参数,详见公共参数说明

(2)私有参数

参数名称 是否必须 类型 描述
pfkey 必须 string 跳转到应用首页后,URL后会带该参数。由平台直接传给应用,应用原样传给平台即可。

表示平台的信息加密串,根据openid,openkey,pf,appid等生成。
注:有的应用调用本接口时会返回pfkey非法的错误,这种错误可能由以下原因引起:
(1)传入的pf与平台不一致(例如进入的平台是Qzone,但传入的pf是pengyou),导致生成的pfkey错误。
pf值是由平台直接传给应用,应用原样传给平台即可,出现这种错误的原因是开发者自己手动构造的pf值,而不是使用平台传递的值。
(2)传入的openkey不是当前页面返回的openkey。同一个用户如果在不同时间打开多个应用页面,页面返回的openkey是不一样的,这些openkey在各自的页面都可用。当前页面的pfkey应该使用当前页面的openkey来生成。

tokentype 必须 string token的类型,如:1、2。

1:表示该token为开通包月送礼包营销活动中的赠送道具/物品的token。
2:表示该token为任务买卖市场营销活动中的领取奖励的token。

discountid 必须 string 指在系统申请的营销活动id
如果是“任务集市”场景,discountid表示卖方自己设置的“商品ID”。

请登录op.open.qq.com后进入管理中心,选择进入1个应用后,在“支付结算”tab下的“任务集市”类,可看到“我是卖家”按钮,点击进入即可看到卖方自己设置的商品ID。

ts 必须 string linux时间戳。

注意开发者的机器时间与腾讯计费开放平台的时间相差不能超过15分钟。

zoneid 必须 string 支付营销分区配置说明页面,配置的分区ID即为这里传入的“zoneid”。

如果应用不分区,请输入0。
回调发货的时候,根据这里填写的zoneid实现分区发货。
注:2013年后接入的寄售应用,此参数将作为分区发货的重要参数,如果因为参数传错或为空造成的收入损失,由开发商自行承担。

version 必须 string 协议版本号,由于基于V3版OpenAPI,这里固定为“v3”。
cee_extend string 部署在CEE_V2的应用,必须传入该参数,该参数不参与签名计算

详见:CEE_V2访问云支付

1.6 请求示例

http://172.27.0.91/v3/pay/get_token?appid=15499&discountid=UM111201184235861&
openid=00000000000000000000000012345678&openkey=339900A5EAB89A40A07E3A50C1234567&pf=qzone&
pfkey=BA3F8AB7176BC97FCB904A7CB4E72D6F&tokentype=1&ts=1330502139&version=v3&
zoneid=0&sig=TvD0O028QYhLNWi34Tc%2B9uKWj84%3D


假设上述应用的appkey为56abfbcd12fe46f5ad85ad9f2faf36d7,则按照上述请求生成sig签名的细节如下:

method:GET
url_path:/v3/pay/get_token
params:
   appid:15499
   discountid:UM111201184235861
   openid:00000000000000000000000012345678
   openkey:339900A5EAB89A40A07E3A50C1234567
   pf:qzone
   pfkey:BA3F8AB7176BC97FCB904A7CB4E72D6F
   tokentype:1
   ts:1330502139
   version:v3
   zoneid:0
则源串为:GET&%2Fv3%2Fpay%2Fget_token&appid%3D15499%26discountid%3DUM111201184235861%26
openid%3D00000000000000000000000012345678%26openkey%3D339900A5EAB89A40A07E3A50C1234567%26
pf%3Dqzone%26pfkey%3DBA3F8AB7176BC97FCB904A7CB4E72D6F%26tokentype%3D1%26ts%3D1330502139%26version%3Dv3%26
zoneid%3D0
密钥为:56abfbcd12fe46f5ad85ad9f2faf36d7&
生成的签名为: TvD0O028QYhLNWi34Tc+9uKWj84=
由于所有参数传输前都要进行URL编码,因此上面的请求示例中的签名为:TvD0O028QYhLNWi34Tc%2B9uKWj84%3D

1.7 返回参数说明

参数名称 描述
ret 私有返回码说明如下:

1001:请求参数错误;
1059:TOKEN超时(确认的订单必须是2个小时内的订单,否则返回该错误码);
1060:订单已回滚;
1061:订单已确认;
1099:系统繁忙。
公共返回码详见公共返回码说明#OpenAPI V3.0 返回码
注意支付API接口返回-5错误通常是由于sig生成错误引起的,请根据腾讯开放平台第三方应用签名参数sig的说明详细检查sig的生成是否正确。

msg 如果错误,返回错误信息。

is_lost 判断是否有数据丢失。如果应用不使用cache,不需要关心此参数。

0或者不返回:没有数据丢失,可以缓存。
1:有部分数据丢失或错误,不要缓存。

token (1)开通包月送礼包营销活动中,该token是用来领取道具/物品的token,该token有效期为72小时。调用fusion2.dialog.showVipGiftfusion2.dialog.openVipGift等前端接口时,需传入该参数。

(2)任务买卖市场营销活动,该token是用来领取任务的token,该token有效期为72小时。调用fusion2.dialog.showTaskStore前端接口时,需传入该参数。

mid 用来识别token是由哪台机器分配的。调用fusion2.dialog.showVipGift前端接口时,需传入该参数。

1.8 正确返回示例

JSON示例:

Content-type: text/html; charset=utf-8
{
"ret":0,
"is_lost":0,
"token": "4021A324754CCD7EA01836261D0AFF7207622"
}

1.9 错误返回示例

Content-type: text/html; charset=utf-8
{
"ret":1002,
"msg":"请先登录"
}

相关文档

开通包月送礼包活动场景:

下一步: fusion2.dialog.openVipGift(开通黄钻弹框)|GameAPI.GameVIPAction.show(开通蓝钻弹框)

其他相关文档:开通包月送礼包

以上信息是否解决您的问题?

Copyright © 1998 - 2017 Tencent. All Rights Reserved.

腾讯公司 版权所有

有问必答 返回顶部