示例#1
0
        /// <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");
        }