Exemplo n.º 1
0
        public void DeleteToken()
        {
            var token = new CreditCardData {
                Token = _token
            };

            Assert.IsTrue(token.DeleteToken());

            try {
                token.Verify().Execute();
            }
            catch (GatewayException exc) {
                Assert.AreEqual("27", exc.ResponseCode);
            }
        }
Exemplo n.º 2
0
        public void Test_002_amex_match()
        {
            CreditCardData card = TestCards.AmexManual(false, false);

            card.Cvn = "0101";

            Transaction response = card.Authorize(10m)
                                   .WithCurrency("USD")
                                   .Execute();

            Assert.IsNotNull(response);
            System.Diagnostics.Debug.WriteLine(response.HostResponseDate);
            System.Diagnostics.Debug.WriteLine(response.SystemTraceAuditNumber);
            Assert.AreEqual("000", response.ResponseCode);
        }
Exemplo n.º 3
0
        public void Cleanup()
        {
            var tokenizedCard = new CreditCardData {
                Token = _token
            };

            Assert.IsTrue(tokenizedCard.DeleteToken());

            try {
                tokenizedCard.Verify().Execute();
            }
            catch (GatewayException ex) {
                Assert.AreEqual("RESOURCE_NOT_FOUND", ex.ResponseCode);
            }
        }
Exemplo n.º 4
0
        public void FullCycle_v1()
        {
            CreditCardData card = new CreditCardData {
                Number         = "4012001037141112",
                ExpMonth       = 12,
                ExpYear        = 2025,
                CardHolderName = "John Smith"
            };

            ThreeDSecure secureEcom = Secure3dService.CheckEnrollment(card)
                                      .WithAmount(1m)
                                      .WithCurrency("USD")
                                      .Execute(Secure3dVersion.One);

            Assert.AreEqual(Secure3dVersion.One, secureEcom.Version);

            if (secureEcom.Enrolled.Equals("Y"))
            {
                // authenticate
                ThreeDSecureAcsClient authClient = new ThreeDSecureAcsClient(secureEcom.IssuerAcsUrl);
                var authResponse = authClient.Authenticate(secureEcom.PayerAuthenticationRequest, secureEcom.MerchantData.ToString());

                string payerAuthenticationResponse = authResponse.pares;
                MerchantDataCollection md          = MerchantDataCollection.Parse(authResponse.md);

                // verify signature through the service and affix to the card object
                secureEcom = Secure3dService.GetAuthenticationData()
                             .WithPayerAuthenticationResponse(payerAuthenticationResponse)
                             .WithMerchantData(md)
                             .Execute();
                card.ThreeDSecure = secureEcom;

                if (secureEcom.Status.Equals("Y"))
                {
                    Transaction response = card.Charge().Execute();
                    Assert.IsNotNull(response);
                    Assert.AreEqual("00", response.ResponseCode);
                }
                else
                {
                    Assert.Fail("Signature verification Assert.Failed.");
                }
            }
            else
            {
                Assert.Fail("Card not enrolled.");
            }
        }
        public IActionResult StorecardApi(Datos detalles)
        {
            // configure client & request settings
            ServicesContainer.ConfigureService(new GatewayConfig {
                MerchantId   = "addonnettest",
                AccountId    = "api",
                SharedSecret = "secret",
                ServiceUrl   = "https://remote.sandbox.addonpayments.com/remote"
            });

            // ID del cliente
            var customer = new Customer
            {
                Key = detalles.Cliente.payerref
            };

            // Creamos un nuevo ID de tarjeta
            var paymentMethodRef = Guid.NewGuid().ToString();

            // Creamos el objeto de la tarjeta
            var card = new CreditCardData {
                Number         = detalles.Tarjeta.cardNumber,
                ExpMonth       = detalles.Tarjeta.month,
                ExpYear        = detalles.Tarjeta.year,
                CardHolderName = detalles.Tarjeta.cardholderName
            };

            // Asociamos el nuevo ID de tarjeta al cliente
            var paymentMethod = customer.AddPaymentMethod(paymentMethodRef, card);

            try {
                // process an auto-capture authorization
                var response = paymentMethod.Create();

                Respuesta respuesta = new Respuesta {
                    result = paymentMethodRef
                };

                return(Ok(respuesta));
            }

            catch (ApiException exce) {
                RespuestaError respuesta = new RespuestaError {
                    resultado = "Error en el envío de datos <br><br>" + exce
                };
                return(BadRequest(respuesta));
            }
        }
Exemplo n.º 6
0
        public void CardHolderEnrolled_ChallengeRequired_v2_WithTokenizedCard()
        {
            var tokenizedCard = new CreditCardData {
                Token = card.Tokenize(), CardHolderName = "Jason Mason"
            };

            Assert.IsNotNull(tokenizedCard.Token);

            var secureEcom = Secure3dService.CheckEnrollment(tokenizedCard)
                             .WithCurrency(Currency)
                             .WithAmount(Amount)
                             .Execute();

            AssertThreeDSResponse(secureEcom, AVAILABLE);
            Assert.IsFalse(secureEcom.ChallengeMandated);
        }
Exemplo n.º 7
0
 public void Initialize()
 {
     try {
         _card = new CreditCardData {
             Number   = "4111111111111111",
             ExpMonth = 12,
             ExpYear  = 2025,
             Cvn      = "123"
         };
         _token = _card.Tokenize();
         Assert.IsTrue(!string.IsNullOrEmpty(_token), "Token could not be generated.");
     }
     catch (ApiException ex) {
         Assert.Fail(ex.Message);
     }
 }
Exemplo n.º 8
0
 public void VerifyTokenizedPaymentMethod_WithMissingCardNumber()
 {
     _card = new CreditCardData {
         ExpMonth = 12,
         ExpYear  = 2025,
         Cvn      = "123"
     };
     try {
         _token = _card.Tokenize();
     }
     catch (GatewayException ex) {
         Assert.AreEqual("MANDATORY_DATA_MISSING", ex.ResponseCode);
         Assert.AreEqual("40005", ex.ResponseMessage);
         Assert.AreEqual("Status Code: BadRequest - Request expects the following fields : number", ex.Message);
     }
 }
        public void SaleWithTokenizedPaymentMethod()
        {
            var tokenizedCard = new CreditCardData {
                Token = card.Tokenize(),
            };

            var response = tokenizedCard.Charge(17.01m)
                           .WithCurrency("USD")
                           .WithAllowDuplicates(true)

                           .Execute();

            Assert.IsNotNull(response);
            Assert.AreEqual(SUCCESS, response?.ResponseCode);
            Assert.AreEqual(GetMapping(TransactionStatus.Captured), response?.ResponseMessage);
        }
Exemplo n.º 10
0
        public void UpdateTokenizedPaymentMethod()
        {
            var tokenizedCard = new CreditCardData {
                Token    = _token,
                ExpMonth = 12,
                ExpYear  = 2030
            };

            Assert.IsTrue(tokenizedCard.UpdateTokenExpiry());

            var response = tokenizedCard.Verify().Execute();

            Assert.IsNotNull(response);
            Assert.AreEqual("00", response.ResponseCode);
            Assert.AreEqual("ACTIVE", response.ResponseMessage);
        }
Exemplo n.º 11
0
        public void UpdateToken()
        {
            var token = new CreditCardData {
                Token    = _token,
                ExpMonth = 12,
                ExpYear  = 2025
            };

            Assert.IsTrue(token.UpdateTokenExpiry());

            // should succeed
            var response = token.Verify().Execute();

            Assert.IsNotNull(response);
            Assert.AreEqual("00", response.ResponseCode);
        }
Exemplo n.º 12
0
        public void CardHolderEnrolled_ChallengeRequired_v1_TokenizedCard()
        {
            var tokenizedCard = new CreditCardData()
            {
                Token = card.Tokenize()
            };

            Assert.IsNotNull(tokenizedCard.Token);

            var secureEcom = Secure3dService.CheckEnrollment(tokenizedCard)
                             .WithCurrency(Currency)
                             .WithAmount(Amount)
                             .Execute();

            AssertThreeDSResponse(secureEcom, CHALLENGE_REQUIRED);
        }
Exemplo n.º 13
0
        public void Test_003_discover_match()
        {
            CreditCardData card = TestCards.DiscoverManual(false, false);

            card.Cvn = "703";

            Transaction response = card.Charge(10m)
                                   .WithCurrency("USD")
                                   .Execute();

            Assert.IsNotNull(response);
            Assert.AreEqual("000", response.ResponseCode);
            Assert.AreEqual("M", response.CvnResponseCode);
            System.Diagnostics.Debug.WriteLine(response.HostResponseDate);
            System.Diagnostics.Debug.WriteLine(response.SystemTraceAuditNumber);
        }
Exemplo n.º 14
0
        public void TestInitialize()
        {
            card = new CreditCardData {
                Number   = "4263970000005262",
                ExpMonth = expMonth,
                ExpYear  = expYear,
                Cvn      = "123",
            };

            gpApiConfig = new GpApiConfig {
                Environment   = ENVIRONMENT,
                AppId         = APP_ID,
                AppKey        = APP_KEY,
                RequestLogger = new RequestConsoleLogger()
            };
        }
Exemplo n.º 15
0
        public void Test_010_Amex_Sale()
        {
            Logger.AppendText("\r\nTest_010_Amex_Sale");

            var card = new CreditCardData {
                Number   = "371449635392376",
                ExpMonth = 12,
                ExpYear  = 2020
            };

            Response = card.Charge(13.5m)
                       .WithCurrency("USD")
                       .WithClientTransactionId(ClientTransactionId)
                       .WithAddress(Address)
                       .Execute();
        }
        public static void GetPaymentProfile(PXGraph graph, PXSelectBase <CustomerPaymentMethod> customerPaymentMethodView, PXSelectBase <CustomerPaymentMethodDetail> detailsView)
        {
            string CCPID = null;

            foreach (PXResult <CustomerPaymentMethodDetail, PaymentMethodDetail> det in detailsView.Select())
            {
                CustomerPaymentMethodDetail cpmd = (CustomerPaymentMethodDetail)det;
                PaymentMethodDetail         pmd  = (PaymentMethodDetail)det;
                if (pmd.IsCCProcessingID == true)
                {
                    CCPID = cpmd.Value;
                    break;
                }
            }
            if (String.IsNullOrEmpty(CCPID))
            {
                throw new PXException(Messages.CreditCardTokenIDNotFound);
            }
            CCCustomerInformationManager cim = new CCCustomerInformationManager(customerPaymentMethodView.Current.CCProcessingCenterID, CCProcessingFeature.ProfileManagement)
            {
                CustomerID   = customerPaymentMethodView.Current.BAccountID,
                PMInstanceID = customerPaymentMethodView.Current.PMInstanceID,
                CallerGraph  = graph
            };
            CreditCardData cardData = cim.GetPaymentProfile();

            if (cardData == null)
            {
                throw new PXException(Messages.CreditCardNotFoundInProcCenter, CCPID, customerPaymentMethodView.Current.CCProcessingCenterID);
            }
            foreach (PXResult <CustomerPaymentMethodDetail, PaymentMethodDetail> det in detailsView.Select())
            {
                CustomerPaymentMethodDetail cpmd = (CustomerPaymentMethodDetail)det;
                PaymentMethodDetail         pmd  = (PaymentMethodDetail)det;
                if (pmd.IsCCProcessingID != true && pmd.IsIdentifier == true && !string.IsNullOrEmpty(cardData.CardNumber))
                {
                    cpmd.Value = cardData.CardNumber;
                    detailsView.Update(cpmd);
                }
            }
            if (cardData.CardExpirationDate != null)
            {
                CustomerPaymentMethod cpm = (CustomerPaymentMethod)customerPaymentMethodView.Cache.CreateCopy(customerPaymentMethodView.Current);
                customerPaymentMethodView.Cache.SetValueExt <CustomerPaymentMethod.expirationDate>(cpm, cardData.CardExpirationDate);
                customerPaymentMethodView.Update(cpm);
            }
        }
Exemplo n.º 17
0
        public void FullCycle_v1()
        {
            card = new CreditCardData {
                Number         = "4012001037141112",
                ExpMonth       = 12,
                ExpYear        = 2025,
                CardHolderName = "John Doe",
            };

            // Check enrollment
            ThreeDSecure secureEcom = Secure3dService.CheckEnrollment(card)
                                      .WithCurrency("USD")
                                      .WithAmount(10.01m)
                                      .Execute(Secure3dVersion.Any);

            Assert.IsNotNull(secureEcom);

            if (secureEcom.Enrolled.Equals("ENROLLED"))
            {
                Assert.AreEqual(Secure3dVersion.One, secureEcom.Version);

                // Get authentication data
                secureEcom = Secure3dService.GetAuthenticationData()
                             .WithServerTransactionId(secureEcom.ServerTransactionId)
                             .Execute();

                card.ThreeDSecure = secureEcom;

                if (secureEcom.Status.Equals("SUCCESS_AUTHENTICATED"))
                {
                    Transaction response = card.Charge(10.01m)
                                           .WithCurrency("USD")
                                           .Execute();
                    Assert.IsNotNull(response);
                    Assert.AreEqual(SUCCESS, response?.ResponseCode);
                    Assert.AreEqual(GetMapping(TransactionStatus.Captured), response?.ResponseMessage);
                }
                else
                {
                    Assert.Fail("Signature verification Assert.Failed.");
                }
            }
            else
            {
                Assert.Fail("Card not enrolled.");
            }
        }
Exemplo n.º 18
0
        public IActionResult CreditApi(Datos detalles)
        {
            // configure client & request settings
            ServicesContainer.ConfigureService(new GatewayConfig {
                MerchantId     = "addonnettest",
                AccountId      = "api",
                SharedSecret   = "secret",
                RefundPassword = "******",
                ServiceUrl     = "https://remote.sandbox.addonpayments.com/remote"
            });

            // create the card object
            var card = new CreditCardData {
                Number         = detalles.Tarjeta.cardNumber,
                ExpMonth       = detalles.Tarjeta.month,
                ExpYear        = detalles.Tarjeta.year,
                CardHolderName = detalles.Tarjeta.cardholderName
            };

            try {
                // process an auto-capture authorization
                Transaction response = card.Refund(detalles.Tarjeta.importe)
                                       .WithCurrency("EUR")
                                       .Execute();

                var result  = response.ResponseCode;    // 00 == Success
                var message = response.ResponseMessage; // [ test system ] AUTHORISED

                // get the response details to save to the DB for future requests
                var orderId           = response.OrderId;           // ezJDQjhENTZBLTdCNzNDQw
                var authCode          = response.AuthorizationCode; // 12345
                var paymentsReference = response.TransactionId;     // pasref 14622680939731425

                Respuesta respuesta = new Respuesta {
                    result = result, message = message, orderId = orderId, authCode = authCode, paymentsReference = paymentsReference
                };

                return(Ok(respuesta));
            }

            catch (ApiException exce) {
                RespuestaError respuesta = new RespuestaError {
                    resultado = "Error en el envío de datos <br><br>" + exce
                };
                return(BadRequest(respuesta));
            }
        }
Exemplo n.º 19
0
        public void VerifySignatureSuccess()
        {
            var card = new CreditCardData {
                Number         = "4012001037141112",
                ExpMonth       = 12,
                ExpYear        = 2025,
                CardHolderName = "John Smith"
            };

            var result = card.VerifySignature("eNrVWNmyozqy/ZWK6kfHOcwYOly7Q8yDwWYe3jBgRjPbYL7+4r1r16muWx3RfZ/68oKUSKlU5sqVQod/LLf6yyMdxqJtvn1F/oS/fvnH28HOhzTlrDS+D+nbQUvHMcrSL0Xy7SuNIjEMX1L8iiX4FUcudEQjURzhOEHHaHL9+nY4AzMd3wcTCEbS2Cb6vsDbpv9P9AB9djfNQ5xHzfR2iOKekfU3fI8jNHWAvncPt3SQuTf6+3OAPvoH6K+J5/urNW5mLkXyVvi9feR6zi2AGBCUZax3S3EeCI1T3w7Qa8Qhiab0DYWRPYKg1BcU/jtM/h3DD9C7/NC91IFbe990IzB8gH4WHDZ/DGkTP98ofPv0o3dIl65t0m3Etrkf7QP0l21d1LzBPz3Itvime5MebP/tMBW339r0Lj+MUzTdx7fgAH1vHeLo8XgDALAM5nAuq6OAk/mToTv8DF7Pttf3IYc0Lt5gYjNqe7/PAnXWDsWU316m/rPgAL1Mgd7D93awiqzZFhvSLxtCmvHb13yaur9D0DzPf87Yn+2QQei2EQimoW1AMhbZ375+zEoTubm2/9E0NmrapoijulijaUOGlk55m3z5Ydvv1NjmSxMCmTz7x6bqjxjBmz9eEhhDiE0n9HulP+3s31nlV2OHMfpjzCPktcAvit4OZnpNX4hIvzim/O3r337gnyuydJz+L+t9rvWzhk99blTf07e0Cz2ekj38LKW5mBLXiiFuoZWxN/7b57yPkQfoh4Hfrf8I1U8u+RgYUzvuaUx4FwaJURWc56HH/Yq5TX6sxTUIH7Kxm3TLLCiuVcwIo9nqtl8jNXLXCCmXR6CecFdoVjhC4P0ss+gsd6d67xE6QiD56kCcejLFztTiiAvNZfLHeL1h887PuAlrHBgMsnZf9YZfoTItL9UYe9J5ARby8CUM707lwz+x+lUzLCrHSh492mJNPOddfW8pUpq5py89JfPspIjDqTKDUiiAz3qwq0CU5UKVeyQU3KNmSHust3NjQcmezBAvOSV5ztJ9m1H3heSvdSYxDya+QNxMqTNrQS52c1RdURkVO6pPBdtrqrYwNuqT5nWOWX7p67lbMl1rply2U6rhNPQWdh3/OCdC9u3bT5D5HhE1fX5EwCdgmoum6KPFpsNUXDfsbpSkyTIX2iwLKjQDs8yATHbBSZIUbSr2QSqRbBeaZo3T64pHXJVpABZZqxct+YJxBs+wswM0MVu4FehMprsM0GymZhRXoDnD5l2N0USAODy7aJpbKZ4rumsi6Ejkm7VmwDM7B5xrGCo/m57l6oxmUDNnvMskfg750CPQ0JcX3gbnD/2ZzfL64yLSz8AzH5oxzuzHeJGfFddZQSrM8KKX/KyVYNFKftU4IXrJTtw/yzQJLMIK3O92a9yNeFxu7jVG6+ZS02XoK7BmOjP/YeORA4tn1KET+jrsYG6XiM7C2eD4Mb/VGCFUHJj/yRexxlRmfWnCOi55UwPUhy82RxsoPV4wJQ9FamFXoHyMD2xQu/YWE0YuXzqqPq8KkZ5hBhi8AMCJBQYFXt/ZTN3aPChKJ7Rv9KCfnfwsk6PchIR1U8M48i5zEp0LledpSOG5tbi7ir4Hec0jitt7GL460igVzY4wc1uYey7SfdW1S5k/L3dU4wpyycNsiloIRW6sGtmr7z5Hx9Af7NgB04GanE0umIPQqSxX4ERiWA0/aPKiaiEGY8I9FxktVagm0Mie6yCHw0zfjq3LxbaOKSaxK38DNGlCZ93jqskK9hBDOHkn7oQtMXYZlOPpNT6Fij4n4qmushGzm77B7cezjM+7ihNvqLg/kVe85x2a7vlHGISCrRot3YaKedX2I3dUC0bCgTyeI0BwxaTsl5AQ+diwMtO3XMqWYsNjS3a98hg4ZtE09VLoE4bMAQMwv8M6wLccMYDT+2ITZSu+gxf3dO010B4bFRodi5D7MyPkHMTR/R4ttIZrBm+cqGZ25ztSHsnlKktetpZ+kZQQEWiwaIrHliUSnofTEtu7nrwGbTBZZ4PjvAc7AEdr54WOWa9iNY0M66TH97tThmDoxh3skCgCz9Rk3lQMBJMeWyyqBS+RzUNkzN5dLC6eOtOi7JTRftNTUB92CUEw+ykOUpg44rf5stc78xgaa+pvEUSlNnpk5vV5PnYpSybdIg0R2en6rBaDDldX/o6wyLnMhqeHb4nBqWo3BpBYXMM6ijGrTNR85tNZvndnZfSMUJ661BokqlB8wgn5dKKQnWW70fRgm+xcuPpj5z32i3yAfmWn39EVL77oahY/6coExyCmt6DtJ2uxyULc8bfi5jovGlHUNpTzR6xvqXJkDDBvXjlqoHpPQybXWNfVfk5he0vhLkb55biC6UM22kr9Lsssj4A3SrgHvtldUCK/sIy99dHI02uZF9YYpcvIE+DIo++a2c4ieKcNjl8EL/L1XBbd8oIi0zanDC3GNOxPqgKEZldPjdNWnUteVPXU142mbH7WOQ1/yf67KHbzvyX/6l9m8y+XZfwZcNt3o2W3NgPUIQkhwylnnFurfSUQjR3uT0F/q5A9luGXR4abO1XCkXVa49m562eyHcZdOMYoZAlb4UO1qzYjp/mMboUvz+mWSpjc3SttyjtuTM+lDnsSye2mHkiXErai/pT3OUPdoTqqLXqRLt3jWUE8sYqlaJ/mdisAst9VKXW3SNS+E5KqMuLyyENIscH9mjCPI1bsHK2/Vrq9+AGvAjWBpYKUpOFxqup+5rcDzCh3+BoOXcBB5j3h8MGQxNm3DDiiGH0x1uet9cq2OI2aKwdqhjxqQw5nGh902m0uk9nCCTLUY9wBviX16pwwaCDeOE8O9/N8IUeB2xtCKyqJTflFxUjxxJHnMKWSBuumccM/D0B0Yh4cy9xtYL3iJpkaA64Uz3JABIYEgYwHmmS8sJHIwJw0cZwjIxBCnN/o7VXUQMlk2cBkvMAYMQvMwI8kE465dnNBgiVPAn3h9njbsGDRc4RW88kIZHUOtlg70pZ789EGgZALVugzY/DKA8FsI1/LNgziCQe4zQZG/NffT+92G9S73RuuN9wEs/TCmgmfGCbgBa3N0gqUocDEcgae1dWyIGXbqsIM/5qe2WHkCoDGO2+4IfaOtwlYT0Qa5baiUVQqUoxrz86GhAfpg0jKGXaZx55mE+s5DZqT5VAMp1CwIreOQ9aTrJ/Twm0Jq6kRpnzeK80g+RatfRPLhI0s2fUcjK2Otv5kzWJMFRpwpko25QwJUeqIybfWlfbxObYLz8yHgQLtXXa286SQdeOz3ThRkjpYs28rzt99Uh/ZbvcEnKIE2DASLCjtZ60FhokpIwm4wd5nz9MsXdHpURzVZkJYS5KeO4IlnzgVnfir0t72NjhleF3WVWUKJ5XzHCeuEYWppCldnGML+SHiyrhvHlMVjdUwInN/7ypLpTPwkXEG6ITjxf6xE0MvszWxo9SSX/5NehbKLf0f5Cc9G+l0Ryxt6RpeB01zWpHz7jzZv55uHAFwTPe/qYbXNTB+0Fuu8e6tXgObf2gs/El5t3eZxSiXxqzjG5EnYr2d4oRRFvQ6bsIuQJ3M8PX1gurdB3Xji1iC4JNKefeD3kNvg7mHbDpeMBUYjcF9zn6dFPntxAhWbY3hk9tuMu1X2X9ZWfkP6FmvnGut3rqGQKdAxsKJ0c/eOcBHXFUaSHK9WOB2lltEJ4fxckpMn8n9okMtO4vyVF3V5WEVnGnerCvryArTw17NG9g9BscLxOzk02DORlaMPXbRYTk8ghheJbl7ev79FrXVuB8j88GNEToPlxXiJ6SvNLiEWgl6nIat7KkSrdBEX7E9vpWNkY+fRKPOV67qBPTaVuEEO6oqTIsrxRZ/tnhk1XVkQ/Fi6d3+0fnP5XG0Rhbyk4ES9zaboRfkufieUA5nGLlvMOUbRbWbUMZZ1EnzeSk3NmWv1mhDQHwsXH71zsPAT4C02Zijh1NHc93s64WliOe1ih3Hu0rbb4Cf0WmQFTbf0ige/6Dnu80yU/lRVj/pmbE3Wtzo+f89NTMLJT2jxABejTP3113Rsv0lCnolr79S82bTJzWniIjm5xGAndnqLRy7DbKz05iygsRggLDv2eZIC2ke3fF9ipFXV9SL9VQ9ZZsGktgOpIkc5ShX/R1P3nrDDsa1USwi9xVKpGL4DN+W0rXiy/5ZzQYxM0Hvexp68dWuONpp4HpXBAyC13fIkxZJEwanqDmWt1k3GTBkzwdZI0Z42Tsaxlxpi6jh+yBoR3gDCsXs6bpOCR9D5QddXu/xnYwjeWCO1dlayKDf9VvxHXFKN62TvoPO/Y2WlhmRMOi5ov1RxFdb3i+Ky/FWKPJ+lBxnVvE58mSmPipAzOQkVI9iSemHFzco5CtPp5cBzzCEQJnaZaUQFZ/npMzl+zGVUMS92FDy5CUJ/Iaaob/++aEf9wB/3RC833K+X7y+buZ+vpD9HwzDHH8=", 1m, "USD", "j1zEegmPFkGiKJerv6xXCg");

            Assert.IsTrue(result);
            Assert.IsNotNull(card.ThreeDSecure.Cavv);
            Assert.IsNotNull(card.ThreeDSecure.Status);
            Assert.IsNotNull(card.ThreeDSecure.Algorithm);
            Assert.IsNotNull(card.ThreeDSecure.Eci);
        }
Exemplo n.º 20
0
        public void VerifyEnrolledTrue()
        {
            var card = new CreditCardData {
                Number         = "4012001037141112",
                ExpMonth       = 12,
                ExpYear        = 2025,
                CardHolderName = "John Smith"
            };

            var enrolled = card.VerifyEnrolled(1m, "USD");

            Assert.IsTrue(enrolled);
            Assert.IsNotNull(card.ThreeDSecure);
            Assert.IsNotNull(card.ThreeDSecure.PayerAuthenticationRequest);
            Assert.IsNotNull(card.ThreeDSecure.IssuerAcsUrl);
            Assert.IsNotNull(card.ThreeDSecure.Xid);
        }
Exemplo n.º 21
0
        public void VerifyTokenizedPaymentMethod_WithRandomId()
        {
            var tokenizedCard = new CreditCardData {
                Token = "PMT_" + Guid.NewGuid().ToString(),
            };

            try {
                var response = tokenizedCard.Verify()
                               .WithCurrency("USD")
                               .Execute();
            }
            catch (GatewayException ex) {
                Assert.AreEqual("RESOURCE_NOT_FOUND", ex.ResponseCode);
                Assert.AreEqual("40116", ex.ResponseMessage);
                Assert.IsTrue(ex.Message.StartsWith("Status Code: NotFound - payment_method"));
            }
        }
Exemplo n.º 22
0
        public void DeleteTokenizedPaymentMethod_WithRandomId()
        {
            var tokenizedCard = new CreditCardData {
                Token = "PMT_" + Guid.NewGuid().ToString()
            };

            Assert.IsFalse(tokenizedCard.DeleteToken());

            try {
                tokenizedCard.Verify().Execute();
            }
            catch (GatewayException ex) {
                Assert.AreEqual("RESOURCE_NOT_FOUND", ex.ResponseCode);
                Assert.AreEqual("40118", ex.ResponseMessage);
                Assert.IsTrue(ex.Message.StartsWith("Status Code: NotFound - PAYMENT_METHODS"));
            }
        }
Exemplo n.º 23
0
        public void VerifyTokenizedPaymentMethod_WithMalformedId()
        {
            string token = "This_is_not_a_payment_id";

            var tokenizedCard = new CreditCardData {
                Token = token,
            };

            try {
                tokenizedCard.Verify().Execute();
            }
            catch (GatewayException ex) {
                Assert.AreEqual("INVALID_REQUEST_DATA", ex.ResponseCode);
                Assert.AreEqual("40006", ex.ResponseMessage);
                Assert.AreEqual($"Status Code: BadRequest - payment_method.id: {token} contains unexpected data", ex.Message);
            }
        }
Exemplo n.º 24
0
        public void CardHolderEnrolled_Frictionless_v2_WithTokenizedCard()
        {
            card.Number = GpApi3DSTestCards.CARD_AUTH_SUCCESSFUL_V2_1;
            var tokenizedCard = new CreditCardData {
                Token = card.Tokenize(), CardHolderName = "Jason Mason"
            };

            Assert.IsNotNull(tokenizedCard.Token);

            var secureEcom = Secure3dService.CheckEnrollment(tokenizedCard)
                             .WithCurrency(Currency)
                             .WithAmount(Amount)
                             .Execute();

            AssertThreeDSResponse(secureEcom, AVAILABLE);
            Assert.IsFalse(secureEcom.ChallengeMandated);
        }
Exemplo n.º 25
0
        public void UpdateTokenizedPaymentMethod()
        {
            CreditCardData tokenizedCard = new CreditCardData {
                Token    = Token,
                ExpMonth = 12,
                ExpYear  = 2030
            };

            Assert.IsTrue(tokenizedCard.UpdateTokenExpiry());

            Transaction response = tokenizedCard.Verify()
                                   .WithCurrency("USD")
                                   .Execute();

            Assert.IsNotNull(response);
            Assert.AreEqual("SUCCESS", response.ResponseCode);
            Assert.AreEqual("VERIFIED", response.ResponseMessage);
        }
Exemplo n.º 26
0
        public ActionResult Pay()
        {
            var card = new CreditCardData();

            // create the card object
            //var card = new CreditCardData
            //{
            //    Number = "4263970000005262",
            //    ExpMonth = 12,
            //    ExpYear = 2025,
            //    Cvn = "131",
            //    CardHolderName = "James Mason"
            //};

            //ProcessPayment(card);

            return(View(card));
        }
        public void UpdateTokenizedPaymentMethod()
        {
            var tokenizedCard = new CreditCardData {
                Token    = Token,
                ExpMonth = 12,
                ExpYear  = 2030
            };

            Assert.IsTrue(tokenizedCard.UpdateTokenExpiry());

            var response = tokenizedCard.Verify()
                           .WithCurrency(CURRENCY)
                           .Execute();

            Assert.IsNotNull(response);
            Assert.AreEqual(SUCCESS, response.ResponseCode);
            Assert.AreEqual(VERIFIED, response.ResponseMessage);
        }
Exemplo n.º 28
0
        public void CreditCard_Payment()
        {
            ServicesContainer.ConfigureService(new GatewayConfig
            {
                MerchantId     = "heartlandgpsandbox",
                AccountId      = "api",
                SharedSecret   = "secret",
                RebatePassword = "******",
                RefundPassword = "******",
                ServiceUrl     = "https://api.sandbox.realexpayments.com/epage-remote.cgi",
                OpenPathApiKey = "fteaWC5MYeVKdZ2EaQASDDgCtAS4Fh2zrzW4Yyds",
                OpenPathApiUrl = "http://localhost:35808/v1/globalpayments"
                                 // OpenPathApiKey = "VgSsh3Vh24DuwjuU3fsvccZ7CSWPZQ9EaV9K6xuE",
                                 // OpenPathApiUrl = "https://staging-api.openpath.io/v1/globalpayments"
            });

            var creditCard = new CreditCardData
            {
                CardHolderName = "Jason Martin",
                CardPresent    = false,
                Cvn            = "2222",
                ExpMonth       = 3,
                ExpYear        = 2022,
                Number         = "4111111111111111"
            };

            // build the address
            var address = new Address()
            {
                City           = "Lake Forest",
                Country        = "United States",
                CountryCode    = "US",
                PostalCode     = "92618",
                State          = "CA",
                StreetAddress1 = "1707 Enterprice Way"
            };

            // build transaction
            var transaction = creditCard
                              .Charge(19.95m)
                              .WithAddress(address)
                              .WithCurrency("USD");
            var result = transaction.Execute();
        }
        public void TestInitialize()
        {
            creditTrackData.Value =
                "%B4012002000060016^VI TEST CREDIT^251210118039000000000396?;4012002000060016=25121011803939600000?";
            creditTrackData.PinBlock    = "32539F50C245A6A93D123412324000AA";
            creditTrackData.EntryMethod = EntryMethod.Swipe;

            tagData =
                "9F4005F000F0A0019F02060000000025009F03060000000000009F2608D90A06501B48564E82027C005F3401019F360200029F0702FF009F0802008C9F0902008C9F34030403029F2701809F0D05F0400088009F0E0508000000009F0F05F0400098005F280208409F390105FFC605DC4000A800FFC7050010000000FFC805DC4004F8009F3303E0B8C89F1A0208409F350122950500000080005F2A0208409A031409109B02E8009F21030811539C01009F37045EED3A8E4F07A00000000310109F0607A00000000310108407A00000000310109F100706010A03A400029F410400000001";

            card = new CreditCardData {
                Number         = "4263970000005262",
                ExpMonth       = expMonth,
                ExpYear        = expYear,
                Cvn            = "123",
                CardHolderName = "John Smith",
                CardPresent    = true
            };
        }
Exemplo n.º 30
0
        public void CreditVerify_InvalidCVV()
        {
            var card = new CreditCardData {
                Number   = "4263970000005262",
                ExpMonth = 05,
                ExpYear  = 2025,
                Cvn      = "SMA",
            };

            try {
                card.Verify()
                .WithCurrency("USD")
                .Execute();
            }
            catch (GatewayException ex) {
                Assert.AreEqual("SYSTEM_ERROR_DOWNSTREAM", ex.ResponseCode);
                Assert.AreEqual("50018", ex.ResponseMessage);
            }
        }