/// <summary> /// Perrform Process. /// </summary> /// <returns>Message</returns> protected override String DoIt() { log.Info("Record_ID=" + GetRecord_ID()); // get Payment MPayment pp = new MPayment(GetCtx(), GetRecord_ID(), Get_TrxName()); // Validate Number String msg = MPaymentValidate.ValidateCreditCardNumber(pp.GetCreditCardNumber(), pp.GetCreditCardType()); if (msg != null && msg.Length > 0) { throw new ArgumentException(Msg.GetMsg(GetCtx(), msg)); } msg = MPaymentValidate.ValidateCreditCardExp(pp.GetCreditCardExpMM(), pp.GetCreditCardExpYY()); if (msg != null && msg.Length > 0) { throw new ArgumentException(Msg.GetMsg(GetCtx(), msg)); } if (pp.GetCreditCardVV().Length > 0) { msg = MPaymentValidate.ValidateCreditCardVV(pp.GetCreditCardVV(), pp.GetCreditCardType()); if (msg != null && msg.Length > 0) { throw new ArgumentException(Msg.GetMsg(GetCtx(), msg)); } } // Process it bool ok = pp.ProcessOnline(); pp.Save(); if (!ok) { throw new Exception(pp.GetErrorMessage()); } return("OK"); }