public override Response PerformRequest(Request request) { Response response = new Response(); if (gatewaySettings == null) { //Load settings if they have not been loaded OrbitalChasePayment.GetSettings(); } PaymentechGateway server = new PaymentechGateway(); server.Url = objProvider.transactionUrl; NewOrderRequestElement authBean = new NewOrderRequestElement(); //Default values coming from config file. authBean.merchantID = objProvider.MerchantId; authBean.terminalID = objProvider.TerminalId; authBean.industryType = objProvider.IndustryType; authBean.bin = objProvider.Bin; //Specific values per customer. authBean.orderID = request.InvoiceNumber; authBean.transType = request.RequestType.ToString(); authBean.amount = (request.Amount * 100).ToString(); authBean.ccAccountNum = request.CardNumber; authBean.ccExp = request.ExpireDate; authBean.ccCardVerifyNum = request.CardCvv; authBean.avsName = request.FirstName + " " + request.LastName; authBean.avsAddress1 = request.Address1; authBean.avsCity = request.City; authBean.avsZip = request.ZipCode; authBean.avsCountryCode = request.Country; authBean.customerPhone = request.Phone; authBean.customerName = request.FirstName + " " + request.LastName; authBean.customerEmail = request.Email; try { NewOrderResponseElement responseBean = server.NewOrder(authBean); Console.WriteLine("ProcStatus: " + responseBean.procStatus); Console.WriteLine("ApprovalStatus: " + responseBean.approvalStatus); if (responseBean.respCode.Equals("00") && responseBean.approvalStatus.Equals("1")) { response.ResponseType = TransactionResponseType.Approved; } else if (responseBean.approvalStatus.Equals("0")) { response.ResponseType = TransactionResponseType.Denied; } else { response.ResponseType = TransactionResponseType.Error; } response.ReasonText = responseBean.respCodeMessage; response.TransactionID = responseBean.txRefNum; response.AuthCode = responseBean.authorizationCode; response.AvsResponse = TransactionAvsResponse.Match; } catch (System.Web.Services.Protocols.SoapException ex) { Console.WriteLine(ex.Message); response.ResponseType = TransactionResponseType.Error; } return(response); }
protected Response BuildRequest(Request request) { Response response = new Response(); PaymentechGateway server = new PaymentechGateway(); server.Url = gatewaySettings.TransactionURL; NewOrderRequestElement authBean = new NewOrderRequestElement(); //Default values coming from config file. authBean.merchantID = gatewaySettings.MerchantId; authBean.terminalID = gatewaySettings.TerminalId; authBean.industryType = gatewaySettings.IndustryType; authBean.bin = gatewaySettings.Bin; authBean.version = gatewaySettings.Version; authBean.transType = gatewaySettings.RequestType; if (gatewaySettings.User.Length > 0) { authBean.orbitalConnectionUsername = gatewaySettings.User; } if (gatewaySettings.Password.Length > 0) { authBean.orbitalConnectionPassword = gatewaySettings.Password; } //Specific values per customer. authBean.orderID = request.InvoiceNumber; authBean.amount = (request.Amount * 100).ToString(); authBean.ccAccountNum = request.CardNumber; authBean.ccExp = request.ExpireDate.ToString("yyyyMM"); authBean.ccCardVerifyNum = request.CardCvv; authBean.avsName = request.FirstName + " " + request.LastName; authBean.avsAddress1 = request.Address1; authBean.avsCity = request.City; authBean.avsZip = request.ZipCode; authBean.avsCountryCode = request.Country; authBean.customerPhone = request.Phone; authBean.customerName = request.FirstName + " " + request.LastName; authBean.customerEmail = request.Email; response.GatewayRequestRaw = Serialize(authBean); try { NewOrderResponseElement responseBean = server.NewOrder(authBean); Console.WriteLine("ProcStatus: " + responseBean.procStatus); Console.WriteLine("ApprovalStatus: " + responseBean.approvalStatus); if (responseBean.respCode.Equals("00") && responseBean.approvalStatus.Equals("1")) { response.ResponseType = TransactionResponseType.Approved; } else if (responseBean.approvalStatus.Equals("0")) { response.ResponseType = TransactionResponseType.Denied; } else { response.ResponseType = TransactionResponseType.Error; } response.ReasonText = responseBean.respCodeMessage; response.TransactionID = responseBean.txRefNum; response.AuthCode = responseBean.authorizationCode; response.MerchantDefined1 = responseBean.txRefIdx; response.GatewayResponseRaw = Serialize(responseBean); } catch (Exception ex) { string s = ex.Message; response.ResponseType = TransactionResponseType.Error; response.GatewayResponseRaw = "Exception message: " + ex.Message; } return(response); }