当前位置:代码狗 > 经验教程 > 实用教程 > 正文

微信支付PHP开发教程七查询退款

上一篇我们已经学会了如何使用微信支付的退款接口发起退款请求,并且能判断退款成功与否,为了安全起见,最好的操作还是在收到退款返回消息后,不管成功与否都去查询一下,一切以查询出来的数据为准。所以,今天讲的退款查询就十分重要了,当然,如果你和我一样付款给我就别想退款,那么你可以忽略这一块。嘿嘿·······

提交退款申请后,通过调用该接口查询退款状态。退款有一定延时,用零钱支付的退款20分钟内到账,银行卡支付的退款3个工作日后重新查询退款状态。

注意:如果单个支付订单部分退款次数超过20次请使用退款单号查询

微信支付

微信支付

接口链接:https://api.mch.weixin.qq.com/pay/refundquery

是否需要证书:不需要

请求参数我就不说了,老规矩,自己看文档:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_5

PHP查询退款订单源码

//退款
	public function refund($order){
		$apiparams=[
		'appid'=>self::appid,
		'mch_id'=>self::mch_id,
		'out_trade_no'=>$order,
		'nonce_str'=>Util::getNonceStr(),
		'out_refund_no'=>Util::getNonceStr(),
		'total_fee'=>1,
		'refund_fee'=>1
		];
		$apiparams['sign']=$this->GetSign($apiparams);
		
		$xml=Util::ArrToXml($apiparams);
		$result=Util::postXmlCurl($xml,'https://api.mch.weixin.qq.com/secapi/pay/refund',true);
		$arr=Util::XmlToArr($result);
		if($arr['return_code']=='SUCCESS'){
			file_put_contents('./log.txt',$result);
			return 'success';
		}else{
			file_put_contents('./error.txt',$result);
			return false;
		}
		
	}

里面需要的参数自己换成自己的,不清楚有哪些参数的,或者不清楚如何使用的,请从第一篇文章看起,这个方法里面有些方法源码在微信支付PHP开发教程三统一下单实例一文中,自行复制粘贴,我就不再贴出了。

退款订单的查询结果会输出到log.txt文件中,如果你想要解析返回的xml数据,请使用前面源码中的XmlToArr方法转换成数组使用,数组很简单吧,应该会用的。

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏

评论 2

  1. #2

    来了一次又一次,总是情不自已!

    www.mayileju.com4个月前 (06-09)回复
  2. #1

    你好,退款没收到,你转我支付宝吧

    奶爸de笔记4个月前 (06-07)回复
×

请作者吃根烤肠!

支付宝