代收签名算法

代收签名算法

签名生成的通用步骤如下:

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

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

代收提交时签名Demo( php代码示例,其它编程语言仅做参考 )

<?php
$ArrayField = [
    'version' => '1.0.0',
    'memberid' => '10001',
    'orderid' => "1000120200202202020",
    'amount' => '100',
    'orderdatetime' => "",
    'notifyurl' => 'http://xxx.xxx.com/notifyurl.php',
    'paytype' => 'WXGZH',
    'signmethod' => 'md5',
];
ksort($ArrayField);  //按照参数名ASCII码从小到大排序
$md5key = '123123';  //md5密钥
$stringA = "";
foreach($ArrayField as $key => $value){
    $stringA .= $key."=".$value."&";
}
$stringA = substr($stringA,0,-1);  //去掉最后一个 & 字符
$ArrayField["sign"] = strtoupper(md5($stringA.$md5key));  //拼接密钥后,md5加密后转为大写
?>

代收回调时签名Demo( php代码示例,其它编程语言仅做参考 )

回调里的所有参数,只要存在,不论值是否为空都要参与签名

代收查询提交时签名Demo( php代码示例,其它编程语言仅做参考 )

查询响应/回调时签名Demo( php代码示例,其它编程语言仅做参考 )

回调里的所有参数,只要存在,不论值是否为空都要参与签名

results matching ""

No results matching ""