/**
  * 退款
  * @throws WxPayException
  */
 public function actionRefund()
 {
     $result = null;
     // 微信订单号 优先级别高
     if (isset($_REQUEST["transaction_id"]) && $_REQUEST["transaction_id"] != "") {
         try {
             $transaction_id = $_REQUEST["transaction_id"];
             $total_fee = $_REQUEST["total_fee"];
             $refund_fee = $_REQUEST["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);
             $result = WxPayApi::refund($input);
         } catch (WxPayException $ex) {
             echo $ex->getMessage();
         }
     }
     // 商户订单 优先级别低于微信订单
     if (isset($_REQUEST["out_trade_no"]) && $_REQUEST["out_trade_no"] != "") {
         try {
             $out_trade_no = $_REQUEST["out_trade_no"];
             $total_fee = $_REQUEST["total_fee"];
             $refund_fee = $_REQUEST["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);
             $result = WxPayApi::refund($input);
         } catch (WxPayException $ex) {
             echo $ex->getMessage();
         }
     }
 }