API文档

请求参数(Get请求方式传参)

参数 是否必须 参数类型 限制长度 参数说明
appKey yes string 255 接口appKey,应用的唯一标识码
timestamp yes string 20 1970-01-01开始的时间戳,毫秒。
uid yes string 255 用户唯一标识,唯一且不可变
success yes boolean 兑换是否成功,状态是true和false
errorMessage no string 255 出错原因(带中文,请用utf-8进行解码)
orderNum yes string 255 兑吧订单号
bizId no string 255 开发者的订单号
sign yes string 255 签名,详见签名规则
注:开发者收到通知后,请以兑吧订单号 orderNum 为准进行处理,不要以开发者订单号bizId进行处理。

响应参数:

开发者服务器端收到通知并处理完成后,请返回纯文本的 ok 字符串,两边不带空格,忽略大小写,兑吧在验证到响应为 ok 后会标记通知成功。

代码示例

java

点击下载(java开发包)

/*
*  兑换订单的结果通知请求的解析方法
*  当兑换订单成功时,兑吧会发送请求通知开发者,兑换订单的结果为成功或者失败,如果为失败,开发者需要将积分返还给用户
*/
CreditTool tool=new CreditTool(appKey, appSecret);

try {
    CreditNotifyParams params= tool.parseCreditNotify(request);//利用tool来解析这个请求
    String orderNum=params.getOrderNum();
    if(params.isSuccess()){
        //兑换成功
    }else{
        //兑换失败,根据orderNum,对用户的金币进行返还,回滚操作
    }
} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

php

开发工具包 :点击打开

/*
*  兑换订单的结果通知请求的解析方法
*  当兑换订单成功时,兑吧会发送请求通知开发者,兑换订单的结果为成功或者失败,如果为失败,开发者需要将积分返还给用户
*/
function parseCreditNotify($appKey,$appSecret,$request_array){
    if($request_array["appKey"] != $appKey){
        throw new Exception("appKey not match");
    }
    if($request_array["timestamp"] == null ){
        throw new Exception("timestamp can't be null");
    }
    $verify=signVerify($appSecret,$request_array);
    if(!$verify){
        throw new Exception("sign verify fail");
    }
    $ret=array("success"=>$request_array["success"],"errorMessage"=>$request_array["errorMessage"],
        "uid"=>$request_array["uid"],"bizId"=>$request_array["bizId"]);
    return $ret;
}

.net

开发工具包:点击打开

/*
*  兑换订单的结果通知请求的解析方法
*  当兑换订单成功时,兑吧会发送请求通知开发者,兑换订单的结果为成功或者失败,如果为失败,开发者需要将积分返还给用户
*/
function parseCreditNotify(string appKey,string appSecret,HttpRequest request)
{
    if(!request.Params["appKey"].Equals(appKey)){
        throw new Exception("appKey not match");
    }
    if(request.Params["timestamp"] == null ){
        throw new Exception("timestamp can't be null");
    }
    Hashtable hshTable = duiba.GetUrlParams(request);

    bool verify=duiba.SignVerify(appSecret,hshTable);
    if(!verify){
        throw new Exception("sign verify fail");
    }
    return hshTable;
}

results matching ""

    No results matching ""