public static string CardSecValInd(NewOrderType order) { // Card Security Presence Indicator // For Discover/Visa // 1 Value is Present // 2 Value on card but illegible // 9 Cardholder states data not available // null if not Visa/Discover if (string.IsNullOrEmpty(order.CardSecVal)) { return(null); } var cardType = CardType(order.AccountNum); if (cardType == "Visa" || cardType == "Discover") { if (!string.IsNullOrEmpty(order.Exp)) { return("1"); } else { return("9"); } } return(null); }
public void CC_Order() { var order = new NewOrderType(_credentials.Username, _credentials.Password, _credentials.MerchantId) { OrderID = "100001", Amount = PaymentechHelpers.ConvertAmount(10.00m), AVSaddress1 = "101 Main St.", AVSaddress2 = "Apt. 4", AVScity = "New York", AVSstate = "NY", AVSzip = "10012", CustomerEmail = "*****@*****.**", AVSphoneNum = "9089089080", AccountNum = "4788250000028291", Exp = "1120", MessageType = ValidTransTypes.AC, }; var orderResult = _client.NewOrder(order); Assert.NotNull(orderResult?.Response?.Item); var orderItem = (newOrderRespType)orderResult.Response.Item; Assert.Equal("0", orderItem.ProcStatus); }
public async Task <ClientResponse> NewOrderAsync(NewOrderType newOrder, string traceNumber = null) { var item = newOrder.CopyToBase(); var xmlBody = new Request { Item = item }; var url = Endpoint.Url(); var request = new ClientRequest { Request = xmlBody, TraceNumber = traceNumber, }; return(await SendRequestAsync(url, request)); }
public void Duplicate_CC_Order() { var order = new NewOrderType(_credentials.Username, _credentials.Password, _credentials.MerchantId) { OrderID = "100001", Amount = PaymentechHelpers.ConvertAmount(10.00m), AVSaddress1 = "101 Main St.", AVSaddress2 = "Apt. 4", AVScity = "New York", AVSstate = "NY", AVSzip = "10012", CustomerEmail = "*****@*****.**", AVSphoneNum = "9089089080", AccountNum = "4788250000028291", Exp = "1124", MessageType = validtranstypes.AC, }; var traceNumber = _client.NewTraceNumber(); var cache = _client.GetCache(); var previousResponse = cache.GetValue(traceNumber); Assert.Null(previousResponse); var orderResult = _client.NewOrder(order, traceNumber); Assert.NotNull(orderResult?.Response?.Item); var orderItem = (newOrderRespType)orderResult.Response.Item; Assert.Equal("0", orderItem.ProcStatus); previousResponse = cache.GetValue(traceNumber); Assert.NotNull(previousResponse); var duplicateOrderResult = _client.NewOrder(order, traceNumber); Assert.NotNull(orderResult?.Response?.Item); var duplicateOrderItem = (newOrderRespType)duplicateOrderResult.Response.Item; Assert.Equal("0", duplicateOrderItem.ProcStatus); var duplicatePreviousResponse = cache.GetValue(traceNumber); Assert.NotNull(duplicatePreviousResponse); Assert.Equal(previousResponse, duplicatePreviousResponse); }
public void ProfileOrder() { var profile = ProfileTests.SetProfileDefaults(ProfileType.CreateProfile(_credentials.Username, _credentials.Password, _credentials.MerchantId)); var profileResult = _client.Profile(profile); Assert.NotNull(profileResult?.Response?.Item); var profileItem = (profileRespType)profileResult.Response.Item; Assert.Equal("0", profileItem.ProfileProcStatus); Assert.False(string.IsNullOrEmpty(profileItem.CustomerRefNum)); var customerRefNum = profileItem.CustomerRefNum; var order = new NewOrderType(_credentials.Username, _credentials.Password, _credentials.MerchantId) { CustomerRefNum = customerRefNum, OrderID = "100001", Amount = PaymentechHelpers.ConvertAmount(10.00m), }; var orderResult = _client.NewOrder(order); Assert.NotNull(orderResult?.Response?.Item); var orderItem = (newOrderRespType)orderResult.Response.Item; Assert.Equal("0", orderItem.ProcStatus); }
public async Task <ClientResponse> NewOrderAsync(NewOrderType newOrder, string traceNumber = null) { return(await _client.NewOrderAsync(newOrder, traceNumber)); }
public ClientResponse NewOrder(NewOrderType newOrder, string traceNumber = null) { return(_client.NewOrder(newOrder, traceNumber)); }
public ClientResponse NewOrder(NewOrderType newOrder, string traceNumber = null) { return(NewOrderAsync(newOrder, traceNumber).GetAwaiter().GetResult()); }