chengkun
2025-05-23 a6f7b382623096b6a00924f418447cf5204e825e
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
<!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)
 * 如果不想使用扩展功能请把扩展功能参数赋空值。
 */
 
require_once("alipay.config.php");
require_once("lib/alipay_submit.class.php");
 
 
 
/**************************调用授权接口alipay.wap.trade.create.direct获取授权码token**************************/
    
//返回格式
$format = "xml";
//必填,不需要修改
 
//返回格式
$v = "2.0";
//必填,不需要修改
 
//请求号
$req_id = date('Ymdhis');
//必填,须保证每次请求都是唯一
 
//**req_data详细信息**
 
//服务器异步通知页面路径
$notify_url = "http://商户网关地址/WS_WAP_PAYWAP-PHP-UTF-8/notify_url.php";
//需http://格式的完整路径,不允许加?id=123这类自定义参数
 
//页面跳转同步通知页面路径
$call_back_url = "http://127.0.0.1:8800/WS_WAP_PAYWAP-PHP-UTF-8/call_back_url.php";
//需http://格式的完整路径,不允许加?id=123这类自定义参数
 
//操作中断返回地址
$merchant_url = "http://127.0.0.1:8800/WS_WAP_PAYWAP-PHP-UTF-8/xxxx.php";
//用户付款中途退出返回商户的地址。需http://格式的完整路径,不允许加?id=123这类自定义参数
 
//卖家支付宝帐户
$seller_email = $_POST['WIDseller_email'];
//必填
 
//商户订单号
$out_trade_no = $_POST['WIDout_trade_no'];
//商户网站订单系统中唯一订单号,必填
 
//订单名称
$subject = $_POST['WIDsubject'];
//必填
 
//付款金额
$total_fee = $_POST['WIDtotal_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><merchant_url>' . $merchant_url . '</merchant_url></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']),
        "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->buildRequestForm($parameter, 'get', '');
header('Location: '.$html_text);
?>
</body>
</html>