随着微信支付的普及,越来越多的网站需要集成微信支付功能。在这篇文章中,我们将讨论如何在php中实现微信支付的发起和查询。
在PHP中发起微信支付,第一步是调用微信支付的统一下单API来生成预支付订单。该API需要传递一些必要的参数,包括商户的ID、支付金额、订单号、回调URL等。以下是一个示例代码:
<?php
require_once('WxPayApi.php');
require_once('WxPayUnifiedOrder.php');
$order = new WxPayUnifiedOrder();
$order->SetBody('商品描述');
$order->SetOut_trade_no('订单号');
$order->SetTotal_fee('支付金额');
$order->SetNotify_url('回调URL');
$order->SetTrade_type('JSAPI');
$order->SetOpenid('用户OpenID');
$result = WxPayApi::unifiedOrder($order);调用统一下单API后,我们需要获取预支付订单的信息,包括预支付交易会话标识(prepay_id)和其他必要的参数。以下是一个示例代码:
<?php
require_once('WxPayApi.php');
require_once('WxPayData.php');
$input = new WxPayData();
$input->SetBody('商品描述');
$input->SetOut_trade_no('订单号');
$input->SetTotal_fee('支付金额');
$input->SetNotify_url('回调URL');
$input->SetTrade_type('JSAPI');
$input->SetOpenid('用户OpenID');
$result = WxPayApi::unifiedOrder($input);
$prepay_id = $result['prepay_id'];
$params = [
'appId' => $result['appid'],
'timeStamp' => time(),
'nonceStr' => $result['nonce_str'],
'package' => "prepay_id={$prepay_id}",
'signType' => 'MD5'
];
$params['paySign'] = WxPayApi::getSign($params);获取预支付订单信息后,我们可以将获取到的参数传递给前端,让用户在微信客户端中发起支付。以下是一个示例代码:
<?php
echo '<script language="javascript">';
echo 'WeixinJSBridge.invoke("getBrandWCPayRequest", {
"appId":"'.$params['appId'].'",
"timeStamp":"'.$params['timeStamp'].'",
"nonceStr":"'.$params['nonceStr'].'",
"package":"'.$params['package'].'",
"signType":"'.$params['signType'].'",
"paySign":"'.$params['paySign'].'"
}, function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ){
alert("支付成功");
}else{
alert("支付失败");
}
});';
echo '</script>';支付完成后,我们需要查询支付结果以确保交易已成功完成。以下是一个示例代码:
立即学习“PHP免费学习笔记(深入)”;
<?php
require_once('WxPayApi.php');
$input = new WxPayOrderQuery();
$input->SetOut_trade_no('订单号');
$result = WxpayApi::orderQuery($input);
if ($result['trade_state'] == 'SUCCESS') {
echo '支付成功';
} else {
echo '支付失败';
}总结:
以上就是在PHP中实现微信支付的发起和查询的全部过程。当我们需要在网站上集成微信支付时,可以按照以上步骤进行操作。建议使用官方提供的SDK进行开发,可以节省很多时间和精力。
微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号