* */ include_once "../WxPayPubHelper/WxPayPubHelper.php"; //要查询的订单号 if (!isset($_POST["out_trade_no"])) { $out_trade_no = " "; } else { $out_trade_no = $_POST["out_trade_no"]; //使用退款查询接口 $refundQuery = new RefundQuery_pub(); //设置必填参数 //appid已填,商户无需重复填写 //mch_id已填,商户无需重复填写 //noncestr已填,商户无需重复填写 //sign已填,商户无需重复填写 $refundQuery->setParameter("out_trade_no", "{$out_trade_no}"); //商户订单号 // $refundQuery->setParameter("out_refund_no","XXXX");//商户退款单号 // $refundQuery->setParameter("refund_id","XXXX");//微信退款单号 // $refundQuery->setParameter("transaction_id","XXXX");//微信退款单号 //非必填参数,商户可根据实际情况选填 //$refundQuery->setParameter("sub_mch_id","XXXX");//子商户号 //$refundQuery->setParameter("device_info","XXXX");//设备号 //退款查询接口结果 $refundQueryResult = $refundQuery->getResult(); //商户根据实际情况设置相应的处理流程,此处仅作举例 if ($refundQueryResult["return_code"] == "FAIL") { echo "通信出错:" . $refundQueryResult['return_msg'] . "<br>"; } else { echo "业务结果:" . $refundQueryResult['result_code'] . "<br>"; echo "错误代码:" . $refundQueryResult['err_code'] . "<br>";
public function refundQuery($order) { $ret = new \stdClass(); $ret->is_success = ''; $config = $this->getConfig($order); if (!$config) { $ret->is_success = 'F'; $ret->error = '不存在的交易号'; return $ret; } $refundQueryObj = new \RefundQuery_pub($config); //$refundQueryObj->setParameter('out_trade_no', "$out_trade_no") ; //商户订单号 $refundQueryObj->setParameter('transaction_id', $order['ser_recharge_no']); //微信订单号 //$refundQuery->setParameter("out_refund_no","XXXX");//商户退款单号 //$refundQuery->setParameter("refund_id","XXXX");//微信退款单号 //$refundQuery->setParameter("transaction_id","XXXX");//微信退款单号 //非必填参数,商户可根据实际情况选填 //$refundQuery->setParameter("sub_mch_id","XXXX");//子商户号 //$refundQuery->setParameter("device_info","XXXX");//设备号 //退款查询接口结果 $refundQueryResult = $refundQueryObj->getResult(); if ($refundQueryResult["return_code"] == "SUCCESS") { if ($refundQueryResult['result_code'] == 'SUCCESS' && $refundQueryResult['refund_count'] >= 1) { $ret->is_success = 'T'; $ret->code = 1; //已经退过款 $ret->error = '该笔订单已经退过款,退款不允许超过两次'; $ret->refund_count = $refundQueryResult['refund_count']; $ret->mer_refund_no = $refundQueryResult['out_refund_no']; $ret->ser_refund_no = $refundQueryResult['refund_id']; } } else { $ret->is_success = 'F'; $ret->code = 999; $ret->error = '通信出错:errmsg=' . $refundQueryResult['return_msg']; } return $ret; }