public static void SetCardholderData(this Group1AuthorizationModel group1Authorization, CustomerDataFieldModel customerData, CustomerIdentificationDataFieldModel cardholderIdentification) { group1Authorization.CardholderIdentificationCode = cardholderIdentification.CardholderIdCode; group1Authorization.AccountDataSource = customerData.AccountDataSource; group1Authorization.CustomerData = customerData; group1Authorization.CardholderIdentificationData = cardholderIdentification; }
public static void SetTerminalLocale(this Group1AuthorizationModel group1Authorization, CurrencyCodeTypeModel currency, CountryCodeTypeModel countryCode, LanguageIndicatorTypeModel languageIndicator, string zipCode, TimeZoneDifferentialModel timeZonDifferential) { group1Authorization.CurrencyCode = currency; group1Authorization.CountryCode = countryCode; group1Authorization.CityCode = zipCode; group1Authorization.LanguageIndicator = languageIndicator; group1Authorization.TimeZoneDiff = timeZonDifferential; }
public static void SetTerminalIdentification(this Group1AuthorizationModel group1Authorization, long merchantNumber, uint storeNumber, uint terminalNumber, DeviceCodeTypeModel deviceCode, IndustryCodeTypeModel industryCode, MerchantCategoryTypeModel merchantCategory) { group1Authorization.MerchantNumber = merchantNumber; group1Authorization.StoreNumber = storeNumber; group1Authorization.TerminalNumber = terminalNumber; group1Authorization.DeviceCode = deviceCode; group1Authorization.MerchantCategoryCode = merchantCategory; group1Authorization.IndustryCode = industryCode; group1Authorization.RequestedACI = RequestAciTypeModel.DeviceIsCpsMeritCapableOrCreditOrOffline; }
public static AuthorizationRequestMessageModel NewAuthorizationMessageRequest(string id, Group1AuthorizationModel group1, Group2AuthorizationModel group2, List <IGroupRecord> group3s) { var result = new AuthorizationRequestMessageModel { TransactionUuid = string.IsNullOrEmpty(id) ? Guid.NewGuid().ToString("D") : id, TransactionTime = DateTimeOffset.UtcNow, G1 = group1, G2 = group2, G3 = string.Join(AsciiTable.GS, group3s.Select(x => x.ToString())) }; return(result); }
public static void CopyToBuffer(this Group1AuthorizationModel group1Authorization, ref StringBuilder buffer) { buffer .AppendFormat("{0}", group1Authorization.RecordFormat) .AppendFormat("{0}", group1Authorization.ApplicationType) .AppendFormat("{0}", group1Authorization.MessageDelimiter) .AppendFormat("{0:000000}", group1Authorization.AcquirerBIN) .AppendFormat("{0:000000000000}", group1Authorization.MerchantNumber) .AppendFormat("{0:0000}", group1Authorization.StoreNumber) .AppendFormat("{0:0000}", group1Authorization.TerminalNumber) .AppendFormat("{0}", group1Authorization.DeviceCode) .AppendFormat("{0}", group1Authorization.IndustryCode) .AppendFormat("{0:000}", group1Authorization.CurrencyCode) .AppendFormat("{0:000}", group1Authorization.CountryCode) .AppendFormat("{0}", group1Authorization.CityCode.FormatCityCode()) .AppendFormat("{0:00}", group1Authorization.LanguageIndicator) .AppendFormat("{0:000}", group1Authorization.TimeZoneDiff) .AppendFormat("{0:0000}", group1Authorization.MerchantCategoryCode) .AppendFormat("{0}", group1Authorization.RequestedACI) .AppendFormat("{0:0000}", group1Authorization.TransactionSequenceNumber) .AppendFormat("{0}", group1Authorization.TransactionCode) .AppendFormat("{0}", group1Authorization.CardholderIdentificationCode) .AppendFormat("{0}", group1Authorization.AccountDataSource); /** * NOTE: * all request messages have same exact Group I structure up to this point...(first 64 bytes only) */ buffer .Append(group1Authorization.CustomerData) .Append(AsciiTable.FS) .Append(group1Authorization.CardholderIdentificationData) .Append(AsciiTable.FS); if (group1Authorization.ReceivingInstitutionId != ReceivingInstitutionIdTypeModel.SpaceOrEmptyReceivingInst) { buffer.AppendFormat("{0:000000}", group1Authorization.ReceivingInstitutionId); } buffer .Append(AsciiTable.FS) .AppendFormat("{0:000000000000}", group1Authorization.TransactionAmount) .Append(AsciiTable.FS); if (group1Authorization.TransactionCode == TransactionCodeTypeModel.DirectDebitPurchase) { buffer.AppendFormat("{0:000000000000}", group1Authorization.SecondaryAmount); } buffer.Append(AsciiTable.FS); switch (group1Authorization.IndustryCode.ToString()) { case IndustryCodeTypeModel.AutoRental: case IndustryCodeTypeModel.HotelAndLodging: buffer.Append(group1Authorization.MarketSpecificData); break; default: break; } buffer .Append(AsciiTable.FS) .AppendFormat("{0}", group1Authorization.CardAcceptorData.ToString(group1Authorization.TransactionCode)) .Append(AsciiTable.FS) .AppendFormat("{0}", group1Authorization.ReversalAndIncrementalTransactionId) .Append(AsciiTable.FS); if (group1Authorization.TransactionCode.IsReturnOrReversal() || group1Authorization.TransactionCode.IsDebitCardTransaction()) { buffer.AppendFormat("{0}", group1Authorization.TransactionCode); } buffer.Append(AsciiTable.FS); }
public static void SetMarketAndCardAcceptorData(this Group1AuthorizationModel group1Authorization, MarketSpecificDataFieldModel marketSpecificData, CardAcceptorDataFieldModel cardAcceptorData) { group1Authorization.MarketSpecificData = marketSpecificData; group1Authorization.CardAcceptorData = cardAcceptorData; }
public static void SetCardAcceptorData(this Group1AuthorizationModel group1Authorization, string name, string city, string state, string ticket, long phone) { group1Authorization.CardAcceptorData = CardAcceptorDataFieldModel.NewCardAcceptorDataField(name, city, state, ticket, phone); }
public static bool IsEcomOrMotoTransaction(this Group1AuthorizationModel group1Authorization) { return((AccountDataSourceTypeModel.ManuallyKeyedTerminalHasNoCardReadingCapability == group1Authorization.AccountDataSource) && (TransactionCodeTypeModel.PurchaseCardNotPresent == group1Authorization.TransactionCode || TransactionCodeTypeModel.PurchaseCardNotPresentRepeat == group1Authorization.TransactionCode)); }