chengkun
2025-04-30 6ab292fb7415be124651e312ec4f21c594568f17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?php
 
/*
 *功能:设置商品有关信息(确认订单支付宝在线购买入口页)
 *详细:该页面是接口入口页面,生成支付时的URL
 *版本:3.0
 *修改日期:2010-06-22
 '说明:
 '以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
 '该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
 
*/
 
////////////////////注意/////////////////////////
//该页面测试时出现“调试错误”请参考:http://club.alipay.com/read-htm-tid-8681712.html
//要传递的参数要么不允许为空,要么就不要出现在数组与隐藏控件或URL链接里。
/////////////////////////////////////////////////
error_reporting(0);
require_once("alipay_config.php");
require_once("class/alipay_service.php");
require_once(dirname(dirname(dirname(__FILE__)))."/config/db.safety.php");
require_once(dirname(dirname(dirname(__FILE__)))."/config/db.config.php");
require_once(dirname(dirname(dirname(__FILE__)))."/data/plus/config.php");
if (substr(PHP_VERSION, 0, 1) == '7') {
    require_once(dirname(dirname(dirname(__FILE__)))."/app/include/mysqli.class.php");
}else{
    require_once(dirname(dirname(dirname(__FILE__)))."/app/include/mysql.class.php");
}
$db = new mysql($db_config['dbhost'], $db_config['dbuser'], $db_config['dbpass'], $db_config['dbname'], ALL_PS, $db_config['charset']);
if(!is_numeric($_POST['dingdan'])){die;}
 
//echo json_encode($_POST);die;
 
$sql=$db->query("select * from `".$db_config["def"]."company_order` where `order_id`='".$_POST['dingdan']."' AND `order_price`>=0");
$row=$db->fetch_array($sql);
 
/*以下参数是需要通过下单时的订单数据传入进来获得*/
//必填参数
$out_trade_no = $_POST['dingdan'];    //请与贵网站订单系统中的唯一订单号匹配
$subject      = $_POST['subject']?$_POST['subject']:'充值';        //订单名称,显示在支付宝收银台里的“商品名称”里,显示在支付宝的交易管理的“商品名称”的列表里。
$body         = $row['order_remark'];        //订单描述、订单详细、订单备注,显示在支付宝收银台里的“商品描述”里
$total_fee    = $row['order_price'];        //订单总金额,显示在支付宝收银台里的“应付总额”里
 
//扩展功能参数——网银提前
$pay_mode      = $_POST['pay_bank'];
 
if ($pay_mode == "directPay") {
    $paymethod    = "directPay";    //默认支付方式,四个值可选:bankPay(网银); cartoon(卡通); directPay(余额); CASH(网点支付)
    $defaultbank  = "";
}
/*else {
    $paymethod    = "bankPay";        //默认支付方式,四个值可选:bankPay(网银); cartoon(卡通); directPay(余额); CASH(网点支付)
    $defaultbank  = $pay_mode;        //默认网银代号,代号列表见http://club.alipay.com/read.php?tid=8681379
}*/
 
//扩展功能参数——防钓鱼
$encrypt_key  = '';                    //防钓鱼时间戳,初始值
$exter_invoke_ip = '';                //客户端的IP地址,初始值
if($antiphishing == 1){
    $encrypt_key = query_timestamp($partner);
    $exter_invoke_ip = '';            //获取客户端的IP地址,建议:编写获取客户端IP地址的程序
}
 
//扩展功能参数——其他
$extra_common_param =$_POST['pay_type'];            //自定义参数,可存放任何内容(除=、&等特殊字符外),不会显示在页面上
$buyer_email        = '';            //默认买家支付宝账号
 
/////////////////////////////////////////////////
 
//构造要请求的参数数组
$parameter = array(
        "service"         => "create_direct_pay_by_user",    //接口名称,不需要修改
        "payment_type"    => "1",                           //交易类型,不需要修改
 
        //获取配置文件(alipay_config.php)中的值
        "partner"         => $partner,
        "seller_email"    => $seller_email,
        "return_url"      => $return_url,
        "notify_url"      => $notify_url,
        "_input_charset"  => $_input_charset,
        "show_url"        => $show_url,
 
        //从订单数据中动态获取到的必填参数
        "out_trade_no"    => $out_trade_no,
        "subject"         => $subject,
        "body"            => $body,
        "total_fee"       => $total_fee,
 
        //扩展功能参数——网银提前
        "paymethod"          => $paymethod,
        "defaultbank"      => $defaultbank,
 
        //扩展功能参数——防钓鱼
        "anti_phishing_key"=> $encrypt_key,
        "exter_invoke_ip" => $exter_invoke_ip,
 
        //扩展功能参数——分润(若要使用,请取消下面两行注释)
        //$royalty_type   => "10",      //提成类型,不需要修改
        //$royalty_parameters => "111@126.com^0.01^分润备注一|222@126.com^0.01^分润备注二",
        /*提成信息集,与需要结合商户网站自身情况动态获取每笔交易的各分润收款账号、各分润金额、各分润说明。最多只能设置10条
    提成信息集格式为:收款方Email_1^金额1^备注1|收款方Email_2^金额2^备注2
        */
 
        //扩展功能参数——自定义超时(若要使用,请取消下面一行注释)。该功能默认不开通,需联系客户经理咨询
        //$it_b_pay          => "1c",      //超时时间,不填默认是15天。八个值可选:1h(1小时),2h(2小时),3h(3小时),1d(1天),3d(3天),7d(7天),15d(15天),1c(当天)
 
        //扩展功能参数——自定义参数
        "buyer_email"     => $buyer_email,
        "extra_common_param" => $extra_common_param
);
//构造请求函数
$alipay = new alipay_service($parameter,$security_code,$sign_type);
 
 
//若改成GET方式传递
$url = $alipay->create_url();
header("location:".$url);
 
 
//POST方式传递,得到加密结果字符串,请取消下面一行的注释
//$sHtmlText = $alipay->build_postform();
 
?>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
        <title>支付宝即时支付</title>
        <style type="text/css">
            .font_content{
                font-family:"宋体";
                font-size:14px;
                color:#FF6600;
            }
            .font_title{
                font-family:"宋体";
                font-size:16px;
                color:#FF0000;
                font-weight:bold;
            }
            table{
                border: 1px solid #CCCCCC;
            }
        </style>
    </head>
    <body>
 
        <table align="center" width="350" cellpadding="5" cellspacing="0">
            <tr>
                <td align="center" class="font_title" colspan="2">订单确认</td>
            </tr>
            <tr>
                <td class="font_content" align="right">订单号:</td>
                <td class="font_content" align="left"><?php echo $out_trade_no; ?></td>
            </tr>
            <tr>
                <td class="font_content" align="right">付款总金额:</td>
                <td class="font_content" align="left"><?php echo $total_fee; ?></td>
            </tr>
            <tr>
                <td align="center" colspan="2"><?php echo $sHtmlText; ?></td>
            </tr>
        </table>
    </body>
</html>