function do_checkout(ET_Order $order)
 {
     $md5 = isset($_REQUEST['x_MD5_Hash']) ? $_REQUEST['x_MD5_Hash'] : '';
     $amount = isset($_REQUEST['x_amount']) ? $_REQUEST['x_amount'] : '';
     $trans_id = isset($_REQUEST['x_trans_id']) ? $_REQUEST['x_trans_id'] : '';
     $payment = new ET_Authorize($this->_settings, 1);
     if ($md5 == $payment->generate_hash($amount, $trans_id)) {
         $this->_order->set_status('publish');
         $this->_order->update_order();
         return array('ACK' => true, 'payment' => 'authorize', 'payment_status' => 'Completed');
     } else {
         return array('ACK' => false, 'payment' => 'authorize', 'payment_status' => 'error');
     }
 }