基于PHP的微信支付教程 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

example文件夹下的 WxPay.JsApiPay.php

对应文件管理中example文件夹下的 WxPay.JsApiPay.php文件

1,静态函数 unifiedOrder

负责统一下单除刷卡支付外的支付都是由它进行,如果我们是在网页中进行支付的话, 这个函数是先行的,所传入的参数是 lib文件夹下WxPay.Data.php的WxPayUnifiedOrder 类, 它主要负责设置一些订单的信息,例如设置商户订单号:

$input->SetOut_trade_no("32个字符内、可包含字母的商户订单号");

返回值是一个数组,包含的状态码和支付信息,但是不能由这个来判断是否支付成功!官方文档

还有一个要注意的是:要设置的订单信息项,不止一个,下面是一个例子,在下面的课程我会逐个解释。

$input = new WxPayUnifiedOrder();
$input->SetOut_trade_no("32个字符内、可包含字母的商户订单号");
//其他的设置
$order = WxPayApi::unifiedOrder($input);

2,静态函数 refund

负责退款,所有支付方式的退款都是由它进行,它所传入的参数是 lib文件夹下WxPay.Data.php的WxPayRefund 类,它主要负责设置一些要退款的订单的信息*,例如设置要退款的商户订单号。

注意:每次退款的商户订单号或微信订单号,都是和下单时候的一样,它们是配对的。

$input->SetOut_trade_no("对应下单时的订单号");

返回值是一个数组,款数数目、时间、退款结果等,下面是一个例子。

$input = new WxPayRefund();
$input->SetOut_trade_no("下单时的商户订单号");
//其他的设置
$order = WxPayApi::refund($input);

对应文件管理中example文件夹下的WxPay.MicroPay.php文件

3,刷卡支付 pay

负责刷卡支付下订单,所传入的参数是 lib文件夹下WxPay.Data.php的WxPayMicroPay 类,它主要负责设置要刷卡支付的订单信息,例子如下。

$input->SetOut_trade_no("下单时的商户订单号");

返回值是一个数组,含有订单下单时间、支付的状态结果等,下面是一个例子。

$input = new WxPayMicroPay();
$input->SetOut_trade_no("下单时的订单号");
//其他的设置
$microPay = new MicroPay();
$order = $microPay->pay($input);

无论是下单还是退款,是否只设置一个订单号就够了呢?
不是