thinkPHP和微支付实现的微信支付插件,在微信中调用微信jssdk实现支付,这里有详细的代码和教程,具体看这里:
?
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
|
//实现的Wxpay钩子方法
public function Wxpay( $param ){
require './Addons/Wxpay/WxPayPubHelper/WxPayPubHelper.php' ;
$jsApi = new \\JsApi_pub();
//=========步骤1:网页授权获取用户openid============
if (!isset( $_GET [ 'code' ]))
{
//触发微信返回code码
$url = $jsApi ->createOauthUrlForCode(\\WxPayConf_pub::JS_API_CALL_URL. '/order_id/' . $param [ 'order_id' ]);
Header( "Location: $url" );
} else
{
$order_id = $param [ 'order_id' ];
$info = M( 'Order' )->where( 'id=' . $order_id )->find();
if ( empty ( $info ) || $info [ 'is_pay' ] == 1){
dump( '该订单不存在或已支付' . $order_id );
exit ();
}
$this ->assign( 'info' , $info );
$a = $info [ 'money' ];
$b = 100;
$c = $a * $b ;
//获取code码,以获取openid
$code = $_GET [ 'code' ];
$jsApi ->setCode( $code );
$openid = $jsApi ->getOpenId();
}
//=========步骤2:使用统一支付接口,获取prepay_id============
//使用统一支付接口
$unifiedOrder = new \\UnifiedOrder_pub();
$unifiedOrder ->setParameter( "openid" , "$openid" ); //商品描述
$unifiedOrder ->setParameter( "body" , "在线预订" ); //商品描述
//自定义订单号,此处仅作举例
$timeStamp = time();
// $out_trade_no = \\WxPayConf_pub::APPID."$timeStamp";
$out_trade_no = $info [ 'ordersn' ];
$unifiedOrder ->setParameter( "out_trade_no" , "$out_trade_no" ); //商户订单号
$unifiedOrder ->setParameter( "total_fee" , "$c" ); //总金额
$unifiedOrder ->setParameter( "notify_url" ,\\WxPayConf_pub::NOTIFY_URL. '/order_id/' . $param [ 'order_id' ]); //通知地址
$unifiedOrder ->setParameter( "trade_type" , "JSAPI" ); //交易类型
$prepay_id = $unifiedOrder ->getPrepayId();
//=========步骤3:使用jsapi调起支付============
$jsApi ->setPrepayId( $prepay_id );
$jsApiParameters = $jsApi ->getParameters();
$this ->assign( 'jsApiParameters' , $jsApiParameters );
$this ->display( 'pay' );
}
|
以上就是本文的全部内容,希望对大家学习PHP程序设计有所帮助。
相关文章
猜你喜欢
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
- 64M VPS建站:是否适合初学者操作和管理? 2025-06-10
- ASP.NET自助建站系统中的用户注册和登录功能定制方法 2025-06-10
- ASP.NET自助建站系统的域名绑定与解析教程 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
如何在亚马逊云主机上部署WordPress等主流CMS系统?
2025-05-27 53 -
Windows 11自带杀毒软件太灵敏了,可以这样暂时关闭或永久禁用它
2025-05-27 90 -
2025-05-25 12
-
2025-06-04 66
-
2025-05-29 48
热门评论