本文实例为大家分享了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 >
|
就这么简单。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。