本文介绍了Laravel使用支付宝进行支付的示例代码,分享给大家,也给自己留个笔记
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
|
/* 支付 */ public function pay() { header( "content-type:text/html;charset=utf8" ); //echo 1;die; // ******************************************************配置 start************************************************************************************************************************* //↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ //合作身份者id,以2088开头的16位纯数字 $alipay_config [ 'partner' ] = '合作身份者id' ; //收款支付宝账号 $alipay_config [ 'seller_email' ] = '' ; //安全检验码,以数字和字母组成的32位字符 $alipay_config [ 'key' ] = 'y8z1t3vey08bgkzlw78u9cbc4pizy2sj' ; //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ //签名方式 不需修改 $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' ; // ******************************************************配置 end************************************************************************************************************************* // ******************************************************请求参数拼接 start************************************************************************************************************************* $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" => "支付后跳转路径" , // 页面跳转同步通知页面路径 "out_trade_no" => "订单号" , // 商户网站订单系统中唯一订单号 "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' ]; // ******************************************************请求参数拼接 end************************************************************************************************************************* // ******************************************************模拟请求 start************************************************************************************************************************* $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>" ; // ******************************************************模拟请求 end************************************************************************************************************************* echo $sHtml ; } |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/wpfphp/article/details/52604071