public function merchantRecurringAuth($data)
 {
     DB::getConn()->transactionStart();
     try {
         $this->AuthAmount = 1.0;
         $this->write();
         $adapter = new DPSAdapter();
         $inputs = $this->prepareMerchantHostedRecurringAuthInputs($data);
         $adapter->doPayment($inputs, $this);
         DB::getConn()->transactionEnd();
     } catch (Exception $e) {
         DB::getConn()->transactionRollback();
         $this->handleError($e);
     }
 }
 function payAsRecurring()
 {
     $adapter = new DPSAdapter();
     $inputs = $this->prepareAsRecurringPaymentInputs();
     $adapter->doPayment($inputs, $this);
 }