第10行: | 第10行: | ||
<div class="wiki_txtJ"> | <div class="wiki_txtJ"> | ||
− | + | 调用电商服务商接口需带上验证签名的sign参数,其生成方法为:将调用接口的参数,过滤掉不参与签名的参数后,按照键名进行升序排序,之后转换为URL查询字符串(querystring),并在结尾拼接上秘钥(appkey 对应的 app secret),最后将得到的字符串进行md5,得到最终的sign值。 | |
+ | |||
+ | |||
+ | 不参与签名的参数,参数名为sign、sign_type、access_token的参数,和参数值为空字符串的参数。 | ||
</div> | </div> | ||
+ | <div class="code_type">签名方法示例(PHP)</div> | ||
+ | <pre class="brush:js"> | ||
+ | public static function getSign($data_list, $key, $filter_k_list = ["sign", "sign_type", "access_token",], $filter_v_list = ["",]) { | ||
+ | // 过滤不参与签名的参数 | ||
+ | foreach ($data_list as $k => $v) { | ||
+ | if (in_array($k, $filter_k_list, true) || in_array($v, $filter_v_list, true)) { | ||
+ | unset($data_list[$k]); | ||
+ | } | ||
+ | } | ||
+ | // 进行排序 | ||
+ | ksort($data_list); | ||
+ | // 转换为查询字符串,注意过滤前后空格 | ||
+ | $parameter = []; | ||
+ | foreach ($data_list as $k => $v) { | ||
+ | $parameter[] = $k . "=" . trim($v); | ||
+ | } | ||
+ | $string = implode("&", $parameter); | ||
+ | // 拼接密钥 | ||
+ | $stringKey = $string . $key; | ||
+ | // 进行MD5得到最终签名 | ||
+ | $sign = md5($stringKey); | ||
+ | return $sign; | ||
+ | } | ||
+ | </pre> | ||
第22行: | 第49行: | ||
</div> | </div> | ||
− | + | <div style="margin:15px 0;"> | |
+ | <table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%"> | ||
+ | <tr> | ||
+ | <th class="wiki_table_thfirst" style="width:180px">接口 | ||
+ | </th><th>说明 | ||
+ | </th></tr> | ||
+ | <tr> | ||
+ | <td class="wiki_table_tdfirst">[[Oauth2/authorize|OAuth2/authorize]] | ||
+ | </td><td>请求授权Token | ||
+ | </td></tr> | ||
+ | <tr> | ||
+ | <td class="wiki_table_tdfirst">[[Oauth2/access_token|OAuth2/access_token]] | ||
+ | </td><td>获取授权过的access_token | ||
+ | </td></tr> | ||
+ | <tr> | ||
+ | <td class="wiki_table_tdfirst">[[Oauth2/get_token_info|OAuth2/get_token_info]] | ||
+ | </td><td>授权信息查询接口 | ||
+ | </td></tr> | ||
+ | </table> | ||
+ | </div> | ||
第30行: | 第76行: | ||
<div class="wiki_txtJ"> | <div class="wiki_txtJ"> | ||
商品业务相关的接口,详细见接口列表: | 商品业务相关的接口,详细见接口列表: | ||
+ | </div> | ||
+ | |||
+ | <div style="margin:15px 0;"> | ||
+ | <table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%"> | ||
+ | <tr> | ||
+ | <th class="wiki_table_thfirst" style="width:180px">接口 | ||
+ | </th><th>说明 | ||
+ | </th></tr> | ||
+ | <tr> | ||
+ | <td class="wiki_table_tdfirst">[[Oauth2/authorize|OAuth2/authorize]] | ||
+ | </td><td>请求授权Token | ||
+ | </td></tr> | ||
+ | <tr> | ||
+ | <td class="wiki_table_tdfirst">[[Oauth2/access_token|OAuth2/access_token]] | ||
+ | </td><td>获取授权过的access_token | ||
+ | </td></tr> | ||
+ | <tr> | ||
+ | <td class="wiki_table_tdfirst">[[Oauth2/get_token_info|OAuth2/get_token_info]] | ||
+ | </td><td>授权信息查询接口 | ||
+ | </td></tr> | ||
+ | </table> | ||
</div> | </div> | ||
+ | =附录= | ||
2022年9月5日 (一) 15:15的版本
电商服务商平台能力接口
提供给电商服务商的平台能力,目前包含订单能力接口、商品能力接口。
电商服务商接口验证签名
调用电商服务商接口需带上验证签名的sign参数,其生成方法为:将调用接口的参数,过滤掉不参与签名的参数后,按照键名进行升序排序,之后转换为URL查询字符串(querystring),并在结尾拼接上秘钥(appkey 对应的 app secret),最后将得到的字符串进行md5,得到最终的sign值。
不参与签名的参数,参数名为sign、sign_type、access_token的参数,和参数值为空字符串的参数。
签名方法示例(PHP)
public static function getSign($data_list, $key, $filter_k_list = ["sign", "sign_type", "access_token",], $filter_v_list = ["",]) { // 过滤不参与签名的参数 foreach ($data_list as $k => $v) { if (in_array($k, $filter_k_list, true) || in_array($v, $filter_v_list, true)) { unset($data_list[$k]); } } // 进行排序 ksort($data_list); // 转换为查询字符串,注意过滤前后空格 $parameter = []; foreach ($data_list as $k => $v) { $parameter[] = $k . "=" . trim($v); } $string = implode("&", $parameter); // 拼接密钥 $stringKey = $string . $key; // 进行MD5得到最终签名 $sign = md5($stringKey); return $sign; }
订单能力接口
订单业务相关的接口,详细见接口列表:
接口 | 说明 |
---|---|
OAuth2/authorize | 请求授权Token |
OAuth2/access_token | 获取授权过的access_token |
OAuth2/get_token_info | 授权信息查询接口 |
商品能力接口
商品业务相关的接口,详细见接口列表:
接口 | 说明 |
---|---|
OAuth2/authorize | 请求授权Token |
OAuth2/access_token | 获取授权过的access_token |
OAuth2/get_token_info | 授权信息查询接口 |
附录