SetTransaction_id($query_no); break; case 'out_trade_no': $input->SetOut_trade_no($query_no); break; case 'out_refund_no': $input->SetOut_refund_no($query_no); break; case 'refund_id': $input->SetRefund_id($query_no); break; default: throw new \WxPayException('参数错误, 请在四种查询方式中选择一种'); break; } $result = \WxPayApi::refundQuery($input); // 3.处理返回结果 if(!(array_key_exists("return_code", $result) && array_key_exists("result_code", $result) && $result["return_code"] == "SUCCESS" && $result["result_code"] == "SUCCESS")) { if(empty($result['return_msg']) || $result['return_msg'] == 'OK') { throw new \WxPayException('退款错误: '.$result['err_code']." 原因:".$result['err_code_des']); } else { throw new \WxPayException('退款错误: '.$result['return_msg']); } } else { return $result; } } }