接口签名sign
对所有参数进行ASCII排序
然后拼接为form参数,格式k1=v1&k2=v2,在拼接密钥key,进行md5加密即可
比如PHP
private static function getKkySign($param, $userkey)
{
ksort($param); //排序post参数
reset($param); //内部指针指向数组中的第一个元素
$signtext = '';
foreach ($param as $key => $val) { //遍历POST参数
if ($val == '' || $key == 'sign') continue; //跳过这些不签名
if ($signtext) $signtext .= '&'; //第一个字符串签名不加& 其他加&连接起来参数
$signtext .= "$key=$val"; //拼接为url参数形式
}
$newsign = md5($signtext . $userkey);
return $newsign;
}
- 获取用户信息 [POST /dockapi/index/userinfo]
请求地址
text
POST /dockapi/index/userinfo
请求参数
参数名 类型 必填 说明
userid string 是 商户ID
sign string 是 签名
请求示例
json
{
"userid": "testuser",
"sign": "11111111111111111111111111111111"
}
响应参数
参数名 类型 说明
code int 状态码,1-成功
msg string 状态信息
data object 数据
data.money string 余额
data.creditquota string 信用额度
data.group_id int 商户组ID
成功返回示例
json
{
"code": 1,
"msg": "查询成功",
"data": {
"money": "0.00",
"creditquota": "0.00",
"group_id": 1,
}
}
失败返回示例
json
{
"code": -1,
"msg": "用户不存在"
} - 统一下单接口 [POST /dockapi/index/buy]
请求地址
text
POST dockapi/index/buy
请求参数
参数名 类型 必填 说明
userid string 是 商户ID
goodsid string 是 商品ID
buynum int 是 商品数量
outorderno string 否 外部订单号
maxmoney float 否 最大金额(订单总价),防止亏损,不传不判断
attach string 否 充值信息
callbackurl string 否 回调地址
sign string 是 签名
attachjson string 否 附加参数
sellmoney float 否 卖给客户的总价格
请求示例
json
{
"userid": "testuser",
"goodsid": "1",
"buynum": 1,
"outorderno": "1234567890",
"maxmoney": 100,
"attach": "充值信息",
"callbackurl": "https://www.example.com/callback",
"sign": "11111111111111111111111111111111"
}
响应参数
参数名 类型 说明
code int 状态码,1-成功
msg string 状态信息
orderno string 平台订单号
outorderno float 外部订单那号
money float 订单总价
buynum int 购买数量
sellmoney float 卖给客户的总价格
cardlist array 卡密列表
成功返回示例
json
{
"code": 1,
"msg": "下单成功",
"orderno": "1234567890",
"outorderno": "1234567890",
"money": 100,
"buynum": 1,
"cardlist": [
"1234567890",
"1234567890"
]
}
失败返回示例
json
{
"code": -1,
"msg": "下单失败"
} - 订单状态查询 [POST /dockapi/index/queryorder]
请求地址
text
POST dockapi/index/queryorder
请求参数
参数名 类型 必填 说明
userid string 是 商户ID
orderno string 否 平台订单号,2选1
dockapiorderno string 否 外部订单号,2选1
sign string 是 签名
请求示例
json
{
"userid": "testuser",
"orderno": "1234567890",
"sign": "11111111111111111111111111111111"
}
响应参数
参数名 类型 说明
code int 状态码,1-成功
msg string 状态信息
data object 数据
data.orderno string 平台订单号
data.outorderno string 外部订单号
data.dockapiorderno string 对接订单号
data.money string 订单总价
data.buynum int 购买数量
data.goodsprice string 商品单价
data.goodsid string 商品ID
data.status int 订单状态,0-已付款,1-卡密代表完结 代充代表已付款,2-未付款(失败),3-进行中,4-失败,5-成功
data.refundmoney string 退款金额
data.refundstatus int 退款状态,0-未退款,1-已退款
data.payrefundspeed int
data.banstatus int
data.mobile string
data.receipt string
data.create_time string 创建时间
data.update_time string 更新时间
aftersales array 售后信息
cardlist array 卡密列表
成功返回示例
json
{
"code": 1,
"msg": "查询成功",
"data": {
"orderno": "1234567890",
"outorderno": "1234567890",
"dockapiorderno": "1234567890",
"money": "100.00",
"buynum": 1,
"goodsprice": "100.00",
"goodsid": "1",
"status": 0,
"refundmoney": "0.00",
"refundstatus": 0,
"payrefundspeed": 0,
"banstatus": 0,
"mobile": "",
"receipt": "",
"create_time": "1704038400",
"update_time": "1704038400",
},
"aftersales": [],
"cardlist": []
}
失败返回示例
json
{
"code": -1,
"msg": "查询失败"
} - 订单回调通知
请求地址
text
POST 下单提交的callbackurl
请求参数
参数名 类型 说明
sign string 签名
money string 订单总价
status int 订单状态,0-已付款,1-卡密代表完结 代充代表已付款,2-未付款(失败),3-进行中,4-失败,5-成功
userid string 商户ID
orderno string 自传订单号
receipt string 收据
timestamp int 时间戳
outorderno string 平台订单号
create_time int 创建时间
refundmoney float 退款金额
update_time int 更新时间
refundstatus int 退款状态,0-未退款,1-已退款
refundreceipt string 退款收据
cardlist array 卡密列表
成功返回示例
OK - 获取商品分类 [POST /dockapi/v2/getallgoodsgroup]
请求地址
text
POST /dockapi/v2/getallgoodsgroup
请求参数
参数名 类型 必填 说明
userid string 是 商户ID
sign string 是 签名
请求示例
json
{
"userid": "testuser",
"sign": "11111111111111111111111111111111"
}
响应参数
参数名 类型 说明
code int 状态码,1-成功
msg string 状态信息
data array 数据
data.groupid int 分类ID
data.groupname string 分类名称
data.groupaliasname string 分类别名
data.groupimgurl string 分类图片
data.brandname string 品牌名称
data.brandimgurl string 品牌图片
成功返回示例
json
{
"code": 1,
"msg": "查询成功",
"data": [
{
"groupid": 1,
"groupname": "分类名称",
"groupaliasname": "分类别名",
"groupimgurl": "分类图片",
"brandname": "品牌名称",
"brandimgurl": "品牌图片"
}
]
} - 获取商品列表V2 [POST /dockapi/v2/getallgoods]
请求地址
text
POST dockapi/v2/getallgoods
接口限制3秒1次
请求参数
参数名 类型 必填 说明
userid string 是 商户ID
goodstype int 否 商品类型,1-直充,0-卡密
goodsgroupid int 否 分类ID
goodsname string 否 商品名称
limit int 否 每页数量,默认10,最高50
page int 否 页码,默认1
sign string 是 签名
请求示例
json
{
"userid": "testuser",
"sign": "11111111111111111111111111111111"
}
响应参数
参数名 类型 说明
code int 状态码,1-成功
msg string 状态信息
data array 数据
data.goodsid string 商品ID
data.imgurl string 商品图片
data.goodsname string 商品标题
data.goodsprice string 商品价格
data.goodsstatus int 商品状态,0-下架,1-上架
data.goodstype int 商品类型,1-直充,0-卡密
data.stock int 库存
data.buyminnum int 最小购买数量
data.goodsgroupid int 分类ID
nowpage int 当前页码
allpage int 总页码
count int 总数
成功返回示例
json
{
"code": 1,
"msg": "查询成功",
"data": [
{
"goodsid": 1,
"imgurl": "商品图片",
"goodsname": "商品标题",
"goodsprice": "商品价格",
"goodsstatus": 1,
"goodstype": 1,
"stock": 100,
"buyminnum": 1,
"goodsgroupid": 1
}],
"nowpage": 1,
"allpage": 1,
"count": 10
}
获取商品详情V2 [POST /dockapi/v2/goodsdetails]
请求地址
text
POST dockapi/v2/goodsdetails
请求参数
参数名 类型 必填 说明
userid string 是 商户ID
goodsid string 是 商品ID
sign string 是 签名
请求示例
json
{
"userid": "testuser",
"goodsid": '1',
"sign": "11111111111111111111111111111111"
}
响应参数
参数名 类型 说明
code int 状态码,1-成功
msg string 状态信息
goodsdetails object 数据
goodsdetails.id string 商品ID
goodsdetails.groupname string 分类名称
goodsdetails.groupimgurl string 分类图片
goodsdetails.brandname string 品牌名称
goodsdetails.brandimgurl string 品牌图片
goodsdetails.brandid int 品牌ID
goodsdetails.attachgroupid int
goodsdetails.goodsname string 商品名称
goodsdetails.goodsgroupid int 分类ID
goodsdetails.stock int 库存
goodsdetails.salesvolume int 销量
goodsdetails.goodsprice float 商品价格
goodsdetails.marketprice float 市场价格
goodsdetails.goodsstatus int 商品状态,0-下架,1-上架
goodsdetails.buyminnum int 最小购买数量
goodsdetails.buymaxnum int 最大购买数量
goodsdetials.tiptext string 商品提示
goodsdetails.imgurl string 商品图片
goodsdetails.goodstype int 商品类型,1-直充,0-卡密
goodsdetails.msgboxtip string 弹窗提示
goodsdetails.details string 商品详情
goodsdetails.attach array 充值信息
goodsdetails.attach.title string 充值信息标题
goodsdetails.attach.tip string 充值信息提示
成功返回示例
json
{
"code": 1,
"msg": "查询成功",
"goodsdetails": {
"id": "1",
"groupname": "分类名称",
"groupimgurl": "分类图片",
"brandname": "品牌名称",
"brandimgurl": "品牌图片",
"brandid": 1,
"attachgroupid": 1,
"goodsname": "商品名称",
"goodsgroupid": 1,
"stock": 100,
"salesvolume": 100,
"goodsprice": 100,
"marketprice": 100,
"goodsstatus": 1,
"buyminnum": 1,
"buymaxnum": 100,
"tiptext": "商品提示",
"imgurl": "商品图片",
"goodstype": 1,
"msgboxtip": "弹窗提示",
"details": "商品详情",
"attach": [
{"title": "充值信息标题", "tip": "充值信息提示"}
]
}
}- 获取商品列表V3 [POST /dockapi/v3/getallgoods]
请求地址
text
POST /dockapi/v3/getallgoods
接口限制1秒1次
请求参数
参数名 类型 必填 说明
userid string 是 商户ID
goodstype int 否 商品类型,1-直充,0-卡密
goodsgroupid int 否 分类ID
goodsname string 否 商品名称
limit int 否 每页数量,默认10,最高100
page int 否 页码,默认1
sign string 是 签名
请求示例
json
{
"userid": "testuser",
"sign": "11111111111111111111111111111111"
}
响应参数
参数名 类型 说明
code int 状态码,1-成功
msg string 状态信息
data array 数据
data.goodsid string 商品ID
data.goodsprice string 商品价格
data.goodsstatus int 商品状态,0-下架,1-上架
data.stock int 库存
成功返回示例
json
{
"code": 1,
"msg": "查询成功",
"data": [
{
"goodsid": "1",
"goodsprice": "100",
"goodsstatus": 1,
"stock": 100
}]
}
- 获取商品详情V3 [POST /dockapi/v3/goodsdetails]
请求地址
text
POST /dockapi/v3/goodsdetails
请求参数
参数名 类型 必填 说明
userid string 是 商户ID
goodsid string 是 商品ID
sign string 是 签名
请求示例
json
{
"userid": "testuser",
"goodsid": "1",
"sign": "11111111111111111111111111111111"
}
响应参数
参数名 类型 说明
code int 状态码,1-成功
msg string 状态信息
goodsdetails object 数据
goodsdetails.id string 商品ID
goodsdetails.goodsname string 商品名称
goodsdetails.goodsprice string 商品价格
goodsdetails.goodsstatus int 商品状态,0-下架,1-上架
goodsdetails.stock int 库存
成功返回示例
json
{
"code": 1,
"msg": "查询成功",
"goodsdetails": {
"id": "1",
"goodsname": "商品名称",
"goodsprice": "100",
"goodsstatus": 1,
"stock": 100
}
}
评论 (0)