<?php
class Api {
    public 
$api_url 'http://domain/api.php';
    public 
$api_key '';

    public function 
order($data) { // add order
        
$post array_merge(array(
            
'key' => $this->api_key,
            
'action' => 'add'
        
) , $data);
        return 
json_decode($this->connect($post));
    }

    public function 
status($order_id) { // get order status
        
return json_decode($this->connect(array(
            
'key' => $this->api_key,
            
'action' => 'status',
            
'order_id' => $order_id
        
)));
    }

    private function 
connect($post) {
        
$_post = Array();
        if (
is_array($post)) {
            foreach(
$post as $name => $value) {
                
$_post[] = $name '=' urlencode($value);
            }
        }
        
$ch curl_init($this->api_url);
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
curl_setopt($chCURLOPT_POST1);
        
curl_setopt($chCURLOPT_HEADER0);
        
curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
        
curl_setopt($chCURLOPT_SSL_VERIFYHOST0);
        
curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
        if (
is_array($post)) {
            
curl_setopt($chCURLOPT_POSTFIELDSjoin('&'$_post));
        }
        
curl_setopt($chCURLOPT_USERAGENT'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
        
$result curl_exec($ch);
        if (
curl_errno($ch) != && empty($result)) {
            
$result false;
        }
        
curl_close($ch);
        return 
$result;
    }
}

// Examples
$api = new Api();

// add order
$order $api->order(array('service' => 1'link' => 'http://example.com/test''quantity' => 100)); // service, link, quantity

// get order status
$status $api->status($order->order_id); // order_id
?>