签名规则

易商户的签名规则,具体步骤如下:

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

注意:非空参数值。

特别注意以下重要规则:

◆ 参数名ASCII码从小到大排序(字典序)
◆ 如果参数的值为空不参与签名
◆ 参数名区分大小写
◆ 验证调用返回或微主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验

第二步,在stringA最后拼接上支付宝授权商户标识$app_user_id得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。

注意:MD5加密后需要将密文转换为大写。

PHP的DEMO

public function getSign(array $data,string $app_user_id)
{
    ksort($data);
    $need = [];
    foreach ($data as $key => $value) {
        if (! $value || $key == 'sign') {
            continue;
        }
        $need[] = "{$key}={$value}";
    }
    $string = implode('&', $need).$app_user_id;

    return strtoupper(md5($string));
}

results matching ""

    No results matching ""