Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
 public async Task <ClientResponse> NewOrderAsync(NewOrderType newOrder, string traceNumber = null)
 {
     return(await _client.NewOrderAsync(newOrder, traceNumber));
 }
Exemplo n.º 7
0
 public ClientResponse NewOrder(NewOrderType newOrder, string traceNumber = null)
 {
     return(_client.NewOrder(newOrder, traceNumber));
 }
Exemplo n.º 8
0
 public ClientResponse NewOrder(NewOrderType newOrder, string traceNumber = null)
 {
     return(NewOrderAsync(newOrder, traceNumber).GetAwaiter().GetResult());
 }