Esempio 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);
        }
Esempio n. 2
0
 static Iso8583Rev93()
 {
     // TODO There are some TermApp.ISO specific fields in here.  Need to remove them so as to conform to the spec.
     DefaultTemplate =
         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_DATETIME, FieldDescriptor.AsciiFixed(12, FieldValidators.N) },
         { Bit._014_EXPIRY_DATE, FieldDescriptor.AsciiFixed(4, FieldValidators.N) },
         { Bit._016_CONVERSION_DATE, FieldDescriptor.AsciiFixed(4, FieldValidators.N) },
         { Bit._022_POS_DATA_CODE, FieldDescriptor.AsciiFixed(15, FieldValidators.Ans) },
         { Bit._023_CARD_SEQ_NR, FieldDescriptor.AsciiFixed(3, FieldValidators.N) },
         { Bit._024_FUNC_CODE, FieldDescriptor.AsciiFixed(3, FieldValidators.N) },
         { Bit._027_APPROVAL_CODE_LEN, FieldDescriptor.AsciiFixed(1, FieldValidators.N) },
         { Bit._028_RECON_DATE, FieldDescriptor.AsciiFixed(6, FieldValidators.N) },
         { Bit._029_RECON_INDICATOR, FieldDescriptor.AsciiFixed(3, FieldValidators.N) },
         { Bit._030_AMOUNTS_ORIGINAL, FieldDescriptor.AsciiFixed(24, FieldValidators.N) },
         { Bit._032_ACQ_INST_ID_CODE, FieldDescriptor.AsciiVar(2, 11, FieldValidators.N) },
         { Bit._035_TRACK_2_DATA, FieldDescriptor.AsciiVar(2, 37, FieldValidators.Track2) },
         { Bit._037_RET_REF_NR, FieldDescriptor.AsciiFixed(12, FieldValidators.Anp) },
         { Bit._038_APPROVAL_CODE, FieldDescriptor.AsciiFixed(6, FieldValidators.Anp) },
         { Bit._039_ACTION_CODE, FieldDescriptor.AsciiFixed(3, FieldValidators.N) },
         { Bit._040_SERVICE_CODE, FieldDescriptor.AsciiFixed(4, FieldValidators.N) },
         { Bit._041_TERMINAL_ID, FieldDescriptor.AsciiFixed(8, FieldValidators.Ans) },
         { Bit._042_CARD_ACCEPTOR_ID, FieldDescriptor.AsciiFixed(15, FieldValidators.Ans) },
         { Bit._044_ADDITIONAL_RESPONSE_DATA, FieldDescriptor.AsciiVar(2, 99, FieldValidators.Ans) },
         { Bit._045_TRACK_1_DATA, FieldDescriptor.AsciiVar(2, 76, FieldValidators.Ans) },
         { Bit._046_FEES_AMOUNTS, FieldDescriptor.AsciiVar(3, 204, FieldValidators.Ans) },
         { Bit._048_PRIVATE_ADDITIONAL_DATA, FieldDescriptor.AsciiVar(4, 9999, FieldValidators.Ans) },
         { Bit._049_TRAN_CURRENCY_CODE, FieldDescriptor.AsciiFixed(3, FieldValidators.N) },
         { Bit._050_SETTLEMENT_CURRENCY_CODE, FieldDescriptor.AsciiFixed(3, FieldValidators.N) },
         { Bit._052_PIN_DATA, FieldDescriptor.AsciiFixed(16, FieldValidators.Hex) },
         { Bit._053_SECURITY_INFO, FieldDescriptor.AsciiVar(2, 96, FieldValidators.Hex) },
         { Bit._054_ADDITIONAL_AMOUNTS, FieldDescriptor.AsciiVar(2, 96, FieldValidators.Hex) },
         { Bit._055_ICC_DATA, FieldDescriptor.AsciiVar(3, 999, FieldValidators.Hex) },
         { Bit._056_ORIG_DATA_ELEMENTS, FieldDescriptor.AsciiVar(2, 35, FieldValidators.N) },
         { Bit._057_AUTH_LIFE_CYCLE_CODE, FieldDescriptor.AsciiFixed(3, FieldValidators.N) },
         { Bit._058_AUTH_AGENT_INST_ID_CODE, FieldDescriptor.AsciiVar(2, 11, FieldValidators.N) },
         { Bit._059_ECHO_DATA, FieldDescriptor.AsciiVar(3, 200, FieldValidators.Ans) },
         { Bit._062_HOTCARD_CAPACITY, FieldDescriptor.AsciiVar(3, 5, FieldValidators.N) },
         { Bit._063_TERMAPP_PRIVATE_DATA, FieldDescriptor.AsciiVar(3, 999, FieldValidators.Hex) },
         { Bit._064_MAC, FieldDescriptor.AsciiFixed(8, FieldValidators.Hex) },
         { Bit._066_ORIGINAL_FEES_AMOUNTS, FieldDescriptor.AsciiVar(3, 204, FieldValidators.Ans) },
         { Bit._067_EXT_PAYMENT_DATA, FieldDescriptor.AsciiFixed(2, FieldValidators.N) },
         { Bit._071_MSG_NR, FieldDescriptor.AsciiFixed(8, FieldValidators.N) },
         { Bit._072_DATA_RECORD, FieldDescriptor.AsciiVar(3, 999, FieldValidators.Ans) },
         { Bit._074_NR_CREDITS, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
         { Bit._075_NR_CREDITS_REVERSAL, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
         { Bit._076_NR_DEBITS, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
         { Bit._077_NR_DEBITS_REVERSAL, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
         { Bit._081_NR_AUTHS, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
         { Bit._086_AMOUNT_CREDITS, FieldDescriptor.AsciiFixed(16, FieldValidators.N) },
         { Bit._087_AMOUNT_CREDITS_REVERSAL, FieldDescriptor.AsciiFixed(16, FieldValidators.N) },
         { Bit._088_AMOUNT_DEBITS, FieldDescriptor.AsciiFixed(16, FieldValidators.N) },
         { Bit._089_AMOUNT_DEBITS_REVERSAL, FieldDescriptor.AsciiFixed(16, FieldValidators.N) },
         { Bit._090_NR_AUTHS_REVERSAL, FieldDescriptor.AsciiFixed(10, FieldValidators.N) },
         { Bit._096_KEY_MANAGEMENT_DATA, FieldDescriptor.AsciiVar(3, 999, FieldValidators.Ans) },
         { Bit._097_AMOUNT_NET_RECON, FieldDescriptor.AsciiFixed(17, FieldValidators.An) },
         { 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, 99, 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._104_TRAN_DESCRIPTION, FieldDescriptor.AsciiVar(4, 9999, FieldValidators.Ans) },
         { Bit._109_FEE_AMOUNTS_CREDITS, FieldDescriptor.AsciiVar(2, 84, FieldValidators.Ans) },
         { Bit._110_FEE_AMOUNTS_DEBITS, FieldDescriptor.AsciiVar(2, 84, FieldValidators.Ans) },
         { Bit._123_RECEIPT_DATA, FieldDescriptor.AsciiVar(3, 999, FieldValidators.Ans) },
         { Bit._124_DISPLAY_DATA, FieldDescriptor.AsciiVar(3, 999, FieldValidators.Ans) },
         { Bit._128_MAC, FieldDescriptor.AsciiFixed(8, FieldValidators.Hex) },
     };
 }