Skip to content
本页目录

云代拍接入指南

创建代拍应用

  1. 注册艺天下官网账号,可点击此处完成注册;
  2. 认证商户后,创建代拍应用并等待审核。
  3. 应用审核通过后获取Appid和secret用于后续接口的调用与验证。

开发接入必读

接口规则

  • 传输方式 HTTPS
  • 提交方式 采用POST方法提交
  • 数据格式 提交和返回数据都为JSON格式
  • 字符编码 统一采用UTF-8字符编码
  • 签名算法 MD5
  • 签名要求 请求和接收数据均需要校验签名,详细方法参考签名生成规则

签名生成规则

说明:签名key是申请应用获得的secret

第一步:设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。

特别注意以下重要规则:

  1. 参数名ASCII码从小到大排序(字典序);
  2. 如果参数的值为空不参与签名;
  3. 参数名区分大小写;
  4. 传送的sign参数不参与签名,将生成的签名与该sign值作校验。
  5. 每次请求参数必须包含 nonce(6位随机字符串)和timestamp(时间戳)参数

第二步,在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。

举例:

假设传送的参数如下:

json
{
  "appid": "wxd930ea5d5a258f4f",
  "device_info": "phone",
  "body": "test",
  "nonce": "ibuaiVcKdpRxkhJA",
  "timestamp": 1693497600
}
{
  "appid": "wxd930ea5d5a258f4f",
  "device_info": "phone",
  "body": "test",
  "nonce": "ibuaiVcKdpRxkhJA",
  "timestamp": 1693497600
}

第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:

php
stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=phone&nonce=ibuaiVcKdpRxkhJA&timestamp=1693497600";
stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=phone&nonce=ibuaiVcKdpRxkhJA&timestamp=1693497600";

第二步:拼接API密钥:

php
stringSignTemp = stringA . "&key=" . str_key;
stringSignTemp = stringA . "&key=" . str_key;

第三步 MD5加密并转换大写

php
sign=MD5(stringSignTemp).toUpperCase()="0CD727793B049D54E4C0A704EF0BA224"
sign=MD5(stringSignTemp).toUpperCase()="0CD727793B049D54E4C0A704EF0BA224"

最终得到的发送数据

json
{
  "appid": "wxd930ea5d5a258f4f",
  "device_info": "phone",
  "body": "test",
  "nonce": "ibuaiVcKdpRxkhJA",
  "timestamp": 1693497600,
  "sign": "0CD727793B049D54E4C0A704EF0BA224"
}
{
  "appid": "wxd930ea5d5a258f4f",
  "device_info": "phone",
  "body": "test",
  "nonce": "ibuaiVcKdpRxkhJA",
  "timestamp": 1693497600,
  "sign": "0CD727793B049D54E4C0A704EF0BA224"
}

云代拍API 通过验证签名来保证请求的真实性和数据的完整性。

Released under the MIT License.