Ejemplo n.º 1
0
        /// <summary>
        /// The get default iso 8583 template.
        /// </summary>
        /// <returns>
        /// A Template
        /// </returns>
        protected static Template GetDefaultIso8583Template()
        {
            var template = new Template
            {
                { Bit._002_PAN, FieldDescriptor.AsciiVar(2, 19, FieldValidators.N) },
                { Bit._003_PROC_CODE, FieldDescriptor.AsciiFixed(6, FieldValidators.N) },
                { Bit._004_TRAN_AMOUNT, FieldDescriptor.AsciiFixed(12, FieldValidators.N) },
                { Bit._005_SETTLE_AMOUNT, FieldDescriptor.AsciiFixed(12, FieldValidators.N) },
                { Bit._007_TRAN_DATE_TIME, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
                { Bit._009_CONVERSION_RATE_SETTLEMENT, FieldDescriptor.AsciiFixed(8, FieldValidators.N) },
                { Bit._011_SYS_TRACE_AUDIT_NUM, FieldDescriptor.AsciiFixed(6, FieldValidators.N) },
                { Bit._012_LOCAL_TRAN_TIME, FieldDescriptor.AsciiFixed(6, FieldValidators.N) },
                { Bit._013_LOCAL_TRAN_DATE, FieldDescriptor.AsciiFixed(4, FieldValidators.N) },
                { Bit._014_EXPIRATION_DATE, FieldDescriptor.AsciiFixed(4, FieldValidators.N) },
                { Bit._015_SELLTLEMENT_DATE, FieldDescriptor.AsciiFixed(4, FieldValidators.N) },
                { Bit._016_CONVERSION_DATE, FieldDescriptor.AsciiFixed(4, FieldValidators.N) },
                { Bit._018_MERCHANT_TYPE, FieldDescriptor.AsciiFixed(4, FieldValidators.N) },
                { Bit._022_POS_ENTRY_MODE, FieldDescriptor.AsciiFixed(3, FieldValidators.N) },
                { Bit._023_CARD_SEQUENCE_NUM, FieldDescriptor.AsciiFixed(3, FieldValidators.N) },
                { Bit._025_POS_CONDITION_CODE, FieldDescriptor.AsciiFixed(2, FieldValidators.N) },
                { Bit._026_POS_PIN_CAPTURE_CODE, FieldDescriptor.AsciiFixed(2, FieldValidators.N) },
                { Bit._027_AUTH_ID_RSP, FieldDescriptor.AsciiFixed(1, FieldValidators.N) },
                { Bit._028_TRAN_FEE_AMOUNT, FieldDescriptor.AsciiFixed(9, FieldValidators.Rev87AmountValidator) },
                {
                    Bit._029_SETTLEMENT_FEE_AMOUNT, FieldDescriptor.AsciiFixed(9, FieldValidators.Rev87AmountValidator)
                },
                { Bit._030_TRAN_PROC_FEE_AMOUNT, FieldDescriptor.AsciiFixed(9, FieldValidators.Rev87AmountValidator) },
                {
                    Bit._031_SETTLEMENT_PROC_FEE_AMOUNT,
                    FieldDescriptor.AsciiFixed(9, FieldValidators.Rev87AmountValidator)
                },
                { Bit._032_ACQUIRING_INST_ID_CODE, FieldDescriptor.AsciiVar(2, 11, FieldValidators.N) },
                { Bit._033_FORWARDING_INT_ID_CODE, FieldDescriptor.AsciiVar(2, 11, FieldValidators.N) },
                { Bit._035_TRACK_2_DATA, FieldDescriptor.AsciiVar(2, 37, FieldValidators.Track2) },
                { Bit._037_RETRIEVAL_REF_NUM, FieldDescriptor.AsciiFixed(12, FieldValidators.An) },
                { Bit._038_AUTH_ID_RESPONSE, FieldDescriptor.AsciiFixed(6, FieldValidators.An) },
                { Bit._039_RESPONSE_CODE, FieldDescriptor.AsciiFixed(2, FieldValidators.An) },
                { Bit._040_SERVICE_RESTRICTION_CODE, FieldDescriptor.AsciiFixed(3, FieldValidators.N) },
                { Bit._041_CARD_ACCEPTOR_TERMINAL_ID, FieldDescriptor.AsciiFixed(8, FieldValidators.Ans) },
                { Bit._042_CARD_ACCEPTOR_ID_CODE, FieldDescriptor.AsciiFixed(15, FieldValidators.Ans) },
                { Bit._043_CARD_ACCEPTOR_NAME_LOCATION, FieldDescriptor.AsciiFixed(40, FieldValidators.Ans) },
                { Bit._044_ADDITIONAL_RESPONSE_DATA, FieldDescriptor.AsciiVar(2, 25, FieldValidators.Ans) },
                { Bit._045_TRACK_1_DATA, FieldDescriptor.AsciiVar(2, 76, FieldValidators.Ans) },
                { Bit._048_ADDITIONAL_DATA, FieldDescriptor.AsciiVar(3, 999, FieldValidators.Ans) },
                { Bit._049_TRAN_CURRENCY_CODE, FieldDescriptor.AsciiFixed(3, FieldValidators.AorN) },
                { Bit._050_SETTLEMENT_CURRENCY_CODE, FieldDescriptor.AsciiFixed(3, FieldValidators.AorN) },
                { Bit._052_PIN_DATA, FieldDescriptor.BinaryFixed(8) },
                { Bit._053_SECURITY_RELATED_CONTROL_INFORMATION, FieldDescriptor.BinaryFixed(48) },
                { Bit._054_ADDITIONAL_AMOUNTS, FieldDescriptor.AsciiVar(3, 120, FieldValidators.An) },
                { Bit._056_MESSAGE_REASON_CODE, FieldDescriptor.AsciiVar(3, 4, FieldValidators.N) },
                { Bit._057_AUTHORISATION_LIFE_CYCLE, FieldDescriptor.AsciiVar(3, 3, FieldValidators.N) },
                { Bit._058_AUTHORISING_AGENT_INSTITUTION, FieldDescriptor.AsciiVar(3, 11, FieldValidators.Anp) },
                { Bit._066_SETTLEMENT_CODE, FieldDescriptor.AsciiFixed(1, FieldValidators.N) },
                { Bit._067_EXTENDED_PAYMENT_CODE, FieldDescriptor.AsciiFixed(2, FieldValidators.N) },
                { Bit._070_NETWORK_MANAGEMENT_INFORMATION_CODE, FieldDescriptor.AsciiFixed(3, FieldValidators.N) },
                { Bit._073_DATE_ACTION, FieldDescriptor.AsciiFixed(6, FieldValidators.N) },
                { Bit._074_CREDITS_NUMBER, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
                { Bit._075_CREDITS_REVERSAL_NUMBER, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
                { Bit._076_DEBITS_NUMBER, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
                { Bit._077_DEBITS_REVERSAL_NUMBER, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
                { Bit._078_TRANSFER_NUMBER, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
                { Bit._079_TRANSFER_REVERSAL_NUMBER, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
                { Bit._080_INQUIRIES_NUMBER, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
                { Bit._081_AUTHORISATIONS_NUMBER, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
                { Bit._082_CREDITS_PROCESSING_FEE_AMOUNT, FieldDescriptor.AsciiFixed(12, FieldValidators.N) },
                { Bit._083_CREDITS_TRANSACTION_FEE_AMOUNT, FieldDescriptor.AsciiFixed(12, FieldValidators.N) },
                { Bit._084_DEBITS_PROCESSING_FEE_AMOUNT, FieldDescriptor.AsciiFixed(12, FieldValidators.N) },
                { Bit._085_DEBITS_TRANSACTION_FEE_AMOUNT, FieldDescriptor.AsciiFixed(12, FieldValidators.N) },
                { Bit._086_CREDITS_AMOUNT, FieldDescriptor.AsciiFixed(16, FieldValidators.N) },
                { Bit._087_CREDITS_REVERSAL_AMOUNT, FieldDescriptor.AsciiFixed(16, FieldValidators.N) },
                { Bit._088_DEBITS_AMOUNT, FieldDescriptor.AsciiFixed(16, FieldValidators.N) },
                { Bit._089_DEBITS_REVERSAL_AMOUNT, FieldDescriptor.AsciiFixed(16, FieldValidators.N) },
                { Bit._090_ORIGINAL_DATA_ELEMENTS, FieldDescriptor.AsciiFixed(42, FieldValidators.N) },
                { Bit._091_FILE_UPDATE_CODE, FieldDescriptor.AsciiFixed(1, FieldValidators.An) },
                { Bit._095_REPLACEMENT_AMOUNTS, FieldDescriptor.AsciiFixed(42, FieldValidators.Ans) },
                {
                    Bit._097_AMOUNT_NET_SETTLEMENT, FieldDescriptor.AsciiFixed(17, FieldValidators.Rev87AmountValidator)
                },
                { Bit._098_PAYEE, FieldDescriptor.AsciiFixed(25, FieldValidators.Ans) },
                { Bit._100_RECEIVING_INST_ID_CODE, FieldDescriptor.AsciiVar(2, 11, FieldValidators.N) },
                { Bit._101_FILE_NAME, FieldDescriptor.AsciiVar(2, 17, FieldValidators.Ans) },
                { Bit._102_ACCOUNT_ID_1, FieldDescriptor.AsciiVar(2, 28, FieldValidators.Ans) },
                { Bit._103_ACCOUNT_ID_2, FieldDescriptor.AsciiVar(2, 28, FieldValidators.Ans) },
                { Bit._118_PAYMENTS_NUMBER, FieldDescriptor.AsciiVar(3, 30, FieldValidators.N) },
                { Bit._119_PAYMENTS_REVERSAL_NUMBER, FieldDescriptor.AsciiVar(3, 10, FieldValidators.N) },
            };

            return(template);
        }
Ejemplo n.º 2
0
 static EuropayMessage()
 {
     DefaultTemplate =
         new Template
     {
         { Fld.F002PrimaryAccountNumber, FD.PanMask(FD.AsciiLlNumeric(19)) },
         { Fld.F003ProcessingCode, FD.AsciiNumeric(6) },
         { Fld.F004TransactionAmount, FD.AsciiNumeric(12) },
         { Fld.F005SettlementAmount, FD.AsciiNumeric(12) },
         { Fld.F006CardholderBillingAmount, FD.AsciiNumeric(12) },
         { Fld.F007TransmissionDateAndTime, FD.AsciiNumeric(10) },
         { Fld.F008CardholderBillingFeeAmount, FD.AsciiNumeric(8) },
         { Fld.F009SettlementConversionRate, FD.AsciiNumeric(8) },
         { Fld.F010CardholderBillingConversionRate, FD.AsciiNumeric(8) },
         { Fld.F011SystemTraceAuditNumber, FD.AsciiNumeric(6) },
         { Fld.F012LocalTransactionTime, FD.AsciiNumeric(6) },
         { Fld.F013LocalTransactionDate, FD.AsciiNumeric(4) },
         { Fld.F014ExpirationDate, FD.AsciiNumeric(4) },
         { Fld.F015SettlementDate, FD.AsciiNumeric(4) },
         { Fld.F016ConversionDate, FD.AsciiNumeric(4) },
         { Fld.F017CaptureDate, FD.AsciiNumeric(4) },
         { Fld.F018MerchantsType, FD.AsciiNumeric(4) },
         { Fld.F019AcquiringInstitutionCountryCode, FD.AsciiNumeric(3) },
         { Fld.F020PanExtendedCountryCode, FD.AsciiNumeric(3) },
         { Fld.F021ForwardingInstitutionCountryCode, FD.AsciiNumeric(3) },
         { Fld.F022PointOfServiceEntryMode, FD.AsciiNumeric(3) },
         { Fld.F023CardSequenceNumber, FD.AsciiNumeric(3) },
         { Fld.F024NetworkInternationalId, FD.AsciiNumeric(3) },
         { Fld.F025PointOfServiceConditionCode, FD.AsciiNumeric(2) },
         { Fld.F026PointOfServicePinCaptureCode, FD.AsciiNumeric(2) },
         { Fld.F027AuthorizationIdResponseLength, FD.AsciiNumeric(1) },
         { Fld.F028TransactionFeeAmount, FD.AsciiAmount(9) },
         { Fld.F029SettlementFeeAmount, FD.AsciiAmount(9) },
         { Fld.F030TransactionProcessingFeeAmount, FD.AsciiAmount(9) },
         { Fld.F031SettlementProcessingFeeAmount, FD.AsciiAmount(9) },
         { Fld.F032AcquiringInstitutionIdCode, FD.AsciiLlNumeric(11) },
         { Fld.F033ForwardingInstitutionIdCode, FD.AsciiLlNumeric(11) },
         { Fld.F034PanExtended, FD.AsciiLlCharacter(28) },
         { Fld.F035Track2Data, FD.AsciiLlNumeric(37) },
         { Fld.F036Track3Data, FD.AsciiLllCharacter(104) },
         { Fld.F037RetrievalReferenceNumber, FD.AsciiAlphaNumeric(12) },
         { Fld.F038AuthorizationIdResponse, FD.AsciiAlphaNumeric(6) },
         { Fld.F039ResponseCode, FD.AsciiAlphaNumeric(2) },
         { Fld.F040ServiceRestrictionCode, FD.AsciiAlphaNumeric(3) },
         { Fld.F041CardAcceptorTerminalId, FD.AsciiAlphaNumeric(8) },
         { Fld.F042CardAcceptorIdCode, FD.AsciiAlphaNumeric(15) },
         { Fld.F043CardAcceptorNameLocation, FD.AsciiAlphaNumeric(40) },
         { Fld.F044AdditionalResponseData, FD.AsciiLlCharacter(25) },
         { Fld.F045Track1Data, FD.AsciiLlCharacter(76) },
         { Fld.F046AdditionalDataIso, FD.AsciiLllCharacter(999) },
         { Fld.F047AdditionalDataNational, FD.AsciiLllCharacter(999) },
         { Fld.F048EuropayField48, FD.AsciiLllBinary(999) },
         { Fld.F049TransactionCurrencyCode, FD.AsciiAlphaNumeric(3) },
         { Fld.F050SettlementCurrencyCode, FD.AsciiAlphaNumeric(3) },
         { Fld.F051CardholderBillingCurrencyCode, FD.AsciiAlphaNumeric(3) },
         { Fld.F052PinData, FD.BinaryFixed(8) },
         { Fld.F053SecurityRelatedControlInformation, FD.AsciiNumeric(16) },
         { Fld.F054AdditionalAmounts, FD.AsciiLllCharacter(120) },
         { Fld.F055ReservedIso, FD.AsciiLllCharacter(999) },
         { Fld.F056ReservedIso, FD.AsciiLllCharacter(999) },
         { Fld.F057ReservedNational, FD.AsciiLllCharacter(999) },
         { Fld.F058ReservedNational, FD.AsciiLllCharacter(999) },
         { Fld.F059ReservedNational, FD.AsciiLllCharacter(999) },
         { Fld.F060ReservedPrivate, FD.AsciiLllCharacter(999) },
         { Fld.F061ReservedPrivate, FD.AsciiLllCharacter(999) },
         { Fld.F062ReservedPrivate, FD.AsciiLllCharacter(999) },
         { Fld.F063ReservedPrivate, FD.AsciiLllCharacter(999) },
         { Fld.F064MessageAuthenticationCodeField, FD.BinaryFixed(8) },
         { Fld.F065ExtendedBitmap, FD.BinaryFixed(8) },
         { Fld.F066SettlementCode, FD.AsciiNumeric(1) },
         { Fld.F067ExtendedPaymentCode, FD.AsciiNumeric(2) },
         { Fld.F068ReceivingInstitutionCountryCode, FD.AsciiNumeric(3) },
         { Fld.F069SettlementInstitutionCountryCode, FD.AsciiNumeric(3) },
         { Fld.F070NetworkManagementInformationCode, FD.AsciiNumeric(3) },
         { Fld.F071MessageNumber, FD.AsciiNumeric(4) },
         { Fld.F072MessageNumberLast, FD.AsciiNumeric(4) },
         { Fld.F073DateAction, FD.AsciiNumeric(6) },
         { Fld.F074CreditsNumber, FD.AsciiNumeric(10) },
         { Fld.F075CreditsReversalNumber, FD.AsciiNumeric(10) },
         { Fld.F076DebitsNumber, FD.AsciiNumeric(10) },
         { Fld.F077DebitsReversalNumber, FD.AsciiNumeric(10) },
         { Fld.F078TransferNumber, FD.AsciiNumeric(10) },
         { Fld.F079TransferReversalNumber, FD.AsciiNumeric(10) },
         { Fld.F080InquiriesNumber, FD.AsciiNumeric(10) },
         { Fld.F081AuthorizationNumber, FD.AsciiNumeric(10) },
         { Fld.F082ProcessingFeeAmountCredits, FD.AsciiNumeric(12) },
         { Fld.F083TransactionFeeAmountCredits, FD.AsciiNumeric(12) },
         { Fld.F084ProcessingFeeAmountDebits, FD.AsciiNumeric(12) },
         { Fld.F085TransactionFeeAmountDebits, FD.AsciiNumeric(12) },
         { Fld.F086AmountCredits, FD.AsciiNumeric(16) },
         { Fld.F087ReversalAmountCredits, FD.AsciiNumeric(16) },
         { Fld.F088AmountDebits, FD.AsciiNumeric(16) },
         { Fld.F089ReversalAmountDebits, FD.AsciiNumeric(16) },
         { Fld.F090OriginalDataElements, FD.AsciiNumeric(42) },
         { Fld.F091FileUpdateCode, FD.AsciiAlphaNumeric(1) },
         { Fld.F092FileSecurityCode, FD.AsciiAlphaNumeric(2) },
         { Fld.F093ResponseIndicator, FD.AsciiAlphaNumeric(5) },
         { Fld.F094ServiceIndicator, FD.AsciiAlphaNumeric(7) },
         { Fld.F095ReplacementAmounts, FD.AsciiAlphaNumeric(42) },
         { Fld.F096MessageSecurityCode, FD.BinaryFixed(8) },
         { Fld.F097NetSettlementAmount, FD.AsciiAmount(17) },
         { Fld.F098Payee, FD.AsciiAlphaNumeric(25) },
         { Fld.F099SettlementInstitutionIdCode, FD.AsciiLlNumeric(11) },
         { Fld.F100ReceivingInstitutionIdCode, FD.AsciiLlNumeric(11) },
         { Fld.F101FileName, FD.AsciiLlCharacter(17) },
         { Fld.F102AccountId1, FD.AsciiLlCharacter(28) },
         { Fld.F103AccountId2, FD.AsciiLlCharacter(28) },
         { Fld.F104TransactionDescription, FD.AsciiLllCharacter(100) },
         { Fld.F105ReservedIsoUse, FD.AsciiLllCharacter(999) },
         { Fld.F106ReservedIsoUse, FD.AsciiLllCharacter(999) },
         { Fld.F107ReservedIsoUse, FD.AsciiLllCharacter(999) },
         { Fld.F108ReservedIsoUse, FD.AsciiLllCharacter(999) },
         { Fld.F109ReservedIsoUse, FD.AsciiLllCharacter(999) },
         { Fld.F110ReservedIsoUse, FD.AsciiLllCharacter(999) },
         { Fld.F111ReservedIsoUse, FD.AsciiLllCharacter(999) },
         { Fld.F112ReservedNationalUse, FD.AsciiLllCharacter(999) },
         { Fld.F113ReservedNationalUse, FD.AsciiLllCharacter(999) },
         { Fld.F114ReservedNationalUse, FD.AsciiLllCharacter(999) },
         { Fld.F115ReservedNationalUse, FD.AsciiLllCharacter(999) },
         { Fld.F116ReservedNationalUse, FD.AsciiLllCharacter(999) },
         { Fld.F117ReservedNationalUse, FD.AsciiLllCharacter(999) },
         { Fld.F118ReservedNationalUse, FD.AsciiLllCharacter(999) },
         { Fld.F119ReservedNationalUse, FD.AsciiLllCharacter(999) },
         { Fld.F120ReservedPrivateUse, FD.AsciiLllCharacter(999) },
         { Fld.F121ReservedPrivateUse, FD.AsciiLllCharacter(999) },
         { Fld.F122ReservedPrivateUse, FD.AsciiLllCharacter(999) },
         { Fld.F123ReservedPrivateUse, FD.AsciiLllCharacter(999) },
         { Fld.F124ReservedPrivateUse, FD.AsciiLllCharacter(999) },
         { Fld.F125ReservedPrivateUse, FD.AsciiLllCharacter(999) },
         { Fld.F126ReservedPrivateUse, FD.AsciiLllCharacter(999) },
         { Fld.F127ReservedPrivateUse, FD.AsciiLllCharacter(999) },
         { Fld.F128Mac2, FD.AsciiLllCharacter(999) },
     };
 }
Ejemplo n.º 3
0
 /// <summary>
 ///   Create a binary fixed length field
 /// </summary>
 /// <param name = "fieldNumber">field number</param>
 /// <param name = "packedLength">length of the field</param>
 /// <returns>field</returns>
 public static IField BinFixed(int fieldNumber, int packedLength)
 {
     return(new Field(fieldNumber, FieldDescriptor.BinaryFixed(packedLength)));
 }