|  | @@ -6,36 +6,61 @@ use Dever;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  class Set
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -    public function updateStatus_api()
 | 
	
		
			
				|  |  | +	# 可以自定义token的key
 | 
	
		
			
				|  |  | +	public function updateStatus_secure_api_token()
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		$project_id = Dever::input('pay_project_id');
 | 
	
		
			
				|  |  | +		$info = Dever::db('pay/project')->one($project_id);
 | 
	
		
			
				|  |  | +		if ($info) {
 | 
	
		
			
				|  |  | +			return $info['key'];
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return false;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	# 带有安全验证的接口 需要传入dever_token,可以参考下边的test_order例子
 | 
	
		
			
				|  |  | +    public function updateStatus_secure_api()
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |      	$send = Dever::preInput('pay_');
 | 
	
		
			
				|  |  | -    	$project_id = $send['pay_project_id'];
 | 
	
		
			
				|  |  | -    	$info = Dever::db('pay/project')->one($project_id);
 | 
	
		
			
				|  |  | -    	if (!$info) {
 | 
	
		
			
				|  |  | -    		return 'error';
 | 
	
		
			
				|  |  | -    	}
 | 
	
		
			
				|  |  | -        $key = md5($info['key']);
 | 
	
		
			
				|  |  | -        ksort($send);
 | 
	
		
			
				|  |  | -        $send['signature'] = md5($key . '&' . http_build_query($send));
 | 
	
		
			
				|  |  | -        $signature = Dever::input('signature');
 | 
	
		
			
				|  |  | -        if ($send['signature'] == $signature) {
 | 
	
		
			
				|  |  | -        	$tk_pic = $send['pay_tk_pic'];
 | 
	
		
			
				|  |  | -            $tk_time = $send['pay_tk_time'];
 | 
	
		
			
				|  |  | -            $tk_desc = $send['pay_tk_desc'];
 | 
	
		
			
				|  |  | -            $order_id = $send['pay_order_id'];
 | 
	
		
			
				|  |  | -            $status = $send['pay_status'];
 | 
	
		
			
				|  |  | -            $uid = $send['uid'];
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            $order = Dever::db('pay/order')->one(array('order_id' => $order_id, 'uid' => $uid));
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            if ($order) {
 | 
	
		
			
				|  |  | -            	$update['where_id'] = $order['id'];
 | 
	
		
			
				|  |  | -            	$update['status'] = $status;
 | 
	
		
			
				|  |  | -            	$update['tk_pic'] = $tk_pic;
 | 
	
		
			
				|  |  | -            	$update['tk_time'] = $tk_time;
 | 
	
		
			
				|  |  | -            	$update['tk_desc'] = $tk_desc;
 | 
	
		
			
				|  |  | -            	Dever::db('pay/order')->update($update);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +        $tk_pic = $send['pay_tk_pic'];
 | 
	
		
			
				|  |  | +        $tk_time = $send['pay_tk_time'];
 | 
	
		
			
				|  |  | +        $tk_desc = $send['pay_tk_desc'];
 | 
	
		
			
				|  |  | +        $order_id = $send['pay_order_id'];
 | 
	
		
			
				|  |  | +        $status = $send['pay_status'];
 | 
	
		
			
				|  |  | +        $uid = $send['pay_uid'];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        $order = Dever::db('pay/order')->one(array('order_id' => $order_id, 'uid' => $uid));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if ($order) {
 | 
	
		
			
				|  |  | +        	$update['where_id'] = $order['id'];
 | 
	
		
			
				|  |  | +        	$update['status'] = $status;
 | 
	
		
			
				|  |  | +        	$update['tk_pic'] = $tk_pic;
 | 
	
		
			
				|  |  | +        	$update['tk_time'] = $tk_time;
 | 
	
		
			
				|  |  | +        	$update['tk_desc'] = $tk_desc;
 | 
	
		
			
				|  |  | +        	Dever::db('pay/order')->update($update);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return 'ok';
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    # 这是一个带有安全验证的请求例子
 | 
	
		
			
				|  |  | +    private function test_order($id, $name, $data)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        $status = Dever::param('status', $data);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if ($status > 0 && $id > 0) {
 | 
	
		
			
				|  |  | +            $send = array();
 | 
	
		
			
				|  |  | +            $info = Dever::db('journal/order')->one($id);
 | 
	
		
			
				|  |  | +            $send['pay_project_id'] = 1;
 | 
	
		
			
				|  |  | +            $send['pay_uid'] = $info['uid'];
 | 
	
		
			
				|  |  | +            $send['pay_order_id'] = $info['order_id'];
 | 
	
		
			
				|  |  | +            $send['pay_tk_pic'] = $info['tk_pic'];
 | 
	
		
			
				|  |  | +            $send['pay_tk_time'] = $info['tk_time'];
 | 
	
		
			
				|  |  | +            $send['pay_tk_desc'] = $info['tk_desc'];
 | 
	
		
			
				|  |  | +            $send['pay_status'] = $status;
 | 
	
		
			
				|  |  | +            $send['dever_token'] = 'test';//自定义key,为空则使用系统的token
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            # 发送请求
 | 
	
		
			
				|  |  | +            Dever::load('pay/lib/set.updateStatus', $send);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |