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); } }
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; }