源支付对接php签名算法
标签:
laravel
// 测试支付方法
public function toPay()
{
$postData = [
'pid' =>1000,
'type'=>'alipay',
'out_trade_no' => time().Str::random(5),
'notify_url' =>'http://www.baidu.com',
'return_url' =>'http://www.baidu.com',
'name'=>'测试支付',
'money'=>'0.01',
];
$url = "https://域名/submit.php";
$postData['sign'] = $this->getSign($postData,'qfOyfmP5gMproCcHnMycALGCGa8PCAat');
$http = http_build_query($postData);
// 模拟跳转
header("Location: $url?$http");
}
// 源支付 签名算法
public function getSign($param,$key)
{
ksort($param);
reset($param);
$signstr = '';
foreach ($param as $k => $v) {
if ($k != 'sign' && $k != 'sign_type' && $k != 's' && $k != '_input_charset' && $v != '') {
$signstr .= $k . '=' . $v . '&';
}
}
$signstr = substr($signstr, 0, -1);
$signstr .= $key;
$sign = md5($signstr);
return $sign;
}



