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
/*
* 兑换订单的结果通知请求的解析方法
* 当兑换订单成功时,积分商城会发送请求通知开发者,兑换订单的结果为成功或者失败,如果为失败,开发者需要将积分返还给用户
*/
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=$request_array;
return $ret;
}