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); } }
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); }
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); } }
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)); } }
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); }
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); } }
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); }
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); }
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); }
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); }
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); }
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() }; }
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); } }
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."); } }
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)); } }
public void VerifySignatureSuccess() { var card = new CreditCardData { Number = "4012001037141112", ExpMonth = 12, ExpYear = 2025, CardHolderName = "John Smith" }; var result = card.VerifySignature("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", 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); }
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); }
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")); } }
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")); } }
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); } }
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); }
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); }
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); }
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 }; }
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); } }