• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            ISO8583規(guī)范

            Posted on 2010-10-13 20:03 Prayer 閱讀(2324) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 金融相關(guān)SOCKET
            ISO8583接口的詳細(xì)資料
              ISO8583包(簡(jiǎn)稱8583包)是一個(gè)國(guó)際標(biāo)準(zhǔn)的包格式,最多由128個(gè)字段域組成,每個(gè)域都有統(tǒng)一的規(guī)定,并有定長(zhǎng)與變長(zhǎng)之分。8583包前面一段為位圖,用來(lái)確定包的字段域組成情況。其中位圖是8583包的靈魂,它是打包解包確定字段域的關(guān)鍵,而了解每個(gè)字段域的屬性則是填寫數(shù)據(jù)的基礎(chǔ)。


              1、 位圖描述如下:
              位圖位置:1
              格式:定長(zhǎng)
              類型:B16(二進(jìn)制16位,16*8=128bit)
              描述:
              如將位圖的第一位設(shè)為'1',表示使用擴(kuò)展位圖(128個(gè)域),否則表示只使用基本位圖(64個(gè)域)。
              如使用某數(shù)據(jù)域,應(yīng)在位圖中將相應(yīng)的位設(shè)位'1',如使用41域,需將位圖的41位設(shè)為'1'。
              選用條件:如使用65到128域,需設(shè)位圖域第一位為'1'

              2、每個(gè)域的定義如下:
              typedef struct ISO8583
              {
                int   bit_flag;      /*域數(shù)據(jù)類型0 -- string, 1 -- int, 2 -- binary*/
                char  *data_name;     /*域名*/
                int   length;       /*數(shù)據(jù)域長(zhǎng)度*/
                int   length_in_byte;   /*實(shí)際長(zhǎng)度(如果是變長(zhǎng))*/
                int   variable_flag;   /*是否變長(zhǎng)標(biāo)志0:否 2:2位變長(zhǎng), 3:3位變長(zhǎng)*/
                int   datatyp;      /*0 -- string, 1 -- int, 2 -- binary*/
                char  *data;       /*存放具體值*/
                int   attribute;     /*保留*/
              } ISO8583;
                
              ISO8583 Tbl8583[128] =
              {
                /* FLD 01 */ {0,"BIT MAP,EXTENDED", 8, 0, 0, 2, NULL,0},
                /* FLD 02 */ {0,"PRIMARY ACCOUNT NUMBER", 22, 0, 2, 0, NULL,0},
                /* FLD 03 */ {0,"PROCESSING CODE", 6, 0, 0, 0, NULL,0},
                /* FLD 04 */ {0,"AMOUNT, TRANSACTION", 12, 0, 0, 1, NULL,0},
                /* FLD 05 */ {0,"NO USE", 12, 0, 0, 0, NULL,0},
                /* FLD 06 */ {0,"NO USE", 12, 0, 0, 0, NULL,0},
                /* FLD 07 */ {0,"TRANSACTION DATE AND TIME", 10, 0, 0, 0, NULL,0},
                /* FLD 08 */ {0,"NO USE", 8, 0, 0, 0, NULL,0},
                /* FLD 09 */ {0,"NO USE", 8, 0, 0, 0, NULL,0},
                /* FLD 10 */ {0,"NO USE", 8, 0, 0, 0, NULL,0},
                /* FLD 11 */ {0,"SYSTEM TRACE AUDIT NUMBER", 6, 0, 0, 1, NULL,0},
                /* FLD 12 */ {0,"TIME, LOCAL TRANSACTION", 6, 0, 0, 0, NULL,0},
                /* FLD 13 */ {0,"DATE, LOCAL TRANSACTION", 4, 0, 0, 0, NULL,0},
                /* FLD 14 */ {0,"DATE, EXPIRATION", 4, 0, 0, 0, NULL,0},
                /* FLD 15 */ {0,"DATE, SETTLEMENT", 4, 0, 0, 0, NULL,0},
                /* FLD 16 */ {0,"NO USE", 4, 0, 0, 0, NULL,0},
                /* FLD 17 */ {0,"DATE, CAPTURE", 4, 0, 0, 0, NULL,0},
                /* FLD 18 */ {0,"MERCHANT'S TYPE", 4, 0, 0, 0, NULL,0},
                /* FLD 19 */ {0,"NO USE", 3, 0, 0, 0, NULL,0},
                /* FLD 20 */ {0,"NO USE", 3, 0, 0, 0, NULL,0},
                /* FLD 21 */ {0,"NO USE", 3, 0, 0, 0, NULL,0},
                /* FLD 22 */ {0,"POINT OF SERVICE ENTRY MODE", 3, 0, 0, 0, NULL,0},
                /* FLD 23 */ {0,"NO USE", 3, 0, 0, 0, NULL,0},
                /* FLD 24 */ {0,"NO USE", 3, 0, 0, 0, NULL,0},
                /* FLD 25 */ {0,"POINT OF SERVICE CONDITION CODE", 2, 0, 0, 0, NULL,0},
                /* FLD 26 */ {0,"NO USE", 2, 0, 0, 0, NULL,0},
                /* FLD 27 */ {0,"NO USE", 1, 0, 0, 0, NULL,0},
                /* FLD 28 */ {0,"field27", 6, 0, 0, 0, NULL,0},
                /* FLD 29 */ {0,"NO USE", 8, 0, 1, 0, NULL,0},
                /* FLD 30 */ {0,"NO USE", 8, 0, 1, 0, NULL,0},
                /* FLD 31 */ {0,"NO USE", 8, 0, 1, 0, NULL,0},
                /* FLD 32 */ {0,"ACQUIRER INSTITUTION ID. CODE", 11, 0, 2, 0, NULL,0},
                /* FLD 33 */ {0,"FORWARDING INSTITUTION ID. CODE", 11, 0, 2, 0, NULL,0},
                /* FLD 34 */ {0,"NO USE", 28, 0, 2, 0, NULL,0},
                /* FLD 35 */ {0,"TRACK 2 DATA", 37, 0, 2, 0, NULL,0},
                /* FLD 36 */ {0,"TRACK 3 DATA",104, 0, 3, 0, NULL,0},
                /* FLD 37 */ {0,"RETRIEVAL REFERENCE NUMBER", 12, 0, 0, 0, NULL,0},
                /* FLD 38 */ {0,"AUTH. IDENTIFICATION RESPONSE", 6, 0, 0, 0, NULL,0},
                /* FLD 39 */ {0,"RESPONSE CODE", 2, 0, 0, 0, NULL,0},
                /* FLD 40 */ {0,"NO USE", 3, 0, 0, 0, NULL,0},
                /* FLD 41 */ {0,"CARD ACCEPTOR TERMINAL ID.", 8, 0, 0, 0, NULL,0},
                /* FLD 42 */ {0,"CARD ACCEPTOR IDENTIFICATION CODE", 15, 0, 0, 0, NULL,0},
                /* FLD 43 */ {0,"CARD ACCEPTOR NAME LOCATION", 40, 0, 0, 0, NULL,0},
                /* FLD 44 */ {0,"ADDITIONAL RESPONSE DATA", 25, 0, 2, 0, NULL,0},
                /* FLD 45 */ {0,"NO USE", 76, 0, 2, 0, NULL,0},
                /* FLD 46 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 47 */ {0,"field47", 999, 0, 3, 0, NULL,0},
                /* FLD 48 */ {0,"ADDITIONAL DATA --- PRIVATE", 999, 0, 3, 0, NULL,0},
                /* FLD 49 */ {0,"CURRENCY CODE,TRANSACTION", 3, 0, 0, 0, NULL,0},
                /* FLD 50 */ {0,"CURRENCY CODE,SETTLEMENT", 3, 0, 0, 0, NULL,0},
                /* FLD 51 */ {0,"NO USE", 3, 0, 0, 0, NULL,0},
                /* FLD 52 */ {0,"PERSONAL IDENTIFICATION NUMBER DATA", 8, 0, 0, 2, NULL,0},
                /* FLD 53 */ {0,"SECURITY RELATED CONTROL INformATION", 16, 0, 0, 0, NULL,0},
                /* FLD 54 */ {0,"ADDITIONAL AMOUNTS",120, 0, 3, 0, NULL,0},
                /* FLD 55 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 56 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 57 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 58 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 59 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 60 */ {0,"NO USE", 5, 0, 3, 0, NULL,0},
                /* FLD 61 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 62 */ {0,"NO USE", 11, 0, 3, 0, NULL,0},
                /* FLD 63 */ {0,"NO USE", 11, 0, 3, 0, NULL,0},
                /* FLD 64 */ {0,"MESSAGE AUTHENTICATION CODE FIELD", 8, 0, 0, 2, NULL,0},
                /* FLD 65 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 66 */ {0,"NO USE", 1, 0, 0, 0, NULL,0},
                /* FLD 67 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 68 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 69 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 70 */ {0,"SYSTEM MANAGEMENT INformATION CODE", 3, 0, 0, 0, NULL,0},
                /* FLD 71 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 72 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 73 */ {0,"NO USE", 6, 0, 0, 0, NULL,0},
                /* FLD 74 */ {0,"NUMBER OF CREDITS", 10, 0, 0, 0, NULL,0},
                /* FLD 75 */ {0,"REVERSAL NUMBER OF CREDITS", 10, 0, 0, 0, NULL,0},
                /* FLD 76 */ {0,"NUMBER OF DEBITS", 10, 0, 0, 0, NULL,0},
                /* FLD 77 */ {0,"REVERSAL NUMBER OF DEBITS", 10, 0, 0, 0, NULL,0},
                /* FLD 78 */ {0,"NUMBER OF TRANSFER", 10, 0, 0, 0, NULL,0},
                /* FLD 79 */ {0,"REVERSAL NUMBER OF TRANSFER", 10, 0, 0, 0, NULL,0},
                /* FLD 80 */ {0,"NUMBER OF INQUIRS", 10, 0, 0, 0, NULL,0},
                /* FLD 81 */ {0,"AUTHORIZATION NUMBER", 10, 0, 0, 0, NULL,0},
                /* FLD 82 */ {0,"NO USE", 12, 0, 0, 0, NULL,0},
                /* FLD 83 */ {0,"CREDITS,TRANSCATION FEEAMOUNT", 12, 0, 0, 0, NULL,0},
                /* FLD 84 */ {0,"NO USE", 12, 0, 0, 0, NULL,0},
                /* FLD 85 */ {0,"DEBITS,TRANSCATION FEEAMOUNT", 12, 0, 0, 0, NULL,0},
                /* FLD 86 */ {0,"AMOUNT OF CREDITS", 16, 0, 0, 0, NULL,0},
                /* FLD 87 */ {0,"REVERSAL AMOUNT OF CREDITS", 16, 0, 0, 0, NULL,0},
                /* FLD 88 */ {0,"AMOUNT OF DEBITS", 16, 0, 0, 0, NULL,0},
                /* FLD 89 */ {0,"REVERSAL AMOUNT OF DEBITS", 16, 0, 0, 0, NULL,0},
                /* FLD 90 */ {0,"ORIGINAL DATA ELEMENTS", 42, 0, 0, 0, NULL,0},
                /* FLD 91 */ {0,"FILE UPDATE CODE", 1, 0, 0, 0, NULL,0},
                /* FLD 92 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 93 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 94 */ {0,"SERVICE INDICATOR", 7, 0, 0, 0, NULL,0},
                /* FLD 95 */ {0,"REPLACEMENT AMOUNTS", 42, 0, 0, 0, NULL,0},
                /* FLD 96 */ {0,"NO USE", 8, 0, 0, 0, NULL,0},
                /* FLD 97 */ {0,"AMOUNT OF NET SETTLEMENT", 16, 0, 0, 0, NULL,0},
                /* FLD 98 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 99 */ {0,"SETTLEMENT INSTITUTION ID", 11, 0, 2, 0, NULL,0},
                /* FLD 100 */ {0,"RECVEING INSTITUTION ID", 11, 0, 2, 0, NULL,0},
                /* FLD 101 */ {0,"FILENAME", 17, 0, 2, 0, NULL,0},
                /* FLD 102 */ {0,"ACCOUNT IDENTIFICATION1", 28, 0, 2, 0, NULL,0},
                /* FLD 103 */ {0,"ACCOUNT IDENTIFICATION2", 28, 0, 2, 0, NULL,0},
                /* FLD 104 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 105 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 106 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 107 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 108 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 109 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 110 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 111 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 112 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 113 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 114 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 115 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 116 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 117 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 118 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 119 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 120 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 121 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 122 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 123 */ {0,"NEW PIN DATA", 8, 0, 3, 2, NULL,0},
                /* FLD 124 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 125 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 126 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 127 */ {0,"NO USE", 999, 0, 3, 0, NULL,0},
                /* FLD 128 */ {0,"MESSAGE AUTHENTICATION CODE FIELD", 8, 0, 0, 2, NULL,0},
              };
                  
              3、變長(zhǎng),定長(zhǎng)域說(shuō)明
              如第二域:域名為主帳號(hào),
              數(shù)據(jù)類型為string
              長(zhǎng)度為22(是長(zhǎng)長(zhǎng)度不得超過(guò)此數(shù))
              是個(gè)2位變長(zhǎng)域
              由于是2位變長(zhǎng),在打包時(shí)需在數(shù)據(jù)域前加上數(shù)據(jù)的實(shí)際長(zhǎng)度,如為19位,則表示為:
              19+數(shù)據(jù)值(即前兩位為長(zhǎng)度)

              如第三域:域名為處理碼,
              數(shù)據(jù)類型為string
              長(zhǎng)度為6
              是個(gè)定長(zhǎng)域
              必須填滿6位。
              
              附A:ISO8583各域段的說(shuō)明
              1,信息類型(message type)定義
              位圖位置:-
              格式:定長(zhǎng)
              類型:N4
              描述:
              數(shù)據(jù)包的第一部分,定義數(shù)據(jù)包的類型。
              數(shù)據(jù)類型由數(shù)據(jù)包的發(fā)起者設(shè)定,應(yīng)遵循以下要求:
              數(shù)據(jù)包開始部分必須是信息類型;
              對(duì)不支持的信息類型能給出拒絕應(yīng)答。
              0100授權(quán)交易
              0110授權(quán)交易答復(fù)
              0200金融交易
              0210金融交易答復(fù)
              0240查詢交易
              0250查詢交易答復(fù)
              0400沖正交易
              0410沖正交易答復(fù)
              0800管理交易
              0810管理交易答復(fù)

              2,位圖(Bit Map) - 基本位圖和擴(kuò)展位圖
              位圖位置:1
              格式:定長(zhǎng)
              類型:B16
              描述:
              如將位圖的第一位設(shè)為'1',表示使用擴(kuò)展位圖,否則表示只使用基本位圖。
              如使用某數(shù)據(jù)域,應(yīng)在位圖中將相應(yīng)的位設(shè)位'1',如使用41域,需將位圖的41位設(shè)為'1'。
              選用條件:如使用65到128域,需設(shè)位圖域?yàn)?1'

              3,Bit02主帳號(hào)(Primary Account Number )
              位圖位置:02
              格式:變長(zhǎng),LLVAR
              類型:N..22
              描述:
              唯一的確認(rèn)一個(gè)用戶交易的基本帳號(hào)。
              由于銀行電子服務(wù)系統(tǒng)涉及多個(gè)應(yīng)用系統(tǒng),而帳號(hào)長(zhǎng)度最多為22位,故將原標(biāo)準(zhǔn)的19長(zhǎng)度改為22位。

              Bit03 處理代碼 (Processing Code )
              位圖位置:03
              格式:定長(zhǎng)
              類型:N6
              描述:用于描述交易對(duì)客戶帳戶造成何種影響的代碼。
              處理代碼和信息碼一起可唯一定義一種交易的類型。
              處理代碼由以下三部分組成:
              位置描述
              1-2交易動(dòng)作碼
              3-4付出帳戶類型,用于借記類,如查詢、代收費(fèi)、轉(zhuǎn)場(chǎng)交易。
              5-6收入帳戶類型,用于代收費(fèi)、轉(zhuǎn)帳等。

              其中:
              ff : 付出帳戶
              tt: 收入帳戶
              * 視主機(jī)而定

              5,Bit04 交易金額 (Amount, Transaction)
              位圖位置:04
              格式:定長(zhǎng)
              類型:N12
              描述:帳戶人要求交易的交易金額,不含任何處理和交易費(fèi)用。
              金額的表示和貨幣代碼有關(guān),應(yīng)能表示相應(yīng)貨幣的最小單位。參ISO4217有關(guān)貨幣代碼定義。
              如“000000000100”用于表示美元,表示1.00元;如用于表示意大利貨幣,則表示100里拉。對(duì)于查詢等交易,應(yīng)設(shè)交易金額為“000000000000”。

              6,Bit06交易日期和時(shí)間(Transmission Date and Time)
              位圖位置:07
              格式:定長(zhǎng),MMDDhhmmss
              類型:N10
              描述:本地交易日期和時(shí)間
              
              7,Bit11系統(tǒng)跟蹤號(hào)(Systems Trace Audit Number)
              位圖位置:11
              格式:定長(zhǎng)
              類型:N6
              描述:終端交易的跟蹤號(hào)碼。
              交易發(fā)起終端填寫,和“交易日期、時(shí)間”、信息類型等合在一起可唯一定義某一個(gè)終端的唯一一筆交易。即是說(shuō),在同一天,對(duì)一終端,同一類交易的系統(tǒng)跟蹤號(hào)應(yīng)保證不同。系統(tǒng)跟蹤號(hào)在交易過(guò)程中不能修改。使用此域來(lái)匹配請(qǐng)求和通知類交易的返回。
              應(yīng)用系統(tǒng)使用此域來(lái)檢查收到的授權(quán)、金融、自動(dòng)沖正、結(jié)算、管理和網(wǎng)管等類交易的應(yīng)答包是否是其請(qǐng)求包的應(yīng)答。
              系統(tǒng)跟蹤號(hào)不用于匹配自動(dòng)沖正交易,也不用于在預(yù)授權(quán)消費(fèi)時(shí)匹配前面的預(yù)授權(quán)交易。參90域。
              對(duì)于銀行電子服務(wù)系統(tǒng),其系統(tǒng)跟蹤號(hào)是交易流水號(hào)。

              8,Bit12本地交易時(shí)間(Time ,Local Transaction)
              位圖位置:12
              格式:定長(zhǎng),hhmmss
              類型:N6
              描述:交易在終端上發(fā)生的時(shí)間。
              本地交易時(shí)間在交易處理過(guò)程中不能改變。在自動(dòng)沖正,存貯轉(zhuǎn)發(fā)時(shí),本地交易時(shí)間不能改變。
              
              9,Bit13本地交易日期(Date ,Local Transaction)
              位圖位置:13
              格式:定長(zhǎng),MMDD
              類型:N4
              描述:交易在終端上發(fā)生的時(shí)間。
              本地交易時(shí)間不能改變,在自動(dòng)沖正、存儲(chǔ)轉(zhuǎn)發(fā)交易時(shí),本地交易時(shí)間也不能改變。

              10,Bit14有效期(Date ,Expiration)
              位圖位置:14
              格式:定長(zhǎng),YYMM
              類型:N4
              描述:卡的有效期,年年月月
              由于卡類寫磁格式不同,收單行可能提不出卡的有效期,授權(quán)機(jī)構(gòu)從卡的二磁道中提取卡的有效期。如卡,無(wú)二磁道,收單行應(yīng)要求手工錄入卡的有效期。
              選用條件:100、200、400等交易如沒(méi)有2、3磁道時(shí),一定要有此域。
              
              11,Bit15結(jié)算日期(Date ,Settlement)
              位圖位置:15
              格式:定長(zhǎng),MMDD
              類型:N4
              描述:
              銀行電子服務(wù)系統(tǒng)和主機(jī)結(jié)算的時(shí)間,格式月月日日。結(jié)帳日期前發(fā)生的交易參加當(dāng)天結(jié)算。
              在結(jié)算時(shí),結(jié)帳日期也用于計(jì)算處理、交易費(fèi)用。

              12,Bit17獲取日期(Date ,Capture)
              位圖位置:17
              格式:定長(zhǎng),MMDD
              類型:N4
              描述:從主機(jī)獲取交易的記帳日期。通常用于主機(jī)和商戶清算。
              
              13,Bit18商戶類型(Merchant's Type)
              位圖位置:18
              格式:定長(zhǎng)
              類型:N4
              描述:定義商戶產(chǎn)品和服務(wù)類型的代碼
              商戶類型用于金融、授權(quán)交易,用于指定服務(wù)點(diǎn)的類型。它主要有以下用途:
              決定預(yù)授權(quán)交易得到確認(rèn)的最長(zhǎng)時(shí)間;
              控制合法限額;
              為交易授權(quán)處理,控制網(wǎng)絡(luò)操作規(guī)則;
              欺詐檢測(cè);
              用于商戶分類報(bào)表;
              交易費(fèi)用處理。

              根據(jù)ISO8583標(biāo)準(zhǔn),應(yīng)使用相應(yīng)的國(guó)家標(biāo)準(zhǔn)。
              商戶類型代碼表如下:
              商戶類型代碼行業(yè)類型說(shuō)明
              4215郵遞服務(wù)
              4511民航
              4722旅游
              4782過(guò)橋費(fèi)
              4789其他運(yùn)輸服務(wù)
              4614電信服務(wù)
              5542加油站
              5812餐館
              5999購(gòu)物
              6010金融機(jī)構(gòu)-人工現(xiàn)金支付
              6011金融機(jī)構(gòu)-自動(dòng)現(xiàn)金支付
              6012金融機(jī)構(gòu)-各類服務(wù)
              7011酒店、旅館
              7299各類個(gè)人服務(wù):洗衣、美容、
              7399各類商業(yè)服務(wù):停車場(chǎng)、租車、廣告、其他服務(wù)
              7699各類維修服務(wù):維修、洗車、拖車
              7996娛樂(lè):電影、劇院、體育、游戲
              8099醫(yī)療服務(wù)
              8111法律服務(wù)
              8999各類專業(yè)服務(wù):會(huì)計(jì)、教育、裝修、工程
              
              選用條件:服務(wù)點(diǎn)終端發(fā)起的交易一定要有此域。

              14,Bit22服務(wù)點(diǎn)輸入方式(Point-of-Service Entry Mode)
              位圖位置:22
              格式:定長(zhǎng)
              類型:N3
              描述:在服務(wù)終端上定義PIN和PAN的輸入方式。
              服務(wù)點(diǎn)輸入方式包含以下兩個(gè)方面組合而成:
              位置描述
              1-2在服務(wù)終端上PAN有效期輸入方式
              3-3在服務(wù)終端上PIN的輸入方式
              PAN的輸入方式編碼如下:
              PAN輸入方式描述
              00不知
              01手工
              02讀磁卡
              03條碼掃描儀(BAR)
              04光學(xué)符號(hào)閱讀器(OCR)
              05集成電路卡(IC卡)
              
              PIN的輸入方式編碼如下:
              PIN輸入方式描述
              0不知
              1終端能接收PIN
              2終端不能接收PIN
              
              選用條件:服務(wù)點(diǎn)終端發(fā)起的交易一定要有此域。
              
              15,Bit25服務(wù)點(diǎn)條件代碼(Point-of-Service Condition Code)
              位圖位置:25
              格式:定長(zhǎng)
              類型:N2
              描述:定義交易發(fā)生的服務(wù)點(diǎn)類型
              用法說(shuō)明:下面是CYBERBANK支持的服務(wù)點(diǎn)條件代碼。
              服務(wù)點(diǎn)條件代碼服務(wù)點(diǎn)終端類型
              2自動(dòng)柜員機(jī)(ATM)
              10銀行終端(10)
              14POS
              20電話銀行
              
              16,Bit32收單機(jī)構(gòu)標(biāo)識(shí)碼(Acquirer institution Identification)
              位圖位置:32
              格式:LLVAR
              類型:N..11
              描述:在金融交易中此域表示交易發(fā)生的銀行機(jī)構(gòu)的標(biāo)識(shí)碼。應(yīng)答數(shù)據(jù)包必須和請(qǐng)求數(shù)據(jù)包此域相同。
              
              17,Bit33授權(quán)機(jī)構(gòu)標(biāo)識(shí)碼(Forwarding Institution Identification Code)
              位圖位置:33
              格式:LLVAR
              類型:N..11
              描述:在金融交易中此域表示帳戶所在的銀行機(jī)構(gòu)的標(biāo)識(shí)碼
              在網(wǎng)管交易800/810中,本域含有交易發(fā)起機(jī)構(gòu)的代碼。 應(yīng)答數(shù)據(jù)包必須和請(qǐng)求數(shù)據(jù)包此域相同。
              
              18,Bit35二磁道數(shù)據(jù)(Track 2 Data)
              位圖位置:35
              格式:LLVAR
              類型:Z..37
              描述:寫在卡二磁道的數(shù)據(jù)。數(shù)據(jù)組成遵循ISO7811-1985標(biāo)準(zhǔn),數(shù)據(jù)中包含域分隔符,但不包含卡啟始、結(jié)束符、LRC等。
              收卡行應(yīng)檢測(cè)卡的二磁道是否符合國(guó)際標(biāo)準(zhǔn)。
              為支持國(guó)際交換收單行應(yīng)將二磁道中的分隔符換為“=”。除此外不能對(duì)二磁道數(shù)據(jù)進(jìn)行任何修改,如修改PAN的校驗(yàn)字、有效期、服務(wù)碼等。
              
              19,Bit36三磁道數(shù)據(jù)(Track 3 Data)
              位圖位置:36
              格式:LLLVAR
              類型:Z...104
              描述:寫在卡三磁道的數(shù)據(jù)。數(shù)據(jù)應(yīng)組成遵循ISO4909標(biāo)準(zhǔn),數(shù)據(jù)中包含域分隔符,但不包含卡啟始、結(jié)束符、LRC等。
              注意:長(zhǎng)度說(shuō)明為3位數(shù)字長(zhǎng)。
              
              20,Bit37檢索索引號(hào)(Retrieval Reference Number)
              位圖位置:37
              格式:定長(zhǎng)
              類型:AN12
              描述:檢索索引號(hào)用來(lái)在任何時(shí)間標(biāo)識(shí)一個(gè)金融、授權(quán)、自動(dòng)沖正交易。
              檢索索引號(hào)不要求打印在持卡人的帳單上。它的主要目的是在收單行和授權(quán)行之間定義一個(gè)數(shù)據(jù)項(xiàng)用于跟蹤和檢索交易。授權(quán)機(jī)構(gòu)可以將檢索索引號(hào)打印在客戶的對(duì)帳單上。
              檢索索引號(hào)由收單行分配。
              選用條件:可包含在收單機(jī)構(gòu)的交易請(qǐng)求中。如在交易請(qǐng)求中有,則應(yīng)答數(shù)據(jù)中一定應(yīng)原樣返回。

              21,Bit38授權(quán)碼(Authorization Identification)
              位圖位置:38
              格式:定長(zhǎng)
              類型:AN6
              描述:交易授權(quán)機(jī)構(gòu)返回的返回代碼。
              授權(quán)碼用于在服務(wù)點(diǎn)終端上信用卡授權(quán);
              授權(quán)機(jī)構(gòu)按網(wǎng)絡(luò)操作規(guī)定,可選使用本域。
              
              22,Bit39返回碼(Response Code)
              位圖位置:39
              格式:定長(zhǎng)
              類型:AN2
              描述:對(duì)一交易定義其處理結(jié)果的編碼。
              返回碼用于說(shuō)明授權(quán)機(jī)構(gòu)對(duì)金融(授權(quán))交易的處理狀態(tài);也用來(lái)指明自動(dòng)沖正交易的沖正原因;還用來(lái)指出目標(biāo)主機(jī)已接收到文件修改、結(jié)算、管理、網(wǎng)管等交易請(qǐng)求。
              返回碼應(yīng)盡可能準(zhǔn)確,應(yīng)盡可能描述清楚所遇到的問(wèn)題和狀態(tài)。網(wǎng)絡(luò)交換主機(jī)、收單行主機(jī)有可能會(huì)按不同的返回碼收取不同的交易處理費(fèi)用,并執(zhí)行不同的處理過(guò)程。

              23,Bit41收卡單位終端標(biāo)識(shí)碼(Card Acceptor Terminal Identification)
              位圖位置:41
              格式:定長(zhǎng)
              類型:ANS8
              描述:定義在收單單位中定義一個(gè)服務(wù)終端的標(biāo)識(shí)碼,在同一商戶中服務(wù)終端標(biāo)識(shí)碼應(yīng)唯一。
              
              24,Bit42收卡商戶定義碼(Card Acceptor Identification Code)
              位圖位置:42
              格式:定長(zhǎng)
              類型:ANS15
              描述:在本地和網(wǎng)絡(luò)中定義交易單位(商戶)的編碼。
              
              25,Bit43收卡商戶位置(Card Acceptor Location)
              位圖位置:43
              格式:定長(zhǎng)
              類型:ANS40
              描述:在本地和網(wǎng)絡(luò)中定義收卡單位(商戶)的國(guó)家、省。城市等。
              選用條件:如對(duì)外卡網(wǎng)絡(luò),一定要包含此域。
              
              26,Bit44附加返回?cái)?shù)據(jù)(Additional ResponseData)
              位圖位置:44
              格式:LLVAR
              類型:ANS..25
              描述:在金融(授權(quán))交易中授權(quán)機(jī)構(gòu)返回的其他信息。
              
              27,Bit48附加數(shù)據(jù)-私用(Additional Data-Private)
              位圖位置:48
              格式:LLLVAR
              類型:ANS...999
              描述:銀行電子服務(wù)系統(tǒng)使用此域作以下用途
              存放批量查詢的返回?cái)?shù)據(jù)
              其格式與輸出格式表對(duì)應(yīng)
              
              28,Bit49交易貨幣代碼(Currency Code,Transaction)
              位圖位置:49
              格式:定長(zhǎng)
              類型:AN3
              描述:按ISO4217定義的交易貨幣代碼,用來(lái)表示“交易金額”(field04)所用的貨幣種類。
              交易貨幣代碼是指在收單單位進(jìn)行交易所用的交易種類。
              
              29,Bit50結(jié)算貨幣代碼(Currency Code,Settlement)
              位圖位置:50
              格式:定長(zhǎng)
              類型:AN3
              描述:按ISO4217定義的結(jié)算貨幣代碼,用來(lái)表示結(jié)算金額、結(jié)算處理費(fèi)、結(jié)算交易費(fèi)等所用的貨幣種類。
              結(jié)算貨幣代碼是指在進(jìn)行結(jié)算和清算過(guò)程中所用的貨幣種類。
              
              30,Bit52用戶密碼(PIN)數(shù)據(jù)(PIN Data)
              位圖位置:52
              格式:定長(zhǎng)
              類型:B16
              描述:用戶在服務(wù)終端上交易用于識(shí)別用戶合法性的一些數(shù)字。
              PIN在分行主機(jī)用分行主機(jī)密鑰按ANSIX9.8標(biāo)準(zhǔn)加密,形成密文塊。
              選用條件:如果在終端上輸入了密碼,就需要此域。
              
              31,Bit53密碼相關(guān)控制信息(Security Related Control)
              位圖位置:53
              格式:定長(zhǎng)
              類型:AN16
              描述:本域提供有關(guān)密碼塊的附加信息,用于指出用于PIN計(jì)算的PIN key,用于MAC計(jì)算的MAC key。
              本域格式如下表所示:
              0-1格式代碼2N“20”
              2-3PIN加密算法2N“01”:DES
              4-5密文塊格式2N“01”:ANSI
              6PIN密鑰索引1N‘1’或‘2’
              7MAC密鑰索引1N‘1’或‘2’
              8-11MAC檢查數(shù)據(jù)4B
              12-15填充4N

              在BOC信用卡網(wǎng)絡(luò)中PIN和MAC各使用兩個(gè)密鑰---'1'號(hào)和'2'密鑰,交易中計(jì)算PIN和MAC時(shí)只能各用某一個(gè)KEY,同時(shí)需將所用的KEY索引號(hào)填寫此域。 選用條件:如果有PIN域或MAC域,一定需有此域。

              32,Bit54附加金額(Additional Amounts)
              位圖位置:54
              格式:LLLVAR
              類型:ANS...120
              描述:此域由授權(quán)行主機(jī)將客戶的余額返回給收單終端,以顯示或打印在客戶回單上。
              在此域中最多可有6個(gè)余額返回,每個(gè)余額返回格式如下:
              位置描述
              0-1處理碼3-4或5-6位定義的帳號(hào)類型
              2-3金額類型:01-帳戶金額
              02-可用金額
              03-擁有金額
              04-應(yīng)付金額
              40-可用取款限額
              56-可用轉(zhuǎn)帳限額
              4-6金額的貨幣代碼
              7‘D’-借記金額,’C’-貸記金額
              8-19余額數(shù)目
              
              六個(gè)余額中必須返回可用余額,在ATM、POS上顯示可用余額
              
              33,Bit64信息確認(rèn)碼(MAC)
              位圖位置:64
              格式:定長(zhǎng)
              類型:B16
              描述:數(shù)據(jù)包的最后一個(gè)域,用于驗(yàn)證信息來(lái)源的合法性,以及數(shù)據(jù)包中數(shù)據(jù)是否未被篡改。
              MAC的計(jì)算參ANSIX.99,(最后八字節(jié)未滿八位者左補(bǔ)零,右補(bǔ)零?)
              為提高效率,在發(fā)送者和接收者之間,只有以下一些重要的域參加MAC的計(jì)算。數(shù)據(jù)包中如果存在以下數(shù)據(jù)域,它們將參加MAC的計(jì)算。
              
              1位圖域名
              2基本帳號(hào)
              3處理代碼
              4交易金額
              11系統(tǒng)跟蹤號(hào)
              12本地交易時(shí)間
              13本地交易日期
              32收單機(jī)構(gòu)代碼
              38授權(quán)碼
              39返回碼
              41收單終端代碼
              49交易貨幣代碼
              95替換金額
              選用條件:只使用了1-64域的數(shù)據(jù)包使用此域。
              
              34,Bit70管理信息碼(System Management Indormation Code)
              位圖位置:70
              格式:定長(zhǎng)
              類型:N3
              描述:
              
              用于定義和維護(hù)銀行電子服務(wù)系統(tǒng)內(nèi)部通訊網(wǎng)絡(luò)狀態(tài)和應(yīng)用工作狀態(tài)。
              網(wǎng)絡(luò)管理信息代碼用于管理清算日期"cutoff",通訊"sign on/sign off","key exchange"等。
              支持以下一些網(wǎng)絡(luò)管理信息碼
              NMIC網(wǎng)絡(luò)管理信息碼動(dòng)作
              001簽到(Sign on)
              002簽退(Sign off)
              101交換密鑰(Key exchange)
              201結(jié)帳日期切換(Cutoff)
              202結(jié)帳日期切換完成
              301測(cè)試(Echo test)
              
              35,Bit74貸記交易筆數(shù)(Transaction Number)
              位圖位置:74
              格式:定長(zhǎng)
              類型:N10
              描述:貸記金融交易總的成功交易次數(shù)
              CYBERBANK軟件在收到如下一個(gè)處理代碼時(shí)會(huì)增加貸記交易次數(shù)。
              交易碼交易服務(wù)
              00貸記,購(gòu)物與服務(wù)
              01貸記,取現(xiàn)
              02貸記,調(diào)整(客戶調(diào)整)
              
              36,Bit75貸記自動(dòng)沖正交易筆數(shù)(Credits,Reversal Number)
              位圖位置:75
              格式:定長(zhǎng)
              類型:N10
              描述:貸記收單行自動(dòng)沖正、“ChargeBack"等交易總的交易次數(shù)
              CYBERBANK軟件在收到如下一個(gè)處理代碼時(shí)會(huì)增加貸記自動(dòng)沖正交易筆數(shù)
              交易碼交易服務(wù)
              20貸記,退貨
              21貸記,存款
              22貸記,調(diào)整(客戶修改)
              
              37,Bit76借記交易筆數(shù)(Debits,Number)
              位圖位置:76
              格式:定長(zhǎng)
              類型:N10
              描述:借記金融交易總的成功交易次數(shù)
              CYBERBANK軟件在收到如下一個(gè)處理代碼時(shí)會(huì)增加借記交易次數(shù)。
              交易碼交易服務(wù)
              00借記,購(gòu)物與服務(wù)
              01借記,取現(xiàn)
              02借記,調(diào)整(客戶調(diào)整)
              
              38,Bit77借記自動(dòng)沖正交易筆數(shù)(Debits,Reversal Number)
              位圖位置:77
              格式:定長(zhǎng)
              類型:N10
              描述:借記收單行自動(dòng)沖正、“ChargeBack"等交易總的交易次數(shù)
              CYBERBANK軟件在收到如下一個(gè)處理代碼時(shí)會(huì)增加借記重發(fā)交易次數(shù),并在清算表報(bào)中反映。
              交易碼交易服務(wù)
              20借記(!!!),退貨
              21借記,存款
              22借記,調(diào)整(客戶修改)
              
              39,Bit78轉(zhuǎn)帳交易筆數(shù)(Transfers,Number)
              位圖位置:78
              格式:定長(zhǎng)
              類型:N10
              描述:轉(zhuǎn)帳的交易總次數(shù)。
              系統(tǒng)在收到如下一個(gè)處理代碼的金融交易時(shí)會(huì)增加轉(zhuǎn)帳交易的次數(shù)。
              交易碼交易服務(wù)
              40客戶相關(guān)帳戶間轉(zhuǎn)帳
              
              40,Bit79轉(zhuǎn)帳自動(dòng)沖正交易筆數(shù)(Transfers,Reversal Number)
              位圖位置:79
              格式:定長(zhǎng)
              類型:N10
              描述:轉(zhuǎn)帳的自動(dòng)沖正交易總次數(shù)。
              系統(tǒng)在收到如下一個(gè)處理代碼的自動(dòng)沖正交易時(shí)會(huì)增加轉(zhuǎn)帳自動(dòng)沖正交易的次數(shù)。
              交易碼交易服務(wù)
              40客戶相關(guān)帳戶間轉(zhuǎn)帳
              
              41,Bit80查詢交易筆數(shù)(Inquiries,Number)
              位圖位置:80
              格式:定長(zhǎng)
              類型:N10
              描述:成功的查詢交易次數(shù)。
              系統(tǒng)軟件在收到如下一個(gè)處理代碼時(shí)會(huì)增加查詢交易次數(shù)。
              交易碼交易服務(wù)
              30查詢可用金額
              
              42,Bit81授權(quán)交易筆數(shù)(Authorization,Number)
              位圖位置:81
              格式:定長(zhǎng)
              類型:N10
              描述:成功的授權(quán)交易總額
              在收到一個(gè)授權(quán)交易時(shí)系統(tǒng)將授權(quán)交易筆數(shù)加一。
              
              43,Bit83貸記交易費(fèi)金額(Credits,Transaction FeeAmount)
              位圖位置:83
              格式:定長(zhǎng)
              類型:N12
              描述:凈交易費(fèi)用,如交易金額為正。
              
              44,Bit85借記交易費(fèi)金額(Debits,Transaction FeeAmount)
              位圖位置:85
              格式:定長(zhǎng)
              類型:N12
              描述:凈交易費(fèi)用,如交易金額為負(fù)。
              
              45,Bit86貸記交易金額(Credits,Amount)
              位圖位置:86
              格式:定長(zhǎng)
              類型:N16
              描述:貸記金融交易總的交易金額,不含任何費(fèi)用。
              系統(tǒng)在收到如下一個(gè)處理代碼時(shí)會(huì)增加貸記交易金額,并在清算表報(bào)中反映。
              交易碼交易服務(wù)
              20貸記,退貨
              21貸記,存款
              22貸記,調(diào)整(客戶修改)
              
              46,Bit87貸記自動(dòng)沖正金額(Credits,Reversal Amount)
              位圖位置:87
              格式:定長(zhǎng)
              類型:N16
              描述:信用卡自動(dòng)沖正交易的總金額,不含任何費(fèi)用。
              
              47,Bit88借記交易金額(Debits,Amount)
              位圖位置:88
              格式:定長(zhǎng)
              類型:N16
              描述:借記金融交易總的交易金額,不含任何費(fèi)用。
              系統(tǒng)在收到如下一個(gè)處理代碼時(shí)會(huì)增加借記交易金額,并在清算表報(bào)中反映。
              交易碼交易服務(wù)
              00借記,購(gòu)物與服務(wù)
              01借記,取現(xiàn)
              02借記,調(diào)整(客戶調(diào)整)
              
              48,Bit89借記自動(dòng)沖正交易金額(Debits,Reversal Amount)
              位圖位置:89
              格式:定長(zhǎng)
              類型:N16
              描述:借記自動(dòng)沖正交易的總金額,不含任何費(fèi)用。
              
              49,Bit90原交易的數(shù)據(jù)元素(Original Data Elements)
              位圖位置:90
              格式:定長(zhǎng)
              類型:N42
              描述:存放原交易的一些數(shù)據(jù),用于修改或自動(dòng)沖正。
              數(shù)據(jù)由以下五部分組成:
              位置描述
              1-4信息類型碼
              設(shè)為原交易的信息類型代碼
              5-10系統(tǒng)跟蹤號(hào)
              原交易系統(tǒng)跟蹤號(hào)
              11-20交易日期和時(shí)間
              原交易的交易日期和時(shí)間
              21-31原收單機(jī)構(gòu)
              原交易的收單機(jī)構(gòu)
              不足11位的機(jī)構(gòu)代碼,左補(bǔ)‘0’
              32-42原向前機(jī)構(gòu)
              原交易的收單機(jī)構(gòu)
              不足11位的機(jī)構(gòu)代碼,左補(bǔ)‘0’
              
              50,Bit91文件修改編碼(File Update Code)
              位圖位置:91
              格式:定長(zhǎng)
              類型:AN1
              描述:用此域指示某文件怎樣維護(hù)。
              CYBERBANK支持以下一些修改代碼:
              1增加記錄
              2改變記錄
              3刪除記錄
              5查詢
              7增加文件
              
              選用條件:
              
              51,Bit94服務(wù)指示碼(Service Indicator)
              位圖位置:94
              格式:定長(zhǎng)
              類型:AN7
              描述:指示文件修改服務(wù)。
              
              選用條件:
              
              52,Bit95代替金額(Replacement Amounts)
              位圖位置:95
              格式:定長(zhǎng)
              類型:N42!!!
              描述:客戶修改或部分取消已完成的交易,最后實(shí)際發(fā)生的交易金額,
              交易的原交易金額存放在90域。
              本域由以下4部分組成
              Sub-ElementAmountAttribute
              交易實(shí)際金額N12
              結(jié)算實(shí)際金額N12
              實(shí)際交易費(fèi)用X+N8
              實(shí)際結(jié)算費(fèi)用X+N8
              
              53,Bit97凈結(jié)算金額(Net Settlement Amount)
              位圖位置:97
              格式:定長(zhǎng)
              類型:X+N16
              描述:此域?yàn)閮艚Y(jié)帳金額。
              502交易中用于發(fā)送當(dāng)天的凈結(jié)算金額
              例:“C0000000020000000”,表示貸方('+'?)200000.00元。
              “D0000000020000000”,表示借方('-'?)200000.00元。
              
              
              54,Bit99結(jié)算機(jī)構(gòu)碼(Settlement Institution Identification)
              位圖位置:99
              格式:LLVAR
              類型:N..11
              描述:此域存放接收清算信息的機(jī)構(gòu)代碼。
              返回?cái)?shù)據(jù)包此域必須和請(qǐng)求數(shù)據(jù)包一致。
              
              55,Bit100接收機(jī)構(gòu)碼(Receiving Institution Identification)
              位圖位置:100
              格式:LLVAR
              類型:N..11
              描述:金融交易此域存放授權(quán)機(jī)構(gòu)代碼。
              網(wǎng)管類交易,800/820交易,此域存放請(qǐng)求的目的機(jī)構(gòu)代碼。
              返回?cái)?shù)據(jù)包此域必須和請(qǐng)求數(shù)據(jù)包一致。
              
              56,Bit101文件名(FileName)
              位圖位置:101
              格式:LLVAR
              類型:ANS..17
              描述:發(fā)送機(jī)構(gòu)設(shè)置的文件名。
              
              57,Bit102帳號(hào)1(Account Identification1)
              位圖位置:102
              格式:LLVAR
              類型:ANS..28
              描述:一個(gè)特定的客戶帳號(hào)。帳號(hào)1用來(lái)描述受借記、轉(zhuǎn)出、支付等交易影響的帳戶。
              選用條件:轉(zhuǎn)帳時(shí)使用。
              
              58,Bit103帳號(hào)2(Account Identiication2)
              位圖位置:103
              格式:LLVAR
              類型:ANS..28
              描述:交易的補(bǔ)充信息,如:第二貨幣號(hào)、利率代碼、起止日期等。
              定義如下表
              0000000000000000000000000000000000000000000000000
              位置長(zhǎng)度描述
              00-2122帳戶
              22-276發(fā)卡機(jī)構(gòu)號(hào)
              
              如果此域存在,將按此機(jī)構(gòu)代碼作為路由信息。
              選用條件:機(jī)構(gòu)間轉(zhuǎn)帳時(shí)使用。
              
              
              60,Bit123新密碼數(shù)據(jù)(New PIN Data)
              位圖位置:123
              格式:LLLVAR
              類型:B...16
              描述:修改密碼交易時(shí)存放新密碼。
              格式參考52域
              選用條件:修改密碼交易時(shí)必須有此域。
              
              61,Bit128信息確認(rèn)碼(MAC)
              位圖位置:128
              格式:定長(zhǎng)
              類型:B16
              描述:數(shù)據(jù)包的最后一個(gè)域,用于驗(yàn)證信息來(lái)源的合法性,以及數(shù)據(jù)包中數(shù)據(jù)是否未被篡改。
              MAC的計(jì)算參ANSIX.99
              為提高效率,在發(fā)送者和接收者之間,只有以下一些重要的域參加MAC的計(jì)算。數(shù)據(jù)包中如果存在以下數(shù)據(jù)域,它們將參加MAC的計(jì)算。
              
              位圖域名
              2基本帳號(hào)
              3處理代碼
              4交易金額
              11系統(tǒng)跟蹤號(hào)
              12本地交易時(shí)間
              13本地交易日期
              32收單機(jī)構(gòu)代碼
              38授權(quán)碼
              39返回碼
              41收單終端代碼
              49交易貨幣代碼
              95替換金額
              
              選用條件:使用65-128數(shù)據(jù)域的數(shù)據(jù)包需使用此域。

              typedef struct
              {
                long  sync_counter;
                char  keytype;
              } AB8583_Security_Ctrl_Info;
              
              typedef struct
              {
                char  length[4];
                struct
                {
                  char  account_type[3];
                  char  amount_type[3];
                  char  currency_code[4];
                  double amount;
                } ledger_balance_amount;
                
                struct
                {
                  char  account_type[3];
                  char  amount_type[3];
                  char  currency_code[4];
                  double amount;
                } available_balance_amount;
              } AB8583_Balance_Amount;
              
              typedef struct
              {
                  char  encryption_key_used;
                  char  mac_key_used;
                  char  message_effect;
                  char  no_of_unlogged_txns;
              } AB8583_Message_Indicator;
              
              typedef struct
              {
                  char  auth_function_code;
                  char  auth_mode;
                  char  auth_id_response_code[7];
                  char  service_business_code[5];
                  char  invoice_number[11];
              } AB8583_Auth_Operation_Code;
              
              typedef struct
              {
                  char  org_message_type[5];
                  char  org_system_trace_number[7];
                  char  org_transaction_date_time[11];
                  char  org_acqr_inst_id_code[12];
                  char  ora_forw_inst_id_code[12];
              } AB8583_Original_Data_Elements;
              
              typedef struct
              {
                  double actual_amount_of_transaction;
                  double actual_amount_of_settlement;
                  double actual_amount_of_transaction_fee;
                  double actual_amount_of_settlement_fee;
              } AB8583_Replacement_Amounts;
              
              
              BIT DATA_NAME TYPE
              typedef struct
              {
                char  message_type[5];
                /***
                MESSAGE_TYPE_IDENTIFICATION N4
                0100 授權(quán)類請(qǐng)求消息(授權(quán),撤消授權(quán),余額查詢)
                0110 授權(quán)類應(yīng)答消息(授權(quán),撤消授權(quán),余額查詢)
                0200 金融類請(qǐng)求消息(取款,存款,消費(fèi),退款)
                0210 金融類應(yīng)答消息(取款,存款,消費(fèi),退款)
                0420 沖正類報(bào)告消息(取款,存款,消費(fèi),退款,授權(quán))
                0430 沖正類應(yīng)答消息(取款,存款,消費(fèi),退款,授權(quán))
                0524 對(duì)帳類報(bào)告消息(ATM結(jié)算對(duì)帳,POS結(jié)算對(duì)帳)
                0534 對(duì)帳類應(yīng)答消息(ATM結(jié)算對(duì)帳,POS結(jié)算對(duì)帳)
                0800 網(wǎng)絡(luò)業(yè)務(wù)管理類請(qǐng)求消息(重置密鑰)
                0810 網(wǎng)絡(luò)業(yè)務(wù)管理類應(yīng)答消息(重置密鑰)
                0820 網(wǎng)絡(luò)業(yè)務(wù)管理類報(bào)告消息(狀態(tài)設(shè)置,廣播通知,申請(qǐng)重置密鑰)
                0830 網(wǎng)絡(luò)業(yè)務(wù)管理類應(yīng)答消息(狀態(tài)設(shè)置,廣播通知,申請(qǐng)重置密鑰)
                ****/
                
                char  primary_account_number[20];
                /* 2 PRIMARY_ACCOUNT_NUMBER N...19(LLVAR) */
                char  processing_code[7];
                /* 3 PROCESSING_CODE N6 */
                double amount_of_transactions;
                /* 4 AMOUNT_OF_TRANSACTIONS N12 */
                double amount_of_settlement;
                /* 5 AMOUNT_OF_SETTLEMENT N12 */
                char  transmission_date_and_time[11];
                /* 7 TRANSMISSION_DATE_AND_TIME N10 */
                long  system_trace_audit_number;
                /* 11 SYSTEM_TRACE_AUDIT_NUMBER N6 */
                char  time_of_local_transaction[7];
                /* 12 TIME_OF_LOCAL_TRANSACTION N6 */
                char  date_of_local_transaction[5];
                /* 13 DATE_OF_LOCAL_TRANSACTION N4 */
                char  date_of_settlement[5];
                /* 15 DATE_OF_SETTLEMENT N4 */
                char  date_of_capture[5];
                /* 17 DATE_OF_CAPTURE N4 */
                char  business_type[4];
                /* 18 BUSINESS_TYPE AN3 */
                char  point_of_service_entry_mode[4];
                /* 22 POINT_OF_SERVICE_ENTRY_MODE N3 */
                char  point_of_service_PIN_capture_code[3];
                /* 26 POINT_OF_SERVICE_PIN_CAPTURE_CODE N2 */
                double fee_of_transaction;
                /* 28 FEE_OF_TRANSACTION N8 */
                double fee_of_settlement;
                /* 29 FEE_OF_SETTLEMENT X+N8 */
                char  acquiring_institution_id_code[12];
                /* 32 ACQUIRING_INSTITUTION_IDENTIFICATION_CODE N..11(LLVAR) */
                char  forwarding_institution_id_code[12];
                /* 33 FORWARDING_INSTITUTION_IDENTIFICATION_CODE N..11(LLVAR) */
                char  track_2_data[38];
                /* 35 TRACK_2_DATA Z...37(LLVAR) */
                char  track_3_data[105];
                /* 36 TRACK_3_DATA Z...104(LLLVAR) */
                long  retrieval_reference_number;
                /* 37 RETRIEVAL_REFERENCE_NUMBER AN12 */
                char  auth_id_response[7];
                /* 38 AUTHORIZATION_IDENTIFICATION_RESPONSE AN6 */
                char  response_code[3];
                /* 39 RESPONSE_CODE AN2 */
                char  card_acceptor_terminal_id[9];
                /* 41 CARD_ACCEPTOR_TERMINAL_IDENTIFICATION ANS8
                前兩位的定義如下:
                51 ATM終端
                52 銀行POS
                53 商戶POS */
                char  card_acceptor_id_code[16];
                /* 42 CARD_ACCEPTOR_IDENTIFICATION_CODE ANS15 */
                char  card_acceptor_name_location[41];
                /* 43 CARD_ACCEPTOR_NAME_LOCATION ANS40 */
                char  additional_response_data[26];
                /* 44 ADDITIONAL_RESPONSE_DATA ANS..25(LLVAR) */
                char  broadcasted_message[1000];
                /* 48 BROADCASTED_MESSAGE ANS...999 */
                char  currency_code_of_transaction[4];
                /* 49 CURRENCY_CODE_OF_TRANSACTION AN3 */
                char  currency_code_of_settlement[4];
                /* 50 CURRENCY_CODE_OF_SETTLEMENT AN3 */
                char  PIN[8];
                /* 52 PIN_DATA B64 */
                AB8583_Security_Ctrl_Info  security_ctrl_info;
                /* 53 SECURITY_RELATED_CONTROL_INformATION N16
                SYNC_COUNTER N8
                密鑰同步計(jì)數(shù)器
                RESERVED N7
                KEY_TYPE N1
                1 用于交換中心和成員行機(jī)構(gòu)之間的PIN加密解密
                2 用于交換中心和成員行機(jī)構(gòu)之間的MAC計(jì)算
                3 用于成員行和終端之間的PIN加密解密 */
                AB8583_Balance_Amount  balance_amount;
                /* 54 BALANCE_AMOUNT AN43
                LENGTH N3(040)
                LEDGER_BALANCE_AMOUNT
                ACCOUNT_TYPE N2(CC=30,SC=10)
                AMOUNT_TYPE N2(01)
                CURRENCY_CODE AN3(156)
                AMOUNT X+N12
                AVAILABLE_BALANCE_AMOUNT
                ACCOUNT_TYPE N2(CC=30,SC=10)
                AMOUNT_TYPE N2(01)
                CURRENCY_CODE AN3(156)
                AMOUNT X+N12 */
                char  second_account_number[20];
                /* 55 SECOND_ACCOUNT_NUMBER N...19(LLVAR) */
                AB8583_Message_Indicator  message_indicator;
                /* 60 MESSAGE_INDICATOR N...005(LLLVAR)
                ENCRYPTION_KEY_USED N1
                PIN加密/解密所使用的密鑰標(biāo)識(shí),定義如下:
                0 不加密
                1 舊密鑰
                2 新密鑰
                MAC_KEY_USED N1
                0 不加密
                1 舊密鑰
                2 新密鑰
                MESSAGE_EFFECT N1
                0 消息用于生產(chǎn)環(huán)境
                1 消息用于測(cè)試環(huán)境
                2 ATM取款交易對(duì)帳標(biāo)志
                3 保留
                4 銀行POS取款交易對(duì)帳標(biāo)志
                5 銀行POS存款交易對(duì)帳標(biāo)志
                6 商用POS消費(fèi)交易對(duì)帳標(biāo)志
                7 商用POS退款交易對(duì)帳標(biāo)志
                NO_OF_UNLOGGED_TXNS N2 */
                AB8583_Auth_Operation_Code auth_operation_code;
                /* 61 AUTHORIZATION_OPERATION_CODE N...022(LLLVAR)
                AUTHORIZATION_FUNCTION_CODE N1
                0 授權(quán)
                1 撤消授權(quán)
                2 消費(fèi)
                3 退款
                4 取款
                5 查詢
                AUTHORIZATION_MODE N1
                0 不需授權(quán)
                1 需授權(quán)
                AUTH_ID_RESPONSE_CODE N6
                SERVICE_BUSINESS_CODE N4
                INVOICE_NUMBER N10 */
                char  authorizing_agent_institution_id_code[12];
                /* 62 AUTHORIZING_AGENT_INSTITUTION_IDENTIFICATION_CODE N...011(LLLVAR) */
                char  destination_institution_id_code[12];
                /* 63 DESTINATION_INSTITUTION_IDENTIFICATION_CODE N...011(LLLVAR)
                64 */
                char  settlement_code;
                /* 66 SETTLEMENT_CODE N1 */
                char  network_management_information_code[4];
                /* 70 NETWORK_MANAGEMENT_INformATION_CODE N3 */
                char  date_of_action[7];
                /* 73 DATE_OF_ACTION N6 */
                long  number_of_credits;
                /* 74 NUMBER_OF_CREDITS N10 */
                long  reversal_number_of_credits;
                /* 75 REVERSAL_NUMBER_OF_CREDITS N10 */
                long  number_of_debits;
                /* 76 NUMBER_OF_DEBITS N10 */
                long  revsersal_number_of_debits;
                /* 77 REVERSAL_NUMBER_OF_DEBITS N10 */
                long  number_of_transfer;
                /* 78 NUMBER_OF_TRANSFER N10 */
                long  reversal_number_of_transfer;
                /* 79 REVERSAL_NUMBER_OF_TRANSFER N10 */
                long  number_of_inquiries;
                /* 80 NUMBER_OF_INQUIRIES N10 */
                double processing_fee_amount_of_credits;
                /* 82 PROCESSING_FEE_AMOUNT_OF_CREDITS N12 */
                double processing_fee_amount_of_debits;
                /* 84 PROCESSING_FEE_AMOUNT_OF_DEBITS N12 */
                double amount_of_credits;
                /* 86 AMOUNT_OF_CREDITS N16 */
                double reversal_amount_of_credits;
                /* 87 REVERSAL_AMOUNT_OF_CREDITS N16 */
                double amount_of_debits;
                /* 88 AMOUNT_OF_DEBITS N16 */
                double reversal_amount_of_debits;
                /* 89 REVERSAL_AMOUNT_OF_DEBITS N16 */
                AB8583_Original_Data_Elements  original_data_elements;
                /* 90 ORIGINAL_DATA_ELEMENTS N42
                沖正交易所用的原始數(shù)據(jù)記錄,內(nèi)容如下:
                ORIGINAL_DATA_ELEMENTS
                ORG_MESSAGE_TYPE N4
                ORG_SYSTEM_TRACE_NUMBER N6
                ORG_TRANSACTION_DATA_TIME N10
                ORG_ACQR_INST_ID_CODE N11
                ORG_FORW_INST_ID_CODE N11 */
                AB8583_Replacement_Amounts replacement_amounts; 
                /* 95 REPLACEMENT_AMOUNTS AN42 */
                char  message_securty_code[8];
                /* 96 MESSAGE_SECURTY_CODE B64 */
                doublea mount_of_net_settlement;
                /* 97 AMOUNT_OF_NET_SETTLEMENT X+N16 */
                char  settlement_institution_id_code[12];
                /* 99 SETTLEMENT_INSTITUTION_IDENTIFICATION_CODE N...11(LLVAR) */
                char  receiveing_institution_id_code[12];
                /* 100 RECEIVEING_INSTITUTION_IDENTIFICATION_CODE N...11(LLVAR) */
                char  sender_institution_id_code[12];
                /* 120 SENDER_INSTITUTION_IDENTIFICATION_CODE N...11(LLVAR) */
                long  sender_reference_number;
                /* 121 SENDER_REFERENCE_NUMBER AN12 */
                char  MAC[8];
                /* 128 MESSAGE_AUTHENTICATION_CODE B64 */
              }
            亚洲精品乱码久久久久久久久久久久| 久久人人爽人人爽人人片AV东京热 | 色综合合久久天天给综看| 国产精品禁18久久久夂久| 久久香蕉国产线看观看精品yw| 2021国产精品久久精品| 亚洲欧美一区二区三区久久| 久久久久久久亚洲精品| 久久久久这里只有精品| 欧美性猛交xxxx免费看久久久| 久久久久亚洲爆乳少妇无| 日本久久久久久久久久| 久久亚洲中文字幕精品一区四| 人人狠狠综合88综合久久| 亚洲精品美女久久久久99小说| 色老头网站久久网| 国产成人无码精品久久久性色| 亚洲中文久久精品无码| 无码伊人66久久大杳蕉网站谷歌| 亚洲AV无码成人网站久久精品大| 漂亮人妻被黑人久久精品| 国产精品对白刺激久久久| 色综合久久综精品| 精品久久人人爽天天玩人人妻| 日韩美女18网站久久精品| 2021国产精品午夜久久| 久久青青草原精品国产| 国产亚洲婷婷香蕉久久精品| 999久久久国产精品| 伊色综合久久之综合久久| 亚洲精品高清国产一线久久| 久久亚洲欧美日本精品| 欧美一级久久久久久久大片| 久久亚洲精品成人av无码网站| 青青青青久久精品国产| 国产99久久久国产精品小说| 色偷偷88888欧美精品久久久| 91麻豆精品国产91久久久久久| 亚洲精品tv久久久久| jizzjizz国产精品久久| 亚洲国产精品狼友中文久久久|