bhq@iemsoft.cn
2018-11-27 e2b48dac099e43f4b3243cdf19a7522e4b5eccbe
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>支付宝即时到账交易接口接口</title>
</head>
<?php
/* *
 * 功能:即时到账交易接口接入页
 * 版本:3.3
 * 修改日期:2012-07-23
 * 说明:
 * 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
 * 该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
 
 *************************注意*************************
 * 如果您在接口集成过程中遇到问题,可以按照下面的途径来解决
 * 1、商户服务中心(https://b.alipay.com/support/helperApply.htm?action=consultationApply),提交申请集成协助,我们会有专业的技术工程师主动联系您协助解决
 * 2、商户帮助中心(http://help.alipay.com/support/232511-16307/0-16307.htm?sh=Y&info_type=9)
 * 3、支付宝论坛(http://club.alipay.com/read-htm-tid-8681712.html)
 * 如果不想使用扩展功能请把扩展功能参数赋空值。
 */
if(strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger'))
{
        define('IN_ECS', true);
        require_once("../includes/init.php");
        $smarty->display('new.dwt');
        exit;
}
require_once("alipay.config.php");
require_once("lib/alipay_submit.class.php");
 
//初始化配置
$alipay_config = array(
                "partner" => PARTNER,
                "key" => KEY,
                "account" => ACCOUNT,
                "private_key_path" => PRIVATE_KEY_PATH,
                "ali_public_key_path" => ALI_PUBLIC_KEY_PATH,
                "sign_type" => SIGN_TYPE,
                "input_charset" => INPUT_CHARSET,
                "cacert" => CACERT,
                "transport" => TRANSPORT 
                );
 
/**************************调用授权接口alipay.wap.trade.create.direct获取授权码token**************************/
    
//返回格式
$format = "xml";
//必填,不需要修改
 
//返回格式
$v = "2.0";
//必填,不需要修改
 
//请求号
$req_id = date('Ymdhis');
//必填,须保证每次请求都是唯一
 
//**req_data详细信息**
 
//服务器异步通知页面路径
$notify_url = "http://".$_SERVER['HTTP_HOST']."/mobile/pay/ajax_url.php";
//$notify_url = "http://www.duudoo.com/test.asp";
//需http://格式的完整路径,不允许加?id=123这类自定义参数
 
//页面跳转同步通知页面路径
$call_back_url = "http://".$_SERVER['HTTP_HOST']."/mobile/pay/result_url.php";
//需http://格式的完整路径,不允许加?id=123这类自定义参数
 
//卖家支付宝帐户
$seller_email = $alipay_config['account'];
//必填
 
//商户订单号
$out_trade_no = $_GET['out_trade_no'];
//商户网站订单系统中唯一订单号,必填
 
//订单名称
$subject = $_GET['out_trade_no'];
//必填
 
//付款金额
$total_fee = $_GET['total_fee'];
//必填
 
//请求业务参数详细
$req_data = '<direct_trade_create_req><notify_url>' . $notify_url . '</notify_url><call_back_url>' . $call_back_url . '</call_back_url><seller_account_name>' . $seller_email . '</seller_account_name><out_trade_no>' . $out_trade_no . '</out_trade_no><subject>' . $subject . '</subject><total_fee>' . $total_fee . '</total_fee></direct_trade_create_req>';
//必填
 
/************************************************************/
 
//构造要请求的参数数组,无需改动
$para_token = array(
        "service" => "alipay.wap.trade.create.direct",
        "partner" => trim($alipay_config['partner']),
        "sec_id" => trim($alipay_config['sign_type']),
        "format"    => $format,
        "v"    => $v,
        "req_id"    => $req_id,
        "req_data"    => $req_data,
        "_input_charset"    => trim(strtolower($alipay_config['input_charset']))
);
 
//建立请求
$alipaySubmit = new AlipaySubmit($alipay_config);
$html_text = $alipaySubmit->buildRequestHttp($para_token);
 
//URLDECODE返回的信息
$html_text = urldecode($html_text);
 
//解析远程模拟提交后返回的信息
$para_html_text = $alipaySubmit->parseResponse($html_text);
 
//获取request_token
$request_token = $para_html_text['request_token'];
 
 
/**************************根据授权码token调用交易接口alipay.wap.auth.authAndExecute**************************/
 
//业务详细
$req_data = '<auth_and_execute_req><request_token>' . $request_token . '</request_token></auth_and_execute_req>';
//必填
 
//构造要请求的参数数组,无需改动
$parameter = array(
        "service" => "alipay.wap.auth.authAndExecute",
        "partner" => trim($alipay_config['partner']),
        "v"    => $v,
        "sec_id" => trim($alipay_config['sign_type']),
        "format"    => $format,
        "req_id"    => $req_id,
        "req_data"    => $req_data,
        "_input_charset"    => trim(strtolower($alipay_config['input_charset']))
);
 
//建立请求
$alipaySubmit = new AlipaySubmit($alipay_config);
$html_text = $alipaySubmit->buildRequestForm($parameter, 'get', '确认');
echo $html_text;
?>
</body>
</html>