本文实例为大家分享了thinkphp整合微信支付代码,供大家参考,具体内容如下
下载:支付SDK
将微信支付SDK放在第三方类库Vendor下面,请切记把WxPay.Config.php里面的商户信息修改为您的公众号信息,以避免造成资金的流失。
php端代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public function pay(){ //商户基本信息,可以写死在WxPay.Config.php里面,其他详细参考WxPayConfig.php vendor( 'Pay.JSAPI' ); $tools = new \JsApiPay(); $openid = $tools ->GetOpenid(); $Out_trade_no = date ( 'YHis' ).rand(100,1000); $Total_fee = '测试' ; $Body = '啥也不说' ; $Total_fee =1; $input = new \WxPayUnifiedOrder(); $input ->SetBody( $Body ); $input ->SetOut_trade_no( $Out_trade_no ); $input ->SetTotal_fee( $Total_fee ); $input ->SetNotify_url( "http://xx.xxx.com/pay/notify.php" ); $input ->SetTrade_type( "JSAPI" ); $input ->SetOpenid( $openId ); $order = \WxPayApi::unifiedOrder( $input ); $this ->jsApiParameters = $tools ->GetJsApiParameters( $order ); $this ->display(); } |
HTML端代码
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
|
<!doctype html> < head > < meta charset = "UTF-8" > < title >微信安全支付</ title > < meta name = "keywords" content = "" /> < meta name = "HandheldFriendly" content = "True" > < meta name = "MobileOptimized" content = "320" > < meta name = "format-detection" content = "telephone=no" > < meta http-equiv = "Cache-Control" content = "no-cache, no-store, must-revalidate" /> < meta http-equiv = "Pragma" content = "no-cache" /> < meta http-equiv = "Expires" content = "0" /> < meta http-equiv = "cleartype" content = "on" > < meta id = "viewport" name = "viewport" content = "width=320, initial-scale=1.0,maximum-scale=1.0, user-scalable=0," /> < script type = "text/javascript" > //调用微信JS api 支付 function jsApiCall() { WeixinJSBridge.invoke( 'getBrandWCPayRequest', {$jsApiParameters}, function(res){ WeixinJSBridge.log(res.err_msg); if(res.err_msg == 'get_brand_wcpay_request:cancel') { alert("您已取消了此次支付"); return; } else if(res.err_msg == 'get_brand_wcpay_request:fail') { alert("支付失败"); return; } else if(res.err_msg == 'get_brand_wcpay_request:ok') { alert("支付成功!");//跳转到订单页面 } else { alert("未知错误"+res.error_msg); return; } } ); } function callpay() { if (typeof WeixinJSBridge == "undefined"){ if( document.addEventListener ){ document.addEventListener('WeixinJSBridgeReady', jsApiCall, false); }else if (document.attachEvent){ document.attachEvent('WeixinJSBridgeReady', jsApiCall); document.attachEvent('onWeixinJSBridgeReady', jsApiCall); } }else{ jsApiCall(); } } </ script > </ head > < body > < button type = "button" class = "btn btn-danger btn-lg btn-block" onclick = "callpay()" > 确认支付 </ button > </ body > </ html > |
就这么简单。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。