예제 #1
0
        public Definition()
        {
            base.AddField(new MessageType().Configure("MTI", 4, -1, FieldLength.FixedLength, FieldFormat.Numeric));
            Messages.Core.Field.Bitmap bitmap = (Messages.Core.Field.Bitmap) new Messages.Core.Field.Bitmap(0).Configure("Primary bitmap", 8, 0, FieldLength.FixedLength, FieldFormat.Binary);
            base.AddField(bitmap);
            Messages.Core.Field.Bitmap bitmap2 = (Messages.Core.Field.Bitmap) new Messages.Core.Field.Bitmap(64).Configure("Secondary bitmap", 8, 1, FieldLength.FixedLength, FieldFormat.Binary);
            base.AddField(bitmap2);
            base.AddField(new Empty().Configure("Primary Account Number", 19, 2, FieldLength.LLVar, FieldFormat.Numeric));
            base.AddField(new ProcessingCode().Configure("Processing Code", 6, 3, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new AmountField().Configure("Amount, Transaction", 12, 4, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new AmountField().Configure("Amount, Settlement", 12, 5, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new DateTimeField().Configure("Transmission Date and Time", 10, 7, FieldLength.FixedLength, FieldFormat.MMDDhhmmss));
            base.AddField(new Empty().Configure("Conversion Rate, Settlement", 8, 9, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Systems Trace Audit Number", 6, 11, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new DateTimeField().Configure("Time, Local Transaction", 6, 12, FieldLength.FixedLength, FieldFormat.hhmmss));
            base.AddField(new DateTimeField().Configure("Date, Local Transaction", 4, 13, FieldLength.FixedLength, FieldFormat.MMDD));
            base.AddField(new DateTimeField().Configure("Date, Expiration", 4, 14, FieldLength.FixedLength, FieldFormat.YYMM));
            base.AddField(new DateTimeField().Configure("Date, Settlement", 4, 15, FieldLength.FixedLength, FieldFormat.MMDD));
            base.AddField(new DateTimeField().Configure("Date, Conversion", 4, 16, FieldLength.FixedLength, FieldFormat.MMDD));
            base.AddField(new Empty().Configure("Merchant Type", 4, 18, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new POSEntryMode().Configure("POS Entry Mode", 3, 22, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Card Sequence Number", 3, 23, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new POSConditionCode().Configure("POS Condition Code", 2, 25, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("POS PIN Capture Code", 2, 26, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Authorization ID Response Length", 1, 27, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new AmountField().Configure("Amount, Transaction Fee", 9, 28, FieldLength.FixedLength, FieldFormat.CreditDebitAmount));
            base.AddField(new AmountField().Configure("Amount, Settlement Fee", 9, 29, FieldLength.FixedLength, FieldFormat.CreditDebitAmount));
            base.AddField(new AmountField().Configure("Amount, Transaction Processing Fee", 9, 30, FieldLength.FixedLength, FieldFormat.CreditDebitAmount));
            base.AddField(new AmountField().Configure("Amount, Settlement Processing Fee", 9, 31, FieldLength.FixedLength, FieldFormat.CreditDebitAmount));
            base.AddField(new Empty().Configure("Acquiring Institution ID Code", 11, 32, FieldLength.LLVar, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Forwarding Institution ID Code", 11, 33, FieldLength.LLVar, FieldFormat.Numeric));
            base.AddField(new Track2Data().Configure("Track 2 Data", 37, 35, FieldLength.LLVar, FieldFormat.Track2));
            base.AddField(new Empty().Configure("Retrieval Reference Number", 12, 37, FieldLength.FixedLength, FieldFormat.AlphaNumeric));
            base.AddField(new Empty().Configure("Authorization ID Response", 6, 38, FieldLength.FixedLength, FieldFormat.AlphaNumericPad));
            base.AddField(new ResponseCode().Configure("Response Code", 2, 39, FieldLength.FixedLength, FieldFormat.AlphaNumeric));
            base.AddField(new ServiceRestrictionCode().Configure("Service Restriction Code", 3, 40, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Card Acceptor Terminal ID", 8, 41, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            base.AddField(new Empty().Configure("Card Acceptor ID Code", 15, 42, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            base.AddField(new CardAcceptorNameLocation().Configure("Card Acceptor Name Location", 40, 43, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            base.AddField(new Empty().Configure("Additional Response Data", 25, 44, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            base.AddField(new Empty().Configure("Track 1 Data", 76, 45, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            base.AddField(new Empty().Configure("Additional data", 999, 48, FieldLength.LLLVar, FieldFormat.AlphaNumericSpecial));
            base.AddField(new Empty().Configure("Currency Code, Transaction", 3, 49, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Currency Code, Settlement", 3, 50, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("PIN Data", 8, 52, FieldLength.FixedLength, FieldFormat.Binary));
            base.AddField(new Empty().Configure("Security Related Control Information", 48, 53, FieldLength.FixedLength, FieldFormat.Binary));
            base.AddField(new AdditionalAmounts().Configure("Additional Amounts", 120, 54, FieldLength.LLLVar, FieldFormat.AlphaNumeric));
            base.AddField(new MessageReasonCode().Configure("Message Reason Code", 4, 56, FieldLength.LLLVar, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Authorization Life-Cycle Code", 3, 57, FieldLength.LLLVar, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Authorizing Agent Id Code", 11, 58, FieldLength.LLLVar, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Echo Data", 255, 59, FieldLength.LLLVar, FieldFormat.AlphaNumericSpecial));
            base.AddField(new SettlementCode().Configure("Settlement Code", 1, 66, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Extended Payment Code", 2, 67, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new NetworkManagementCode().Configure("Network Management Information Code", 3, 70, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new DateTimeField().Configure("Date, Action", 6, 73, FieldLength.FixedLength, FieldFormat.YYMMDD));
            base.AddField(new Empty().Configure("Credits, Number", 10, 74, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Credits, Reveral Number", 10, 75, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Debits, Number", 10, 76, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Debits, Reversal Number", 10, 77, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Transfer, Number", 10, 78, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Transfers, Reversal Number", 10, 79, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Inquiries, Number", 10, 80, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Authorizations, Number", 10, 81, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new AmountField().Configure("Credits, Processing Fee Amount", 12, 82, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new AmountField().Configure("Credits, Transaction Fee Amount", 12, 83, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new AmountField().Configure("Debits, Processing Fee Amount", 12, 84, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new AmountField().Configure("Debits, Transaction Fee Amount", 12, 85, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new AmountField().Configure("Credits, Amount", 16, 86, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new AmountField().Configure("Credits, Reversal Amount", 16, 87, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new AmountField().Configure("Debits, Amount", 16, 88, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new AmountField().Configure("Debits, Reversal Amount", 16, 89, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new OriginalDataElements().Configure("Original Data Elements", 42, 90, FieldLength.FixedLength, FieldFormat.Numeric));
            base.AddField(new FileUpdateCode().Configure("File Update Code", 1, 91, FieldLength.FixedLength, FieldFormat.AlphaNumeric));
            base.AddField(new ReplacementAmounts().Configure("Replacement Amounts", 42, 95, FieldLength.FixedLength, FieldFormat.AlphaNumeric));
            base.AddField(new AmountField().Configure("Amount, Net Settlement", 17, 97, FieldLength.FixedLength, FieldFormat.CreditDebitAmount));
            base.AddField(new Empty().Configure("Payee", 25, 98, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            base.AddField(new Empty().Configure("Receiving Institution ID Code", 11, 100, FieldLength.LLVar, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("File Name", 17, 101, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            base.AddField(new Empty().Configure("Account Identification 1", 28, 102, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            base.AddField(new Empty().Configure("Account Identification 2", 28, 103, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            base.AddField(new Empty().Configure("Payments, Number", 10, 118, FieldLength.LLLVar, FieldFormat.Numeric));
            base.AddField(new Empty().Configure("Payments, Reversal Number", 10, 119, FieldLength.LLLVar, FieldFormat.Numeric));
            base.AddField(new POSDataCode().Configure("POS Data Code", 15, 123, FieldLength.LLLVar, FieldFormat.AlphaNumeric));
            base.AddField(new Empty().Configure("Network Management Information", 40, 125, FieldLength.LLLVar, FieldFormat.AlphaNumericSpecial));
            base.AddField(new Empty().Configure("MAC, Extended", 8, 128, FieldLength.FixedLength, FieldFormat.Binary));
            IField field = new Empty().Configure("Postbridge Private Field", 999999, 127, FieldLength.LLLLLLVar, FieldFormat.Binary);

            Messages.Core.Field.Bitmap bitmap3 = (Messages.Core.Field.Bitmap) new Messages.Core.Field.Bitmap(0).Configure("Private Field Bitmap", 8, 1, FieldLength.FixedLength, FieldFormat.Binary);
            field.AddSubfield(bitmap3);
            field.AddSubfield(new Empty().Configure("Switch Key", 32, 2, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new RoutingInformation().Configure("Routing Information", 48, 3, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new POSData().Configure("POS Data", 22, 4, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Service Station Data", 73, 5, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new AuthorizationProfile().Configure("Authorization Profile", 2, 6, FieldLength.FixedLength, FieldFormat.AlphaNumeric));
            field.AddSubfield(new Empty().Configure("Check Data", 50, 7, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Retention Data", 999, 8, FieldLength.LLLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Additional Node Data", 255, 9, FieldLength.LLLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("CVV2", 3, 10, FieldLength.FixedLength, FieldFormat.Numeric));
            field.AddSubfield(new Empty().Configure("Original Key", 32, 11, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Terminal Owner", 25, 12, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new POSGeographicData().Configure("POS Geographical Data", 17, 13, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Sponsor Bank", 8, 14, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Address Verification Data", 29, 15, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Address Verification Result", 1, 16, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Cardholder Information", 50, 17, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Validation Data", 50, 18, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Bank Details", 31, 19, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Originator / Authorizer Date Settlement", 8, 20, FieldLength.FixedLength, FieldFormat.CCYYMMDD));
            field.AddSubfield(new Empty().Configure("Record Identification", 12, 21, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new StructuredData().Configure("Structured Data", 99999, 22, FieldLength.LLLLLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Payee Name and Address", 253, 23, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Payer Account", 28, 24, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Original Node", 12, 26, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new CardVerificationResult().Configure("Card Verification Result", 1, 27, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("AMEX Card Identifier (CID)", 4, 28, FieldLength.FixedLength, FieldFormat.Numeric));
            field.AddSubfield(new Empty().Configure("3D Secure Data", 40, 29, FieldLength.FixedLength, FieldFormat.Binary));
            field.AddSubfield(new Empty().Configure("Secure Result", 1, 30, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Issuer Network ID", 11, 31, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("UCAF Data", 33, 32, FieldLength.LLVar, FieldFormat.Binary));
            field.AddSubfield(new ExtendedTransactionType().Configure("Extended Transaction Type", 4, 33, FieldLength.FixedLength, FieldFormat.Numeric));
            field.AddSubfield(new AccountTypeQualifiers().Configure("Account Type Qualifiers", 2, 34, FieldLength.FixedLength, FieldFormat.Numeric));
            field.AddSubfield(new Empty().Configure("Acquirer Network ID", 11, 35, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(new Empty().Configure("Original Response Code", 2, 39, FieldLength.FixedLength, FieldFormat.AlphaNumeric));
            field.AddSubfield(new TransactionReference().Configure("Transaction Reference", 512, 40, FieldLength.LLLVar, FieldFormat.AlphaNumericSpecial));
            IField field2 = new Empty().Configure("ICC Data", 999999, 25, FieldLength.LLLLVar, FieldFormat.Binary);

            Messages.Core.Field.Bitmap bitmap4 = (Messages.Core.Field.Bitmap) new BitmapHex(0).Configure("ICC Bitmap", 16, 1, FieldLength.FixedLength, FieldFormat.Binary);
            field2.AddSubfield(bitmap4);
            field2.AddSubfield(new Empty().Configure("Amount Authorized", 12, 2, FieldLength.FixedLength, FieldFormat.Numeric));
            field2.AddSubfield(new Empty().Configure("Amount Other", 12, 3, FieldLength.FixedLength, FieldFormat.Numeric));
            field2.AddSubfield(new Empty().Configure("Application Identifier", 32, 4, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Application Interchange Profile", 4, 5, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Application Transfer Counter", 4, 6, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Application Usage Control", 4, 7, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Authorization Response Code", 4, 8, FieldLength.FixedLength, FieldFormat.AlphaNumeric));
            field2.AddSubfield(new Empty().Configure("Card Authentication Reliability Indicator", 1, 9, FieldLength.FixedLength, FieldFormat.Numeric));
            field2.AddSubfield(new Empty().Configure("Card Authentication Results Code", 1, 10, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Chip Condition Code", 1, 11, FieldLength.FixedLength, FieldFormat.Numeric));
            field2.AddSubfield(new Empty().Configure("Cryptogram", 16, 12, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Cryptogram Information Data", 2, 13, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("CVM List", 504, 14, FieldLength.LLLVar, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("CVM Results", 6, 15, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Interface Device Serial Number", 8, 16, FieldLength.FixedLength, FieldFormat.AlphaNumeric));
            field2.AddSubfield(new Empty().Configure("Issuer Action Code", 11, 17, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Issuer Application Data", 64, 18, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Issuer Script Results", 507, 19, FieldLength.LLLLVar, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Terminal Application Version Number", 4, 20, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Terminal Capabilities", 6, 21, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Terminal Country Code", 3, 22, FieldLength.FixedLength, FieldFormat.Numeric));
            field2.AddSubfield(new Empty().Configure("Terminal Type", 2, 23, FieldLength.FixedLength, FieldFormat.Numeric));
            field2.AddSubfield(new Empty().Configure("Terminal Verification Result", 10, 24, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Transaction Category Code", 1, 25, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Transaction Currency Code", 3, 26, FieldLength.FixedLength, FieldFormat.Numeric));
            field2.AddSubfield(new Empty().Configure("Transaction Date", 6, 27, FieldLength.FixedLength, FieldFormat.Numeric));
            field2.AddSubfield(new Empty().Configure("Transaction Sequence Counter", 8, 28, FieldLength.LVar, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Transaction Type", 2, 29, FieldLength.FixedLength, FieldFormat.Numeric));
            field2.AddSubfield(new Empty().Configure("Unpredictable Number", 8, 30, FieldLength.FixedLength, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Issuer Authentication Data", 32, 31, FieldLength.LLVar, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Issuer Script Template 1", 3354, 32, FieldLength.LLLLVar, FieldFormat.AlphaNumericSpecial));
            field2.AddSubfield(new Empty().Configure("Issuer Script Template 2", 3354, 33, FieldLength.LLLLVar, FieldFormat.AlphaNumericSpecial));
            field.AddSubfield(field2);
            base.AddField(field);
            bitmap.AddMappedFieldRange(1, 64, base.Fields);
            bitmap2.AddMappedFieldRange(65, 128, base.Fields);
            bitmap3.AddMappedFieldRange(2, 39, field.Subfields);
            bitmap4.AddMappedFieldRange(2, 33, field2.Subfields);
            base.Init("Postilion Postbridge (bitmap)", base.Fields);
        }