def run(method = :get)
      add_param :method, method
      @conn.send(method, "/#{T2Airtime::ENDPOINT}", @params) do |req|
        req.options = { timeout: 600, open_timeout: 600 }
      end
    end
def run(method = :get)
      add_param :method, method
      @conn.send(method, "/#{T2Airtime::ENDPOINT}", @params) do |req|
        req.options = { timeout: 600, open_timeout: 600 }
      end
    end
More than 99.5% of the transactions are currently processed within a few seconds.
 However, it may happen in some rare cases that a transaction takes longer to be processed by the receiving
 operator due to congested system on their end for instance.
 TransferTo guarantees that transactions not processed within 600 seconds will not be charged, whatever
 the final status of the transaction (successful or not). In addition, TransferTo is operating a real time system;
 therefore, the status returned in the Top-up response is final and will not change.
 To  ensure  that  your  system  captures  successfully  the  status  of  all  transactions  especially  the  longest
 ones, it is advised to either set up a high timeout value of 600seconds to be on the safe side (TCP connection
 could potentially be opened for a long time in this case) or to set up a mechanism to check on
 the status (to do so, you can call the trans_info method to retrieve the final status of a transaction).
 In case of timeout, both methods reserve_id and get_id_from_key of the API could be useful to identify
 the ID of the transaction (we recommend to either send a reserve_id request and to use the ID returned
 in the response in the subsequent top-up request so that you know in advance the ID of the transaction).