2025-05-12 16:42:44  60 0

源支付对接php签名算法

 标签:   
// 测试支付方法
    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;
    }