public override HpsAccountVerify Execute() { base.Execute(); var block1 = new CreditAccountVerifyBlock1Type(); if (cardHolder != null) { block1.CardHolderData = service.HydrateCardHolderData(cardHolder); } var cardData = new CardDataType(); if (card != null) { cardData.Item = service.HydrateCardManualEntry(card, cardPresent, readerPresent); if (card.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(card.EncryptionData); } } if (token != null) { cardData.Item = service.HydrateTokenData(token, cardPresent, readerPresent); } if (trackData != null) { cardData.Item = service.HydrateCardTrackData(trackData); if (trackData.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(trackData.EncryptionData); } } cardData.TokenRequest = requestMultiUseToken ? booleanType.Y : booleanType.N; block1.CardData = cardData; if (tagData != null) { block1.TagData = service.HydrateTagData(tagData); } var transaction = new PosRequestVer10Transaction { Item = new PosCreditAccountVerifyReqType { Block1 = block1 }, ItemElementName = ItemChoiceType1.CreditAccountVerify }; var response = service.SubmitTransaction(transaction, clientTransactionId); return(new HpsAccountVerify().FromResponse(response)); }
public override HpsAuthorization Execute() { base.Execute(); var block1 = new PrePaidAddValueReqBlock1Type { Amt = amount.Value, AllowDup = allowDuplicates ? booleanType.Y : booleanType.N, AllowDupSpecified = true }; var cardData = new CardDataType(); if (card != null) { cardData.Item = service.HydrateCardManualEntry(card); if (card.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(card.EncryptionData); } } else if (trackData != null) { cardData.Item = service.HydrateCardTrackData(trackData); if (trackData.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(trackData.EncryptionData); } } else if (token != null) { cardData.Item = service.HydrateTokenData(token); } cardData.TokenRequest = requestMultiUseToken ? booleanType.Y : booleanType.N; block1.CardData = cardData; if (cardHolder != null) { block1.CardHolderData = service.HydrateCardHolderData(cardHolder); } var transaction = new PosRequestVer10Transaction { Item = new PosPrePaidAddValueReqType { Block1 = block1 }, ItemElementName = ItemChoiceType1.PrePaidAddValue }; var response = service.SubmitTransaction(transaction); return(new HpsAuthorization().FromResponse(response)); }
public override HpsEbtAuthorization Execute() { base.Execute(); var block1 = new EBTFSVoucherReqBlock1Type { Amt = amount.Value, AllowDup = allowDuplicates ? booleanType.Y : booleanType.N, AllowDupSpecified = true }; block1.ElectronicVoucherSerialNbr = serialNumber; block1.VoucherApprovalCd = approvalCode; block1.ExprDate = expirationDate; block1.PrimaryAcctNbr = primaryAccountNumber; var cardData = new CardDataType(); if (card != null) { cardData.Item = service.HydrateCardManualEntry(card); if (card.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(card.EncryptionData); } } if (token != null) { cardData.Item = service.HydrateTokenData(token); } if (trackData != null) { cardData.Item = service.HydrateCardTrackData(trackData); if (trackData.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(trackData.EncryptionData); } } cardData.TokenRequest = requestMultiUseToken ? booleanType.Y : booleanType.N; block1.CardData = cardData; block1.PinBlock = pinBlock; var transaction = new PosRequestVer10Transaction { Item = new PosEBTFSVoucherReqType { Block1 = block1 }, ItemElementName = ItemChoiceType1.EBTVoucherPurchase }; return(service.SubmitTransaction(transaction)); }
public override HpsEbtAuthorization Execute() { base.Execute(); var block1 = new EBTCashBenefitWithdrawalReqBlock1Type { Amt = amount.Value, AllowDup = allowDuplicates ? booleanType.Y : booleanType.N, AllowDupSpecified = true, CashBackAmount = cashBack }; var cardData = new CardDataType(); if (card != null) { cardData.Item = service.HydrateCardManualEntry(card); if (card.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(card.EncryptionData); } } if (token != null) { cardData.Item = service.HydrateTokenData(token); } if (trackData != null) { cardData.Item = service.HydrateCardTrackData(trackData); if (trackData.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(trackData.EncryptionData); } } cardData.TokenRequest = requestMultiUseToken ? booleanType.Y : booleanType.N; block1.PinBlock = pinBlock; var transaction = new PosRequestVer10Transaction { Item = new PosEBTCashBenefitWithdrawalReqType { Block1 = block1 }, ItemElementName = ItemChoiceType1.EBTCashBenefitWithdrawal }; return(service.SubmitTransaction(transaction)); }
public override HpsEbtAuthorization Execute() { base.Execute(); var block1 = new EBTBalanceInquiryReqBlock1Type { Amt = amount.Value }; var cardData = new CardDataType(); if (card != null) { cardData.Item = service.HydrateCardManualEntry(card); if (card.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(card.EncryptionData); } } if (token != null) { cardData.Item = service.HydrateTokenData(token); } if (trackData != null) { cardData.Item = service.HydrateCardTrackData(trackData); if (trackData.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(trackData.EncryptionData); } } cardData.TokenRequest = requestMultiUseToken ? booleanType.Y : booleanType.N; block1.CardData = cardData; block1.PinBlock = pinBlock; block1.BalanceInquiryType = inquiryType; var transaction = new PosRequestVer10Transaction { Item = new PosEBTBalanceInquiryReqType { Block1 = block1 }, ItemElementName = ItemChoiceType1.EBTBalanceInquiry }; return(service.SubmitTransaction(transaction)); }
public override HpsAuthorization Execute() { base.Execute(); var block1 = new PrePaidBalanceInquiryReqBlock1Type(); if (cardHolder != null) { block1.CardHolderData = service.HydrateCardHolderData(cardHolder); } var cardData = new CardDataType(); if (card != null) { cardData.Item = service.HydrateCardManualEntry(card); } if (trackData != null) { cardData.Item = service.HydrateCardTrackData(trackData); } if (token != null) { cardData.Item = service.HydrateTokenData(token); } block1.CardData = cardData; var transaction = new PosRequestVer10Transaction { Item = new PosPrePaidBalanceInquiryReqType { Block1 = block1 }, ItemElementName = ItemChoiceType1.PrePaidBalanceInquiry }; var response = service.SubmitTransaction(transaction); return(new HpsAuthorization().FromResponse(response)); }
public override HpsAuthorization Execute() { base.Execute(); var block1 = new CreditAuthReqBlock1Type { AllowDup = allowDuplicates ? booleanType.Y : booleanType.N, AllowDupSpecified = true, AllowPartialAuth = allowPartialAuth ? booleanType.Y : booleanType.N, AllowPartialAuthSpecified = true, Amt = amount.Value, }; block1.GratuityAmtInfoSpecified = gratuity.HasValue; if (block1.GratuityAmtInfoSpecified) { block1.GratuityAmtInfo = gratuity.Value; } if (cardHolder != null) { block1.CardHolderData = service.HydrateCardHolderData(cardHolder); } var cardData = new CardDataType(); if (card != null) { cardData.Item = service.HydrateCardManualEntry(card, cardPresent, readerPresent); if (card.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(card.EncryptionData); } } if (token != null) { cardData.Item = service.HydrateTokenData(token, cardPresent, readerPresent); } if (trackData != null) { cardData.Item = service.HydrateCardTrackData(trackData); if (trackData.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(trackData.EncryptionData); } } cardData.TokenRequest = requestMultiUseToken ? booleanType.Y : booleanType.N; if (cpcReq) { block1.CPCReq = booleanType.Y; block1.CPCReqSpecified = true; } if (details != null) { block1.AdditionalTxnFields = service.HydrateAdditionalTxnFields(details); } if (txnDescriptor != null) { block1.TxnDescriptor = txnDescriptor; } if (autoSubstantiation != null) { block1.AutoSubstantiation = service.HydrateAutoSubstantiation(autoSubstantiation); } if (originalTxnReferenceData != null) { block1.OrigTxnRefData = new origTxnRefDataType { AuthCode = originalTxnReferenceData.AuthorizationCode, CardNbrLastFour = originalTxnReferenceData.CardNumberLast4 } } ; if (directMarketData != null) { block1.DirectMktData = service.HydrateDirectMktData(directMarketData); } block1.CardData = cardData; var transaction = new PosRequestVer10Transaction { Item = new PosCreditAuthReqType { Block1 = block1 }, ItemElementName = ItemChoiceType1.CreditAuth }; var clientTransactionId = service.GetClientTransactionId(details); var response = service.SubmitTransaction(transaction, clientTransactionId); return(new HpsAuthorization().FromResponse(response)); }
public override HpsCharge Execute() { base.Execute(); var block1 = new CreditSaleReqBlock1Type { AllowDup = allowDuplicates ? booleanType.Y : booleanType.N, AllowDupSpecified = true, AllowPartialAuth = allowPartialAuth ? booleanType.Y : booleanType.N, AllowPartialAuthSpecified = true, Amt = amount.Value }; block1.GratuityAmtInfoSpecified = gratuity.HasValue; if (block1.GratuityAmtInfoSpecified) { block1.GratuityAmtInfo = gratuity.Value; } block1.ConvenienceAmtInfoSpecified = convenienceAmt.HasValue; if (block1.ConvenienceAmtInfoSpecified) { block1.ConvenienceAmtInfo = convenienceAmt.Value; HpsInputValidation.CheckAmount(block1.ConvenienceAmtInfo); } block1.ShippingAmtInfoSpecified = shippingAmt.HasValue; if (block1.ShippingAmtInfoSpecified) { block1.ShippingAmtInfo = shippingAmt.Value; HpsInputValidation.CheckAmount(block1.ShippingAmtInfo); } if (cardHolder != null) { block1.CardHolderData = service.HydrateCardHolderData(cardHolder); } var cardData = new CardDataType(); if (card != null) { cardData.Item = service.HydrateCardManualEntry(card, cardPresent, readerPresent); if (card.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(card.EncryptionData); } } if (token != null) { cardData.Item = service.HydrateTokenData(token, cardPresent, readerPresent); } if (trackData != null) { cardData.Item = service.HydrateCardTrackData(trackData); if (trackData.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(trackData.EncryptionData); } } cardData.TokenRequest = requestMultiUseToken ? booleanType.Y : booleanType.N; if (cpcReq) { block1.CPCReq = booleanType.Y; block1.CPCReqSpecified = true; } if (details != null) { block1.AdditionalTxnFields = service.HydrateAdditionalTxnFields(details); } if (txnDescriptor != null) { block1.TxnDescriptor = txnDescriptor; } if (autoSubstantiation != null) { block1.AutoSubstantiation = service.HydrateAutoSubstantiation(autoSubstantiation); } if (originalTxnReferenceData != null) { block1.OrigTxnRefData = new origTxnRefDataType { AuthCode = originalTxnReferenceData.AuthorizationCode, CardNbrLastFour = originalTxnReferenceData.CardNumberLast4 } } ; if (directMarketData != null) { block1.DirectMktData = service.HydrateDirectMktData(directMarketData); } block1.CardData = cardData; if (tagData != null) { block1.TagData = service.HydrateTagData(tagData); } if (secureEcommerce != null) { block1.SecureECommerce = service.HydrateSecureEcommerce(secureEcommerce); } var transaction = new PosRequestVer10Transaction { Item = new PosCreditSaleReqType { Block1 = block1 }, ItemElementName = ItemChoiceType1.CreditSale }; var clientTransactionId = service.GetClientTransactionId(details); var response = service.SubmitTransaction(transaction, clientTransactionId); var charge = new HpsCharge().FromResponse(response); if (rewards != null && charge.ResponseCode == "00") { var giftClient = new HpsFluentGiftCardService(service.ServicesConfig); try { charge.RewardsResponse = giftClient.Reward(amount).WithCard(rewards).Execute(); } catch (HpsException) { /* NOM NOM */ } } return(charge); }
public override HpsTransaction Execute() { base.Execute(); var block1 = new CreditOfflineSaleReqBlock1Type { AllowDup = allowDuplicates ? booleanType.Y : booleanType.N, AllowDupSpecified = true, Amt = amount.Value }; block1.GratuityAmtInfoSpecified = gratuity.HasValue; if (block1.GratuityAmtInfoSpecified) { block1.GratuityAmtInfo = gratuity.Value; } if (cardHolder != null) { block1.CardHolderData = service.HydrateCardHolderData(cardHolder); } var cardData = new CardDataType(); if (card != null) { cardData.Item = service.HydrateCardManualEntry(card, cardPresent, readerPresent); if (card.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(card.EncryptionData); } } if (token != null) { cardData.Item = service.HydrateTokenData(token, cardPresent, readerPresent); } if (trackData != null) { cardData.Item = service.HydrateCardTrackData(trackData); if (trackData.EncryptionData != null) { cardData.EncryptionData = service.HydrateEncryptionData(trackData.EncryptionData); } } cardData.TokenRequest = requestMultiUseToken ? booleanType.Y : booleanType.N; block1.CardData = cardData; if (cpcReq) { block1.CPCReq = booleanType.Y; block1.CPCReqSpecified = true; } if (details != null) { block1.AdditionalTxnFields = service.HydrateAdditionalTxnFields(details); } if (autoSubstantiation != null) { block1.AutoSubstantiation = service.HydrateAutoSubstantiation(autoSubstantiation); } if (directMarketData != null) { block1.DirectMktData = service.HydrateDirectMktData(directMarketData); } block1.OfflineAuthCode = offlineAuthCode; var transaction = new PosRequestVer10Transaction { Item = new PosCreditOfflineSaleReqType { Block1 = block1 }, ItemElementName = ItemChoiceType1.CreditOfflineSale }; var clientTransactionId = service.GetClientTransactionId(details); var response = service.SubmitTransaction(transaction, clientTransactionId); HpsTransaction trans = new HpsTransaction().FromResponse(response); trans.ResponseCode = "00"; trans.ResponseText = string.Empty; return(trans); }