php 微信 查询退款,基于PHP的微信支付教程

查询退款

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

1,头文件引入

必须引入的头文件,以SDK的路径为例子

require_once "../lib/WxPay.Api.php";

可选的头文件引入,该头文件只是微信支付用于记录操作日志

require_once 'log.php';

2,根据微信订单号查询

微信订单号在上面提到,它是微信支付系统自己帮我们生成的,如果要获知的话,目前我们可以在查询订单处获得,或者直接登录微信商户平台查看获得,由微信订单号查退款的灵活度不高,下面是例子代码。

if(isset($_REQUEST["transaction_id"]) && $_REQUEST["transaction_id"] != ""){

$transaction_id = $_REQUEST["transaction_id"];

$input = new WxPayRefundQuery();

$input->SetTransaction_id($transaction_id);

$order = WxPayApi::refundQuery($input);

var_dump($order)$order;

};

3,根据商户订单号查询

商户订单号查询的灵活性高,因为商户订单号是我们自己生成的,在下订单生成的时候,我们在处理下单结果确认支付成功后,就可以把它存到数据库,查询的时候再读取出来。

if(isset($_REQUEST["out_trade_no"]) && $_REQUEST["out_trade_no"] != ""){

$out_trade_no = $_REQUEST["out_trade_no"];

$input = new WxPayRefundQuery();

$input->SetOut_trade_no($out_trade_no);

$order = WxPayApi::refundQuery($input);

var_dump($order)$order;

}

4,根据商户退款单号查询

还记得在退款操作的时候有这么一句设置吗,如下所示,它就是设置商户退款单号的,也是由我们生成,一样要确保它对于每条退款的唯一性。

/** SetOut_refund_no 设置此次退款的商户单号,它不是商户订单号 */

$input->SetOut_refund_no(WxPayConfig::MCHID.date("YmdHis"));if(isset($_REQUEST["out_refund_no"]) && $_REQUEST["out_refund_no"] != ""){

$out_refund_no = $_REQUEST["out_refund_no"];

$input = new WxPayRefundQuery();

$input->SetOut_refund_no($out_refund_no);

$order = WxPayApi::refundQuery($input);

var_dump($order)$order;

}

5,根据退款单号查询

退款单号的生成和微信订单号一样,也是微信支付系统帮我们生成的。

if(isset($_REQUEST["refund_id"]) && $_REQUEST["refund_id"] != ""){

$refund_id = $_REQUEST["refund_id"];

$input = new WxPayRefundQuery();

$input->SetRefund_id($refund_id);

$order = WxPayApi::refundQuery($input);

var_dump($order)$order;

}

上面的四种退款查询方式,各有所长,我们可以根据我们的实际情况的选择使用,一般来说,微信支付系统帮我们生成的单号的优先级别是大于我们自己生成的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值