Example #1
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            XCTransaction2.XChargeTransaction objXC = new XCTransaction2.XChargeTransaction();

            try
            {
                using (OleDbConnection conDB = new OleDbConnection(clsAppSettings.GetAppSettings().strCTConn))
                {
                    conDB.Open();

                    using (OleDbCommand cmdDB = new OleDbCommand())
                    {
                        cmdDB.Connection = conDB;

                        string strXChargePath = "";
                        string strXWebID = "";
                        string strAuthKey = "";
                        string strTerminalID = "";

                        clsLiveCharge.subXChargeVars(cmdDB, ref strXChargePath, ref strXWebID, ref strAuthKey, ref strTerminalID);

                        string strAcct="";
                        string strErr="";

                        objXC.XCArchiveVaultAdd((int)this.Handle, strXChargePath, "Creating Vault Entry", true, true, "1518", "", "", "ALLOW", out strAcct, out strErr);

                        txtRes.Text = strErr + strAcct;
                    }

                    conDB.Close();
                }
            }
            catch (Exception ex) { MessageBox.Show("Error: " + ex.Message); }
        }
Example #2
0
        public static bool fcnLiveXCharge(long _lngHandle, ref string _strCardNum, decimal _decAmt, long _lngSaleID, long _lngRecordID, string _strSaleType, ref string _strXCAlias, ref string _strXCTransID, ref decimal _curApprovedAmt)
        {
            XCTransaction2.XChargeTransaction objXC = new XCTransaction2.XChargeTransaction();

            string strErr = "";
            string strRes = "";
            string strCVVRes = "";

            string strXChargePath = "";
            string strRawSwipe = "";
            string strTrack1 = "";
            string strTrack2 = "";
            string strCCType = "";
            string strExpMonth = "";
            string strExpYear = "";
            string strName = "";

            string strAppAmtRes = "";
            string strBalAmtRes = "";

            bool blnRes = false;

            bool blnProcessLocal = true;

            string strSQL = "";

            using (OleDbConnection conDB = new OleDbConnection(clsAppSettings.GetAppSettings().strCTConn))
            {
                conDB.Open();

                strSQL = "SELECT strXChargePath " +
                        "FROM tblCampDefaults";

                using (OleDbCommand cmdDB = new OleDbCommand(strSQL, conDB))
                {
                    try { strXChargePath = Convert.ToString(cmdDB.ExecuteScalar()); }
                    catch { strXChargePath = ""; }
                }

                conDB.Close();
            }

            if (_strXCAlias == "")
            {

                string strZip = "";
                string strAddress = "";
                string strCVV2 = "";

                //prompt for card entry
                //If objXC.PromptCreditCardEntry(lngHandle, "Enter Transaction Details", False, False, False, strRawSwipe, strTrack1, strTrack2, str_CardNum, strCCType, strExpMonth, strExpYear, strName, str_Zip, str_Address, str_CVV) Then
                if (objXC.PromptCreditCardEntry((int)_lngHandle, "Enter Transaction Details", false, false, false, out strRawSwipe, out strTrack1, out strTrack2, out _strCardNum, out strCCType, out strExpMonth, out strExpYear, out strName, out strZip, out strAddress, out strCVV2))
                {
                    //add to vault, get alias
                    if (objXC.XCArchiveVaultAdd((int)_lngHandle, strXChargePath, "CampTrak Transaction", true, false, strTrack1, "", "", "USEEXISTING", out _strXCAlias, out strErr))
                        blnRes = true;
                    else
                        blnRes = false;
                }
                else
                    blnRes = false;
            }
            else
            {
                //alias exists
                //if alias came from web then repeat trans must be processed through web service...try this first
                if (fcnLiveXChargeWeb(_decAmt, _strXCAlias, ref _strXCTransID, _lngSaleID.ToString(), ref _curApprovedAmt))
                {
                    blnProcessLocal = false;
                    blnRes = true;
                    strAppAmtRes = _curApprovedAmt.ToString();
                }
                else
                    blnProcessLocal = true;
            }

            if (blnProcessLocal && _strXCAlias != "")
            {
                string strXCAuthCode = "";

                //the allow dup flag is throwing an error on first transaction...first try not allowing.
                //if dupe error is returned then try again with flag switched
                if (objXC.XCPurchaseEx2((int)_lngHandle, strXChargePath, "CampTrak Transactions", true, false, clsNav.objLogin.cboUsers.Text, _lngSaleID.ToString(), _strXCAlias, "", strRawSwipe, _decAmt.ToString(), "", "", "", "", "", false, false, true, out strErr, out strXCAuthCode, out strRes, out strCVVRes, out _strXCTransID, out strAppAmtRes, out strBalAmtRes))
                    blnRes = true;
                else
                    if (strErr == "094 AP DUPE")
                    {
                        if (objXC.XCPurchaseEx2((int)_lngHandle, strXChargePath, "CampTrak Transactions", true, false, clsNav.objLogin.cboUsers.Text, _lngSaleID.ToString(), _strXCAlias, "", strRawSwipe, _decAmt.ToString(), "", "", "", "", "", false, true, true, out strErr, out strXCAuthCode, out strRes, out strCVVRes, out _strXCTransID, out strAppAmtRes, out strBalAmtRes))
                            blnRes = true;
                        else
                            blnRes = false;
                    }
            }

            if (blnRes)
            {
                try
                {
                    _curApprovedAmt = Convert.ToDecimal(strAppAmtRes);

                    if (_curApprovedAmt < _decAmt)
                        System.Windows.Forms.MessageBox.Show("Partial Approval\n\nRequested Amount: " + _decAmt + "\nApproved Amount: " + strAppAmtRes + "\nAmount Remaining: " + (_decAmt - _curApprovedAmt).ToString());
                }
                catch { }
            }
            else
            {
                System.Windows.Forms.MessageBox.Show("Error processing card: " + strErr);
            }

            return blnRes;
        }