public void CreditChargeWithConvenienceAmt() { var card = new HpsCreditCard { Number = "4111111111111111", ExpMonth = 12, ExpYear = 2014, Cvv = "123" }; var tokenService = new HpsTokenService("pkapi_cert_m0e9bI2WbBHk0ALyQL"); var token_reponse = tokenService.GetToken(card); var creditService = new HpsCreditService(new HpsServicesConfig { SecretApiKey = "skapi_cert_MTeSAQAfG1UA9qQDrzl-kz4toXvARyieptFwSKP24w" }); var response = creditService.Charge(10m, "usd", token_reponse.token_value, null, false, null, false, null, 0, null, 12, 2025, 2m); Assert.IsNotNull(response); Assert.AreEqual("00", response.ResponseCode); var transactionDetails = creditService.Get(response.TransactionId); Assert.IsNotNull(transactionDetails); Assert.AreEqual(2m, transactionDetails.ConvenienceAmount); }
public void CreditChargeWithTagData() { var card = new HpsCreditCard { Number = "4111111111111111", ExpMonth = 12, ExpYear = 2014, Cvv = "123" }; var tokenService = new HpsTokenService("pkapi_cert_m0e9bI2WbBHk0ALyQL"); var token_reponse = tokenService.GetToken(card); var creditService = new HpsCreditService(new HpsServicesConfig { SecretApiKey = "skapi_cert_MTeSAQAfG1UA9qQDrzl-kz4toXvARyieptFwSKP24w" }); var trackData = new HpsTrackData { Value = ";4761739001010036=15122011184404889?" }; var tagData = new HpsTagDataType { TagData = "9F4005F000F0A0019F02060000000025009F03060000000000009F2608D90A06501B48564E82027C005F3401019F360200029F0702FF009F0802008C9F0902008C9F34030403029F2701809F0D05F0400088009F0E0508000000009F0F05F0400098005F280208409F390105FFC605DC4000A800FFC7050010000000FFC805DC4004F8009F3303E0B8C89F1A0208409F350122950500000080005F2A0208409A031409109B02E8009F21030811539C01009F37045EED3A8E4F07A00000000310109F0607A00000000310108407A00000000310109F100706010A03A400029F410400000001", Source = TagDataTypeTagValuesSource.chip }; var response = creditService.Charge(10m, "usd", trackData, null, 0, false, false, null, tagData, false, 0, 0); Assert.IsNotNull(response); Assert.AreEqual("00", response.ResponseCode); }
public void Amex_WhenCardIsOk_ShouldCharge() { var creditSvc = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var response = creditSvc.Charge(50).WithCard(TestCreditCard.ValidAmex).AllowPartialAuth(true).WithClientTransactionId(12345).Execute(); Assert.IsNotNull(response); StringAssert.Matches(response.ResponseCode, new Regex("00")); }
public static void ChargeCard() { var chargeService = new HpsCreditService( new HpsServicesConfig { SecretApiKey = "<your secret api key goes here>" }); var creditCard = new HpsCreditCard // Valid Visa { Cvv = "123", ExpMonth = 12, ExpYear = 2015, Number = "4012002000060016" }; var cardHolder = new HpsCardHolder { Email = "*****@*****.**", FirstName = "First", LastName = "Last", Phone = "555-555-5555", Address = new HpsAddress { Zip = "47130" } // Zip is the only required address field. }; chargeService.Charge(10, "usd", creditCard, cardHolder); }
public void MasterCard_ShouldRefund_Ok() { var creditSvc = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var creditResponse = creditSvc.Charge(25.00m, "usd", TestCreditCard.ValidMasterCard, TestCardHolder.CertCardHolderShortZipNoStreet); var refundResponse = creditSvc.Refund(25.00m, "usd", creditResponse.TransactionId); StringAssert.Matches(refundResponse.ResponseCode, new Regex("^00$")); }
public void Discover_ShouldVoid_Ok() { var creditSvc = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var creditResponse = creditSvc.Charge(25.00m, "usd", TestCreditCard.ValidDiscover, TestCardHolder.CertCardHolderShortZipNoStreet); var voidResponse = creditSvc.Void(creditResponse.TransactionId).Execute(); StringAssert.Matches(voidResponse.ResponseCode, new Regex("^00$")); }
public void MasterCard_ShouldCharge_Ok() { var chargeSvc = new HpsCreditService(_certConfig); var response = chargeSvc.Charge(17.02m, "usd", TestCreditCard.ValidMasterCard, TestCardHolder.CertCardHolderShortZipNoStreet, false, TestDescriptor); Assert.IsNotNull(response); StringAssert.Matches(response.ResponseCode, new Regex("^00$")); }
public void Jcb_NotPresentManual_ShouldCharge() { var service = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var response = service.Charge(17.05m, "usd", TestCreditCard.ValidJcb, TestCardHolder.CertCardHolderLongZip, false, TestDescriptor); Assert.IsNotNull(response); StringAssert.Matches(response.ResponseCode, new Regex("^00$")); }
public void Discover_ShouldCharge_Ok() { var chargeSvc = new HpsCreditService(_certConfig); var response = chargeSvc.Charge(17.03m, "usd", TestCreditCard.ValidDiscover, TestCardHolder.CertCardHolderLongZipNoStreet, false, TestDescriptor); Assert.IsNotNull(response); StringAssert.Matches(response.ResponseCode, new Regex("^00$")); }
public void MasterCard_PresentManual_ShouldCharge() { var service = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var response = service.Charge(16.02m, "usd", TestCreditCard.ValidMasterCard, TestCardHolder.CertCardHolderShortZipNoStreet, false, TestDescriptor); Assert.IsNotNull(response); StringAssert.Matches(response.ResponseCode, new Regex("^00$")); }
public void Batch_WhenOpen_ShouldClose() { var creditSvc = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); creditSvc.Charge(50).WithCard(TestCreditCard.ValidAmex).AllowDuplicates().Execute(); var batchSvc = new HpsBatchService(TestServicesConfig.ValidSecretKeyConfig()); var response = batchSvc.Close().WithClientTransactionId(12345).Execute(); Assert.IsNotNull(response); }
public void Integration_WhenTokenIsAcquired_ShouldBeAbleToCharge() { var response = _tokenService.GetToken(_card); var chargeService = new HpsCreditService(new HpsServicesConfig { SecretApiKey = "skapi_cert_MTyMAQBiHVEAewvIzXVFcmUd2UcyBge_eCpaASUp0A" }); var charge = chargeService.Charge(1, "usd", response.token_value, TestCardHolder.ValidCardHolder); Assert.IsNotNull(charge.AuthorizationCode); }
public void Cc_ShouldPartialReverse_Ok() { var chargeSvc = new HpsCreditService(TestServicesConfig.ValidServicesConfig()); var charge = chargeSvc.Charge(20, "usd", TestCreditCard.ValidVisa, TestCardHolder.CertCardHolderShortZip); var response = chargeSvc.Reverse(charge.TransactionId, 20, "usd", null, 10); Assert.IsNotNull(response); StringAssert.Matches(response.ResponseCode, new Regex("^00$")); }
public void Mastercard_Swipe_ShouldCharge() { var service = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var charge = service.Charge(15.02m, "usd", new HpsTrackData { Value = "%B5473500000000014^MC TEST CARD^251210199998888777766665555444433332?;5473500000000014=25121019999888877776?", Method = HpsTrackDataMethod.Swipe }, null, 0M, false, false, null, "", true); Assert.IsNotNull(charge); StringAssert.Matches(charge.ResponseCode, new Regex("00")); }
public void Amex_Swipe_ShouldChargeWithTokenReq() { var service = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var charge = service.Charge(15.04m, "usd", new HpsTrackData { Value = "%B3727 006992 51018^AMEX TEST CARD^2512990502700?;372700699251018=2512990502700?", Method = HpsTrackDataMethod.Swipe }, null, 0m, false, true); Assert.IsNotNull(charge); StringAssert.Matches(charge.ResponseCode, new Regex("00")); }
public void Integration_WhenTokenIsAcquired_ShouldBeAbleToCharge() { var token = _tokenService.GetToken(TestCreditCard.ValidVisa); var chargeService = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var charge = chargeService.Charge( 1, "usd", token.token_value, TestCardHolder.ValidCardHolder); Assert.IsNotNull(charge.AuthorizationCode); }
public void Discover_WhenValidProximityTrackData_ShouldReturnValidResult() { var service = new HpsCreditService(TestServicesConfig.ValidServicesConfig()); var charge = service.Charge(50, "usd", new HpsTrackData { Value = "%B6011000990156527^DIS TEST CARD^25122011000062111401?;6011000990156527=25122011000062111401?", Method = HpsTrackDataMethod.Proximity }); Assert.IsNotNull(charge); StringAssert.Matches(charge.ResponseCode, new Regex("00")); }
/// <summary>Charge a Discover with a valid config and valid Discover info.</summary> /// <param name="amt">Amount to charge</param> /// <returns>The HPS Charge.</returns> private static HpsCharge ChargeValidDiscover(decimal amt) { var creditSvc = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var response = creditSvc.Charge(amt, "usd", TestCreditCard.ValidDiscover, TestCardHolder.ValidCardHolder); if (response == null) { Assert.Fail("Response is null."); } return(response); }
public void Visa_Swipe_ShouldChargeVoid() { var service = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var charge = service.Charge(15.06m, "usd", new HpsTrackData { Value = "%B4012002000060016^VI TEST CREDIT^251210118039000000000396?;4012002000060016=25121011803939600000?", Method = HpsTrackDataMethod.Swipe }); Assert.IsNotNull(charge); StringAssert.Matches(charge.ResponseCode, new Regex("00")); }
public void DiscoverJcb_Swipe_ShouldCharge() { var service = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var charge = service.Charge(15.04m, "usd", new HpsTrackData { Value = "%B6011000990156527^DIS TEST CARD^25121011000062111401?;6011000990156527=25121011000062111401?", Method = HpsTrackDataMethod.Swipe }); Assert.IsNotNull(charge); StringAssert.Matches(charge.ResponseCode, new Regex("00")); }
public void Amex_WhenValidTrackData_ShouldReturnValidResult() { var service = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var charge = service.Charge(50, "usd", new HpsTrackData { Value = "%B3727 006992 51018^AMEX TEST CARD^2512990502700?;372700699251018=2512990502700?", Method = HpsTrackDataMethod.Swipe }); Assert.IsNotNull(charge); StringAssert.Matches(charge.ResponseCode, new Regex("00")); }
public void Mastercard_WhenValidTrackData_ShouldReturnValidResult() { var r = new Random(); var service = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var charge = service.Charge(r.Next(1, 50), "usd", new HpsTrackData { Value = "%B5473500000000014^MC TEST CARD^251210199998888777766665555444433332?;5473500000000014=25121019999888877776?", Method = HpsTrackDataMethod.Swipe }); Assert.IsNotNull(charge); StringAssert.Matches(charge.ResponseCode, new Regex("00")); }
public void CvvWithLeadingZeros() { var card = new HpsCreditCard { Number = "4111111111111111", ExpMonth = 12, ExpYear = 2025, Cvv = "012" }; var creditService = new HpsCreditService(ServicesConfig); var response = creditService.Charge(15.15m, "usd", card); Assert.IsNotNull(response); Assert.AreEqual("00", response.ResponseCode); }
public void CreditChargeWithNegativeConvenienceAmt_1() { var card = new HpsCreditCard { Number = "4111111111111111", ExpMonth = 12, ExpYear = 2014, Cvv = "123" }; var creditService = new HpsCreditService(new HpsServicesConfig { SecretApiKey = "skapi_cert_MTeSAQAfG1UA9qQDrzl-kz4toXvARyieptFwSKP24w" }); var response = creditService.Charge(10m, "usd", card, null, false, null, false, null, null, 0, null, -2m); }
public void SecretKeyWithExtraSpaces() { var card = new HpsCreditCard { Number = "4111111111111111", ExpMonth = 12, ExpYear = 2025, Cvv = "012" }; ServicesConfig.SecretApiKey += " "; var creditService = new HpsCreditService(ServicesConfig); var response = creditService.Charge(15.15m, "usd", card); Assert.IsNotNull(response); Assert.AreEqual("00", response.ResponseCode); }
public static void HandleErrors() { var chargeService = new HpsCreditService( new HpsServicesConfig { SecretApiKey = "<your secret api key goes here>" }); var creditCard = new HpsCreditCard // Valid Visa { Cvv = "123", ExpMonth = 12, ExpYear = 2015, Number = "4012002000060016" }; var cardHolder = new HpsCardHolder { Email = "*****@*****.**", FirstName = "First", LastName = "Last", Phone = "555-555-5555", Address = new HpsAddress { Zip = "47130" } // Zip is the only required address field. }; try { chargeService.Charge(-5, "usd", creditCard, cardHolder); } catch (HpsInvalidRequestException e) { // handle error for amount less than zero dollars Console.WriteLine(e); } catch (HpsAuthenticationException e) { // handle errors related to your HpsServiceConfig Console.WriteLine(e); } catch (HpsCreditException e) { // handle card-related exceptions: card declined, processing error, etc Console.WriteLine(e); } }
public void Charge_WhenAmountIsLessThanZero_ShouldThrowArgumentOutOfRange() { const decimal ChargeAmount = -5; var chargeSvc = new HpsCreditService(); try { chargeSvc.Charge(ChargeAmount, "usd", TestCreditCard.ValidVisa, TestCardHolder.ValidCardHolder); } catch (HpsInvalidRequestException e) { Assert.AreEqual(e.Code, HpsExceptionCodes.InvalidAmount); Assert.AreEqual(e.ParamName, "amount"); return; } Assert.Fail("No exception was thrown."); }
public void Charge_WhenCardNumberIsInvalid_ShouldThrowHpsException() { const decimal ChargeAmount = 50; const string Currency = "usd"; var chargeSvc = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); try { chargeSvc.Charge(ChargeAmount, Currency, TestCreditCard.InvalidCard, TestCardHolder.ValidCardHolder); } catch (HpsGatewayException e) { Assert.AreEqual(HpsExceptionCodes.InvalidNumber, e.Code); return; } Assert.Fail("No exception was thrown."); }
public void Charge_WhenHpsConfigIsInvalid_ShouldThrowHpsException() { const decimal ChargeAmount = 50; const string Currency = "usd"; var chargeSvc = new HpsCreditService(); try { chargeSvc.Charge(ChargeAmount, Currency, TestCreditCard.ValidVisa, TestCardHolder.ValidCardHolder); } catch (HpsAuthenticationException e) { StringAssert.Contains(e.Message, Resource.Exception_Message_InvalidConfig); return; } Assert.Fail("No exception was thrown."); }
public void CreditChargeWithNegativeConvenienceAmt() { var card = new HpsCreditCard { Number = "4111111111111111", ExpMonth = 12, ExpYear = 2014, Cvv = "123" }; var tokenService = new HpsTokenService("pkapi_cert_m0e9bI2WbBHk0ALyQL"); var token_reponse = tokenService.GetToken(card); var creditService = new HpsCreditService(new HpsServicesConfig { SecretApiKey = "skapi_cert_MTeSAQAfG1UA9qQDrzl-kz4toXvARyieptFwSKP24w" }); var response = creditService.Charge(10m, "usd", token_reponse.token_value, null, false, null, false, null, 0, null, 12, 2025, -2m); }
public void Charge_WhenCurrencyIsNotUsd_ShouldThrowArgumentException() { const decimal ChargeAmount = 50; const string Currency = "eur"; var chargeSvc = new HpsCreditService(); try { chargeSvc.Charge(ChargeAmount, Currency, TestCreditCard.ValidVisa, TestCardHolder.ValidCardHolder); } catch (HpsInvalidRequestException e) { Assert.AreEqual(e.Code, HpsExceptionCodes.InvalidCurrency); Assert.AreEqual(e.ParamName, "currency"); return; } Assert.Fail("No exception was thrown."); }
public void MasterCard_WhenCardIsOkAndIncludesDetails_ShouldReturnValidResult() { var service = new HpsCreditService(TestServicesConfig.ValidServicesConfig()); var charge = service.Charge(50, "usd", TestCreditCard.ValidMasterCard, TestCardHolder.ValidCardHolder, false, "descriptor", true, new HpsTransactionDetails { Memo = "memo", InvoiceNumber = "1234", CustomerId = "customerID", ClientTransactionId = 12345678 }); Assert.IsNotNull(charge); StringAssert.Matches(charge.ResponseCode, new Regex("00")); var transaction = service.Get(charge.TransactionId); Assert.IsNotNull(transaction); StringAssert.Matches(transaction.Memo, new Regex("memo")); StringAssert.Matches(transaction.InvoiceNumber, new Regex("1234")); StringAssert.Matches(transaction.CustomerId, new Regex("customerID")); Assert.AreEqual(charge.ClientTransactionId, 12345678); }
public void Amex_ResponseCode_ShouldIndicateDenied() { var creditSvc = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); creditSvc.Charge(10.08m).WithCard(TestCreditCard.ValidAmex).Execute(); }
public void Visa_WhenValidTrackData_ShouldReturnValidResult() { var service = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var charge = service.Charge(50, "usd", new HpsTrackData { Value = "%B4012002000060016^VI TEST CREDIT^251210118039000000000396?;4012002000060016=25121011803939600000?", Method = HpsTrackDataMethod.Swipe }); Assert.IsNotNull(charge); StringAssert.Matches(charge.ResponseCode, new Regex("00")); }
/// <summary>Charge a MC with a valid config and valid MC info.</summary> /// <param name="amt">Amount to charge</param> /// <returns>The HPS Charge.</returns> private HpsCharge ChargeValidMasterCard(decimal amt) { var creditSvc = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var response = creditSvc.Charge(amt, "usd", TestCreditCard.ValidMasterCard, TestCardHolder.ValidCardHolder); if (response == null) { Assert.Fail("Response is null."); } return response; }
public void MasterCard_ShouldVoid_Ok() { var creditSvc = new HpsCreditService(TestServicesConfig.ValidSecretKeyConfig()); var creditResponse = creditSvc.Charge(25.00m, "usd", TestCreditCard.ValidMasterCard, TestCardHolder.CertCardHolderShortZipNoStreet); var voidResponse = creditSvc.Void(creditResponse.TransactionId).Execute(); StringAssert.Matches(voidResponse.ResponseCode, new Regex("^00$")); }