|  | @@ -53,22 +53,11 @@ class Wechat extends Core
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	# 退款
 | 
	
		
			
				|  |  | -	public function refund($order_id)
 | 
	
		
			
				|  |  | +	public function refundByOrder($order_id)
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  |  		$info = Dever::db('pay/order')->one(array('order_id' => $order_id));
 | 
	
		
			
				|  |  |  		if ($info && ($info['status'] == 1 || $info['status'] == 2 || $info['status'] == 5)) {
 | 
	
		
			
				|  |  | -			$out_trade_no = $info['order_id'];
 | 
	
		
			
				|  |  | -			$info['cash'] = $info['cash'] * 100;
 | 
	
		
			
				|  |  | -			$total_fee = $info['cash'];
 | 
	
		
			
				|  |  | -			$refund_fee = $info['cash'];
 | 
	
		
			
				|  |  | -			$input = new \WxPayRefund();
 | 
	
		
			
				|  |  | -			$input->SetOut_trade_no($out_trade_no);
 | 
	
		
			
				|  |  | -			$input->SetTotal_fee($total_fee);
 | 
	
		
			
				|  |  | -			$input->SetRefund_fee($refund_fee);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -		    $input->SetOut_refund_no($out_trade_no . '_' . time());
 | 
	
		
			
				|  |  | -		    $input->SetOp_user_id($this->config->GetMerchantId());
 | 
	
		
			
				|  |  | -			$result = \WxPayApi::refund($this->config, $input);
 | 
	
		
			
				|  |  | +			$this->refund($info['order_id'], $info['cash']);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			Dever::db('pay/order')->update(array('where_id' => $info['id'], 'status' => 5));
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -78,6 +67,25 @@ class Wechat extends Core
 | 
	
		
			
				|  |  |  		return false;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	# 退款
 | 
	
		
			
				|  |  | +	public function refund($order_id, $cash)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		$out_trade_no = $order_id;
 | 
	
		
			
				|  |  | +		$info['cash'] = $cash * 100;
 | 
	
		
			
				|  |  | +		$total_fee = $cash;
 | 
	
		
			
				|  |  | +		$refund_fee = $cash;
 | 
	
		
			
				|  |  | +		$input = new \WxPayRefund();
 | 
	
		
			
				|  |  | +		$input->SetOut_trade_no($out_trade_no);
 | 
	
		
			
				|  |  | +		$input->SetTotal_fee($total_fee);
 | 
	
		
			
				|  |  | +		$input->SetRefund_fee($refund_fee);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	    $input->SetOut_refund_no($out_trade_no . '_' . time());
 | 
	
		
			
				|  |  | +	    $input->SetOp_user_id($this->config->GetMerchantId());
 | 
	
		
			
				|  |  | +		$result = \WxPayApi::refund($this->config, $input);
 | 
	
		
			
				|  |  | +		return $result;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	/**
 | 
	
		
			
				|  |  |  	 * 获取统一下单的基本信息
 | 
	
		
			
				|  |  |  	 */
 |