微信支付:订单退款

本人是参考微信支付官方提供的案例来操作的:

SDK与DEMO下载


其中我是把他的`refund`订单退款拿过来进行修改的

贴上代码

/**
* 微信支付_订单退款
*/
public function wechat_refund() {


	//微信订单号和商户订单号选少填一个,微信订单号优先:
	//微信订单号:
	if(isset($_POST["transaction_id"]) && $_POST["transaction_id"] != ""){
		$transaction_id = $_POST["transaction_id"];		//微信订单号
		$total_fee = $_POST["total_fee"];		//总金额
		$refund_fee = $_POST["refund_fee"];		//退款金额
		$input = new WxPayRefund();
		$input->SetTransaction_id($transaction_id);							//微信订单号
		$input->SetTotal_fee($total_fee);									//总金额
		$input->SetRefund_fee($refund_fee);									//退款金额
	    $input->SetOut_refund_no(WxPayConfig::MCHID.date("YmdHis"));		//退款订单号
	    $input->SetOp_user_id(WxPayConfig::MCHID);							//商户订单号


		WxPayApi::refund($input);
		exit();
	}


	//商户订单号:
	//$_POST["out_trade_no"]= "122531270220150304194108";
	//$_POST["total_fee"]= "1";
	//$_POST["refund_fee"] = "1";
	if(isset($_POST["out_trade_no"]) && $_POST["out_trade_no"] != ""){
		$out_trade_no = $_POST["out_trade_no"];
		$total_fee = $_POST["total_fee"];
		$refund_fee = $_POST["refund_fee"];
		$input = new WxPayRefund();
		$input->SetOut_trade_no($out_trade_no);
		$input->SetTotal_fee($total_fee);
		$input->SetRefund_fee($refund_fee);
	    $input->SetOut_refund_no(WxPayConfig::MCHID.date("YmdHis"));
	    $input->SetOp_user_id(WxPayConfig::MCHID);
		WxPayApi::refund($input);
		exit();
	}


}

唯一一点要注意的就是:证书必须路径必须是绝对路径




简单来说:你只要证书放对了位置,并且路径地址也写对了。就可以了达到退款功能了。!!!!!证书没放对会报错:58这种错误

猜你喜欢

转载自blog.csdn.net/qq_33858250/article/details/79942668