Pay/get token

跳转到: 导航, 搜索

get_token

  • 用户发起支付时,应用开发者调用get_token接口,获取支付token,开放平台验证应用的相关信息,验证成功后,返回token值。


  • 应用开发者申请开通支付功能时,需要填写回调地址(参见回调接口);当用户付款成功后,开放平台通过此回调地址通知应用开发者订单支付状态。


  • 查询“支付ID”: 在”开放平台->应用详情页”,可查看应用是否开通支付功能,存在“支付ID”,则表示该应用的支付功能已开通。

URL

  • 为了给开发者提供“便捷的支付接入流程”,我们提供两套环境供开发者使用。



支持格式

  • JSON/XML

HTTP请求方式

  • GET/POST


是否需要登录

  • true


请求参数

参数名 必填 类型 说明
order_id true string 订单id,(为 了避免重复,需要以orderid_pre开 头(7位) 即为 支付ID, 总长 度必须为16位)
amount true int 交易金额,单位:分 范围 1-- 5000000分
desc true string 交易描述,最多50个 汉字 (URLEncode)
sign true string 签名值sign=md5(order_id|amount|desc|app_secret),’|’是竖线
source true string 申请应用时分配的AppKey,调用 接口 时候 代表应用的唯一身份。(采用OAuth授 权方式不需要此参数)
access_token false string 采用OAuth授权方式为必填参数,其他授权方式不需要此参数,OAuth授权后获得。


  • 说明:如果开发者使用测试环境,则需要将代码中的“支付ID”替换成“模拟支付ID”。

相关约束


注意事项

  • 1) 请求参数只需要 order_id amount desc sign source五个参数
  • 2) 线上环境:如果当天“支付功能审核通过(获得支付ID)”,需要明天早上10点左右才可以正常调用接口。


PHP调用示例


//使用SDK调用接口

try
{
        $c = new SaeTClient( WB_AKEY , WB_SKEY ,$_SESSION['oauth2']['oauth_token'] ,'' );
        $order_id = 1234567891234567;//订单id(需要以order_id_pre开头(7位)即为支付ID(汇总信息页面) ) + (后9位id不能重复,以免订单号重复) 。)总长度必须为16位
        $amount = 1; //交易金额
        $desc = '在XX游戏中支付(1/100) 微币';//交易描述,最多50个汉字 。

        $data= $c->pay_get_token( $order_id, $amount, $desc )
         
        var_dump( $data );
}
catch( Exception $e )
{
        var_dump($e);
}

返回结果

JSON示例


//支付成功
{"token":"***", "order_uid":"***"}


XML示例


//支付成功
<result><token>***</token><order_uid>***</order_uid></result>


  • 字段描述
  • token:订单token
  • order_uid:交易人


如果缺少参数或者不正确,状态为HTTP 400,正确才会返回HTTP 200。下同。

错误情况的返回码描述

在参数验证错误,或请求非法时,根据不同的情况,会返回不同的错误码(error_code):

例如:

{"request":"http://10.73.14.130/pay/get_token.json","error_code":23610,"error":"sign is invalid!"}


error_code error 中文含义
23601 appkey has no privilege for pay! 应用没有开通支付权限!
23602 order_id is null! order_id参数为空!
23603 orderid_pre is null! orderid_pre为空,没有获取到支付应用ID!
23604 order_id is invalid! order_id格式非法! order_id必须为16位长,由两部分组成:支付应用ID (7位)+第三方订单号(9位)。
23605 order_id is invalid! order_id非法! 例如,使用一个已存在的订单号,但传递不同的amount、或不同的uid来请求token。
23606 amount is invalid! amount必须为1~500000分!
23607 desc is null! desc不能为空!
23608 length of desc can't more 100! desc长度必须小于100个字节(即50个汉字)!
23609 sign is null! sign不能为空!
23610 sign is invalid! sign经过md5计算后,不匹配!


其他错误情况,为调用平台其他接口的返回值情况一样。例如没有传递source,会返回:

{"request":"http://10.73.14.130/pay/get_token.json","error_code":10006,"error":"source paramter(appkey) is missing"}


其他


文档更新时间: 2013-12-10