c 微信扫码支付php怎样用
下面是一个例子,演示如何生成一个微信扫码支付二维码:
<?php
// 引入微信扫码支付所需的类库
require_once 'lib/WxPay.Api.php';
require_once 'lib/WxPay.NativePay.php';
require_once 'lib/log.php';
// 设置扫码支付的参数
$input = new WxPayUnifiedOrder();
$input->SetBody("租赁商品"); // 商品描写
$input->SetAttach("附加信息"); // 附加数据
$input->SetOut_trade_no("20180306113245"); // 商户定单号
$input->SetTotal_fee("100"); // 定单金额,单位为分
$input->SetTime_start(date("YmdHis")); // 定单生成时间
$input->SetTime_expire(date("YmdHis", time() + 600)); // 定单失效时间
$input->SetGoods_tag("标签"); // 商品标记,可选
$input->SetNotify_url("http://www.example.com/notify.php"); // 支付结果回调地址
$input->SetTrade_type("NATIVE"); // 扫码支付类型
$input->SetProduct_id("123456789"); // 商品ID
// 生成二维码
$notify = new NativePay();
$result = $notify->GetPayUrl($input);
$url = $result["code_url"];
// 输出二维码
echo "<img src=\"http://paysdk.weixin.qq.com/example/qrcode.php?data=" . urlencode($url) . "\"><br>";
echo "请使用微信扫描上面的二维码进行支付。";
?>
以上代码示例使用微信支付类库提供的方法生成了一个微信扫码支付二维码。输出的二维码图片可以通过
当支付流程完成后,微信会向商户的回调地址发送支付结果通知。以下代码展现了怎么处理微信支付结果通知:
<?php
// 引入微信支付结果处理类库
require_once "lib/WxPay.Api.php";
require_once 'lib/WxPay.Notify.php';
require_once 'lib/log.php';
// 处理支付结果通知
$logHandler= new CLogFileHandler("logs/".date('Y-m-d').'.log');
$log = Log::Init($logHandler, 15);
$notify = new PayNotifyCallBack();
$notify->Handle(false);
// 取得支付结果通知的数据
$xml = file_get_contents("php://input");
$result = WxPayResults::Init($xml);
// 处理支付结果
if($result['return_code'] == 'SUCCESS'){
if($result['result_code'] == 'SUCCESS'){
// 支付成功
// 更新定单状态等操作
Log::DEBUG("微信支付成功!");
}
else{
// 支付失败
// 处理失败缘由等操作
Log::DEBUG("微信支付失败:" . $result['err_code_des']);
}
}
else{
// 异常情况
// 处理异常缘由等操作
Log::DEBUG("微信支付异常:" . $result['return_msg']);
}
?>
以上代码示例使用微信支付结果类库提供的方法处理了支付结果通知。在支付结果通知中,我们可以根据
在实际利用中,我们还可以根据需求进行更多的定制化开发,例如:
- 添加定单管理功能,方便商家查询和处理支付定单;
- 创建一个用户中心,实现用户查询支付记录的功能;
- 添加图形化的统计报表,展现支付数据的分析结果。
总之,使用
文章来源:丸子建站
文章标题:c 微信扫码支付php怎样用
https://www.wanzijz.com/view/64054.html