예제 #1
0
 private bool CheckCapture(SAPbouiCOM.Form form)
 {
     try
     {
         var q = from a in db.CCTRANs
                 where a.customerID == PMCustID &&
                 a.command == "cc:authonly" &&
                 a.recDate > (DateTime.Today.AddDays(-30)) &&
                 !db.CCTRANs.Any(a2 => (a2.refNum == a.refNum) && (a2.command == "cc:capture"))
                 select a;
         if (q.Count() == 0)
         {
             return(false);
         }
         foreach (CCTRAN t in q)
         {
             if (double.Parse(t.amount) == getItemDoubleValue(theActiveForm, fidBalance))
             {
                 preauthCCTRAN = t;
                 return(true);
             }
         }
     }catch (Exception ex)
     {
         errorLog(ex);
     }
     return(false);
 }
예제 #2
0
    private void job_logCustomTransaction(CustomerTransactionRequest req, TransactionResponse resp, SAPCust sapcust, CCJOB job, string InvoiceID = "")
    {
        CCTRAN cctran = new CCTRAN();

        try
        {
            if (job.OrderID == null)
                job.OrderID = 0;
            if (job.InvoiceID == null)
                job.InvoiceID = 0;

            cctran.customerID = sapcust.cccust.CustomerID;
            cctran.CCAccountID = 0;
            cctran.jobID = (int)job.jobID;
            cctran.OrderID = job.OrderID.ToString();
            cctran.InvoiceID = InvoiceID;
            cctran.CreditMemoID = "";
            cctran.DownPaymentInvoiceID = "";
            if (sapcust != null)
            {
                try
                {
                    cctran.CCAccountID = int.Parse(sapcust.cccust.CCAccountID);
                    cctran.customerID = sapcust.cccust.CustomerID;
                    cctran.MethodID = sapcust.custObj.PaymentMethodProfiles[0].MethodID;
                    cctran.custNum = sapcust.cccust.CustNum;
                    cctran.crCardNum = sapcust.custObj.PaymentMethodProfiles[0].CardNumber;
                    cctran.CardHolder = sapcust.custObj.BillingAddress.FirstName + " " + sapcust.custObj.BillingAddress.LastName;
                }catch(Exception ex)
                {
                    errorLog(ex);
                }
            }
            cctran.Description = req.Details.Description;
            cctran.recID = req.Details.Invoice;
            cctran.acsUrl = resp.AcsUrl;
            cctran.authAmount = resp.AuthAmount.ToString();
            cctran.authCode = resp.AuthCode;
            cctran.avsResult = resp.AvsResult;
            cctran.avsResultCode = resp.AvsResultCode;
            cctran.batchNum = resp.BatchNum;
            cctran.batchRef = resp.BatchRefNum;
            cctran.cardCodeResult = resp.CardCodeResult;
            cctran.cardCodeResultCode = resp.CardCodeResultCode;
            cctran.cardLevelResult = resp.CardLevelResult;
            cctran.cardLevelResultCode = resp.CardLevelResultCode;
            cctran.conversionRate = resp.ConversionRate.ToString();
            cctran.convertedAmount = resp.ConvertedAmount.ToString();
            cctran.convertedAmountCurrency = resp.ConvertedAmountCurrency.ToString();
            cctran.custNum = resp.CustNum;
            cctran.error = resp.Error;
            cctran.errorCode = resp.ErrorCode;
            cctran.isDuplicate = resp.isDuplicate.ToString();
            cctran.payload = resp.Payload;
            cctran.profilerScore = resp.ProfilerScore;
            cctran.profilerResponse = resp.ProfilerResponse;
            cctran.profilerReason = resp.ProfilerReason;
            cctran.refNum = resp.RefNum;
            cctran.remainingBalance = resp.RemainingBalance.ToString();
            cctran.result = resp.Result;
            cctran.resultCode = resp.ResultCode;
            cctran.status = resp.Status;
            cctran.statusCode = resp.StatusCode;
            cctran.vpasResultCode = resp.VpasResultCode;
            cctran.recDate = DateTime.Now;//Use local time not server time
            cctran.command = req.Command;
            cctran.amount = req.Details.Amount.ToString();
            insert(cctran);
        }
        catch (Exception ex)
        {

            errorLog(ex);
        }
    }
    private void logTransaction(TransactionRequestObject req, TransactionResponse resp)
    {
        string sql = "";

        try
        {
            string cardLastFour = "";
            try
            {
                if (req.CreditCardData.CardNumber == null)
                {
                    cardLastFour = "";
                }
                else
                {
                    cardLastFour = req.CreditCardData.CardNumber.Substring(req.CreditCardData.CardNumber.Length - 4);
                }
            }catch (Exception)
            {}

            db.CommandTimeout = 30000;
            CCTRAN cctran = new CCTRAN();
            cctran.customerID              = req.CustomerID;
            cctran.customerName            = req.BillingAddress.Company;
            cctran.crCardNum               = cardLastFour;
            cctran.Description             = req.Details.Description;
            cctran.recID                   = req.Details.Invoice;
            cctran.acsUrl                  = resp.AcsUrl;
            cctran.authAmount              = resp.AuthAmount.ToString();
            cctran.authCode                = resp.AuthCode;
            cctran.avsResult               = resp.AvsResult;
            cctran.avsResultCode           = resp.AvsResultCode;
            cctran.batchNum                = resp.BatchNum;
            cctran.batchRef                = resp.BatchRefNum;
            cctran.cardCodeResult          = resp.CardCodeResult;
            cctran.cardCodeResultCode      = resp.CardCodeResultCode;
            cctran.cardLevelResult         = resp.CardLevelResult;
            cctran.cardLevelResultCode     = resp.CardLevelResultCode;
            cctran.conversionRate          = resp.ConversionRate.ToString();
            cctran.convertedAmount         = resp.ConvertedAmount.ToString();
            cctran.convertedAmountCurrency = resp.ConvertedAmountCurrency.ToString();
            cctran.custNum                 = resp.CustNum;
            cctran.error                   = resp.Error;
            cctran.errorCode               = resp.ErrorCode;
            cctran.isDuplicate             = resp.isDuplicate.ToString();
            cctran.payload                 = resp.Payload;
            cctran.profilerScore           = resp.ProfilerScore;
            cctran.profilerResponse        = resp.ProfilerResponse;
            cctran.profilerReason          = resp.ProfilerReason;
            cctran.refNum                  = resp.RefNum;
            cctran.remainingBalance        = resp.RemainingBalance.ToString();
            cctran.result                  = resp.Result;
            cctran.resultCode              = resp.ResultCode;
            cctran.status                  = resp.Status;
            cctran.statusCode              = resp.StatusCode;
            cctran.vpasResultCode          = resp.VpasResultCode;
            cctran.recDate                 = DateTime.Now;//Use local time not server time
            cctran.command                 = req.Command;
            cctran.amount                  = req.Details.Amount.ToString();
            db.CCTRANs.InsertOnSubmit(cctran);
            db.SubmitChanges();
        }catch (Exception ex)
        {
            errorLog(ex);
            errorLog(sql);
        }
    }
예제 #4
0
    private void logCustomTransaction(string id, string cardcode)
    {
        try
        {
            TransactionResponse resp = transObjForImport.Response;

            CCTRAN cctran = new CCTRAN();
            cctran.OrderID      = id;
            cctran.InvoiceID    = "";
            cctran.CreditMemoID = "";
            cctran.customerID   = cardcode;
            cctran.MethodID     = "";
            cctran.custNum      = "";
            string currency = getCurrency("ORDR", id);
            string group    = getGroupName(cardcode);
            string cardtype = transObjForImport.CreditCardData.CardType;
            string acctid   = "";
            string cardName = getCardName(group, cardtype, currency, ref acctid);
            cctran.CCAccountID = int.Parse(acctid);

            cctran.crCardNum   = transObjForImport.CreditCardData.CardNumber;
            cctran.Description = transObjForImport.Details.Description;
            cctran.recID       = transObjForImport.Details.Invoice;

            cctran.acsUrl                  = resp.AcsUrl;
            cctran.authAmount              = resp.AuthAmount.ToString();
            cctran.authCode                = resp.AuthCode;
            cctran.avsResult               = resp.AvsResult;
            cctran.avsResultCode           = resp.AvsResultCode;
            cctran.batchNum                = resp.BatchNum;
            cctran.batchRef                = resp.BatchRefNum;
            cctran.cardCodeResult          = resp.CardCodeResult;
            cctran.cardCodeResultCode      = resp.CardCodeResultCode;
            cctran.cardLevelResult         = resp.CardLevelResult;
            cctran.cardLevelResultCode     = resp.CardLevelResultCode;
            cctran.conversionRate          = resp.ConversionRate.ToString();
            cctran.convertedAmount         = resp.ConvertedAmount.ToString();
            cctran.convertedAmountCurrency = resp.ConvertedAmountCurrency.ToString();
            cctran.custNum                 = resp.CustNum;
            cctran.error            = resp.Error;
            cctran.errorCode        = resp.ErrorCode;
            cctran.isDuplicate      = resp.isDuplicate.ToString();
            cctran.payload          = resp.Payload;
            cctran.profilerScore    = resp.ProfilerScore;
            cctran.profilerResponse = resp.ProfilerResponse;
            cctran.profilerReason   = resp.ProfilerReason;
            cctran.refNum           = resp.RefNum;
            cctran.remainingBalance = resp.RemainingBalance.ToString();
            cctran.result           = resp.Result;
            cctran.resultCode       = resp.ResultCode;
            cctran.status           = resp.Status;
            cctran.statusCode       = resp.StatusCode;
            cctran.vpasResultCode   = resp.VpasResultCode;
            cctran.recDate          = DateTime.Now;//Use local time not server time
            cctran.command          = transObjForImport.TransactionType;
            if (transObjForImport.TransactionType == "Auth Only")
            {
                cctran.command = "cc:authonly";
            }
            cctran.amount = transObjForImport.Details.Amount.ToString();

            insert(cctran);
        }
        catch (Exception ex)
        {
            errorLog(ex);
        }
    }