PHP 超简单支付宝支付

本文详细介绍了如何使用PHP集成支付宝接口,实现简单的在线支付功能。从获取商户ID、密钥到编写支付请求,再到接收支付回调,一步步教你轻松搞定支付宝支付。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

private function pay()
    {
        // $order=$this->session->userdata('order');
        // $car=$this->session->userdata('car');
        //合作身份者id,以2088开头的16位纯数字
        $alipay_config['partner']       = env('partner');
        //收款支付宝账号
        $alipay_config['seller_email']  = env('seller_email');
        //安全检验码,以数字和字母组成的32位字符
        $alipay_config['key']           = env('key');
        //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
        //签名方式 不需修改
        $alipay_config['sign_type']    = strtoupper('MD5');
        //字符编码格式 目前支持 gbk 或 utf-8
        //$alipay_config['input_charset']= strtolower('utf-8');
        //ca证书路径地址,用于curl中ssl校验
        //请保证cacert.pem文件在当前文件夹目录中
        $alipay_config['cacert']    = getcwd().'\\cacert.pem';
        //访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http
        $alipay_config['transport']    = 'http';
        /*配置结束*/
        /*请求参数拼接*/
        $parameter = array(
            "service" => "create_direct_pay_by_user",
            "partner" => $alipay_config['partner'], // 合作身份者id
            "seller_email" => $alipay_config['seller_email'], // 收款支付宝账号
            "payment_type"  => '1', // 支付类型
            "notify_url"    => "http://bw.com133.com/notify_url.php", // 服务器异步通知页面路径
            "return_url"    => 'http://www.baidu.com', // 页面跳转同步通知页面路径
            "out_trade_no"  => '20171717171718', // 商户网站订单系统中唯一订单号
            "subject"   => '家电', // 订单名称
            "total_fee" => "0.01", // 付款金额
            "body"  => "", // 订单描述 可选
            "show_url"  => "", // 商品展示地址 可选
            "anti_phishing_key" => "", // 防钓鱼时间戳  若要使用请调用类文件submit中的query_timestamp函数
            "exter_invoke_ip"   => "", // 客户端的IP地址
            "_input_charset"    => 'utf-8', // 字符编码格式
        );
        // 去除值为空的参数
        foreach ($parameter as $k => $v) {
            if (empty($v)) {
                unset($parameter[$k]);
            }
        }
        // 参数排序
        ksort($parameter);
        reset($parameter);
        // 拼接获得sign
        $str = "";
        foreach ($parameter as $k => $v) {
            if (empty($str)) {
                $str .= $k . "=" . $v;
            } else {
                $str .= "&" . $k . "=" . $v;
            }
        }
        $parameter['sign'] = md5($str . $alipay_config['key']);
        $parameter['sign_type'] = $alipay_config['sign_type'];
        $sHtml = "<form id='alipaysubmit' name='alipaysubmit' action='https://mapi.alipay.com/gateway.do?_input_charset=utf-8' method='get'>";
        foreach ($parameter as $k => $v) {
            $sHtml.= "<input type='hidden' name='" . $k . "' value='" . $v . "'/>";
        }

        $sHtml = $sHtml."<script>document.forms['alipaysubmit'].submit();</script>";

        echo $sHtml;
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值