8583協定

8583協定

8583協定是基於ISO8583報文國際標準的包格式的通訊協定,8583包最多由128個欄位域組成,每個域都有統一的規定,並有定長與變長之分。8583包前面一段為點陣圖,它是打包解包確定欄位域的關鍵代替。8583協定多在POS機的開發上使用。

基本介紹

  • 中文名:8583協定
  • 點陣圖位置:1
  • 格式:定長
  • 類型:B16(二進制16位元組,16*8=128bit
簡介,描述,域定義,域說明,附則,

簡介

ISO8583報文(簡稱8583包)又稱8583報文是一個國際標準的包格式,最多由128個欄位域組成,每個域都有統一的規定,並有定長與變長之分。
8583包前面一段為點陣圖,用來確定包的欄位域組成情況。
其中點陣圖是8583包的靈魂,它是打包解包確定欄位域的關鍵, 而了解每個欄位域的屬性則是填寫數據的基礎。在POS機的開發上時經常要用到,例如回頭客會員管理系統在POS機上的套用就是採用8583報文。

描述

描述:
如將點陣圖的第一位設為'1',表示使用擴展點陣圖(128個域),否則表示只使用基本點陣圖(64個域)。
如使用某數據域,應該在點陣圖中將相應的位設為'1',如使用41域,需將點陣圖的41位設為'1'。
如:(64個域)0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1000 0000 0000 0000 0000 0000
第41位為1
選用條件:如使用65到128域,需設點陣圖域第一位為'1'

域定義

typedef struct ISO8583
{
int bit_flag; /*域數據類型0 -- string, 1 -- int, 2 -- binary*/
char *data_name; /*域名*/
int length; /*數據域長度*/
int length_in_byte;/*實際長度(如果是變長)*/
int variable_flag; /*是否變長標誌0:否 2:2位變長, 3:3位變長*/
int datatyp; /*0 -- string, 1 -- int, 2 -- binary*/
char *data; /*存放具體值*/
int attribute; /*保留*/
} ISO8583;
ISO8583 Tbl8583[128] =
{
/* FLD 1 */ {0,"BIT MAP,EXTENDED ", 8, 0, 0, 2, NULL,0},
/* FLD 2 */ {0,"PRIMARY ACCOUNT NUMBER ", 22, 0, 2, 0, NULL,0},
/* FLD 3 */ {0,"PROCESSING CODE ", 6, 0, 0, 0, NULL,0},
/* FLD 4 */ {0,"AMOUNT, TRANSACTION ", 12, 0, 0, 1, NULL,0},
/* FLD 5 */ {0,"NO USE ", 12, 0, 0, 0, NULL,0},
/* FLD 6 */ {0,"NO USE ", 12, 0, 0, 0, NULL,0},
/* FLD 7 */ {0,"TRANSACTION DATE AND TIME ", 10, 0, 0, 0, NULL,0},
/* FLD 8 */ {0,"NO USE ", 8, 0, 0, 0, NULL,0},
/* FLD 9 */ {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},

域說明

如第二域:域名為主帳號,
數據類型為string
長度為22(最長長度不得超過此數)
是個2位變長域
由於是2位變長,在打包時需在數據域前加上數據的實際長度,如為19位,則表示為:
19+數據值(即前兩位為長度)
如第三域:域名為處理碼,
數據類型為string
長度為6
是個定長域
必須填滿6位。

附則

1,信息類型(message type)定義
點陣圖位置:-
格式:定長
類型:N4
描述:
數據包的第一部分,定義數據包的類型。
數據類型由數據包的發起者設定,應遵循以下要求:
數據包開始部分必須是信息類型;
對不支持的信息類型能給出拒絕應答。
0100授權交易
0110授權交易答覆
0200金融交易
0210金融交易答覆
0240查詢交易
0250查詢交易答覆
0400沖正交易
0410沖正交易答覆
0800管理交易
0810管理交易答覆
2,點陣圖(Bit Map) - 基本點陣圖和擴展點陣圖
點陣圖位置:1
格式:定長
類型:B16
描述:
如將點陣圖的第一位設為'1',表示使用擴展點陣圖,否則表示只使用基本點陣圖。
如使用某數據域,應在點陣圖中將相應的位設位'1',如使用41域,需將點陣圖的41位設為'1'。
選用條件:如使用65到128域,需設點陣圖域為'1'
3、Bit02主帳號(Primary Account Number)
點陣圖位置:02
格式:變長,LLVAR
類型:N..22
描述:
唯一的確認一個用戶交易的基本帳號。
由於銀行電子服務系統涉及多個套用系統,而帳號長度最多為22位,故將原標準的19長度改為22位。
處理代碼
(Processing Code)
點陣圖位置:03
格式:定長
類型:N6
描述:用於描述交易對客戶賬戶造成何種影響的代碼。
處理代碼和信息碼一起可唯一定義一種交易的類型。
處理代碼由以下三部分組成:
位置描述
1-2交易動作碼
3-4付出賬戶類型,用於借記類,如查詢、代收費、轉場交易。
5-6收入賬戶類型,用於代收費、轉帳等。
其中:
ff : 付出賬戶
tt: 收入賬戶
* 視主機而定
5,Bit04 交易金額 (Amount, Transaction)
點陣圖位置:04
格式:定長
類型:N12
描述:賬戶人要求交易的交易金額,不含任何處理和交易費用。
金額的表示和貨幣代碼有關,應能表示相應貨幣的最小單位,參ISO4217有關貨幣代碼定義。
如“000”用於表示美元,表示1.00元;如用於表示義大利貨幣,則表示100里拉
對於查詢等交易,應設交易金額為“000000000000”。
6,Bit06交易日期和時間(Transmission Date and Time)
點陣圖位置:07
格式:定長,MMDDhhmmss
類型:N10
描述:本地交易日期和時間
7,Bit11系統跟蹤號(Systems Trace Audit Number)
點陣圖位置:11
格式:定長
類型:N6
描述:終端交易的跟蹤號碼。
交易發起終端填寫,和交易日期、時間、信息類型等合在一起可唯一定義某一個終端的唯一一筆交易。即是說,在同一天,對一終端,同一類交易的系統跟蹤號應保證不同。系統跟蹤號在交易過程中不能修改,使用此域來匹配請求和通知類交易的返回。
套用系統使用此域來檢查收到的授權、金融、自動沖正、結算、管理和網管等類交易的應答包是否是其請求包的應答。
系統跟蹤號不用於匹配自動沖正交易,也不用於在預授權消費時匹配前面的預授權交易。參90域。
對於銀行電子服務系統,其系統跟蹤號是交易流水號。
8,Bit12本地交易時間(Time ,Local Transaction)
點陣圖位置:12
格式:定長,hhmmss
類型:N6
描述:交易在終端上發生的時間。
本地交易時間在交易處理過程中不能改變。在自動沖正,存貯轉發時,本地交易時間不能改變。
9,Bit13本地交易日期(Date ,Local Transaction)
點陣圖位置:13
格式:定長,MMDD
類型:N4
描述:交易在終端上發生的時間。
本地交易時間不能改變,在自動沖正、存儲轉發交易時,本地交易時間也不能改變。
10,Bit14有效期(Date ,Expiration)
點陣圖位置:14
格式:定長,YYMM
類型:N4
描述:卡的有效期,年年月月
由於卡類寫磁格式不同,收單行可能提不出卡的有效期,授權機構從卡的二磁軌中提取卡的有效期。如卡無二磁軌,收單行應要求手工錄入卡的有效期。
選用條件:100、200、400等交易如沒有2、3磁軌時,一定要有此域。
11,Bit15結算日期(Date ,Settlement)
點陣圖位置:15
格式:定長,MMDD
類型:N4
描述:
銀行電子服務系統和主機結算的時間,格式月月日日。
結帳日期前發生的交易參加當天結算。
在結算時,結帳日期也用於計算處理、交易費用。
12,Bit17獲取日期(Date ,Capture)
點陣圖位置:17
格式:定長,MMDD
類型:N4
描述:從主機獲取交易的記帳日期,通常用於主機和商戶清算。
13,Bit18商戶類型(Merchant's Type)
點陣圖位置:18
格式:定長
類型:N4
描述:定義商戶產品和服務類型的代碼
商戶類型用於金融、授權交易,用於指定服務點的類型。它主要有以下用途:
決定預授權交易得到確認的最長時間;
控制合法限額;
為交易授權處理,控制網路操作規則;
欺詐檢測;
用於商戶分類報表;
交易費用處理。
根據ISO8583標準,應使用相應的國家標準。
商戶類型代碼如下:
4215郵遞服務
4511民航
4722旅遊
4782過橋費
4789其他運輸服務
4614電信服務
5542加油站
5812餐館
5999購物
6010金融機構-人工現金支付
6011金融機構-自動現金支付
6012金融機構-各類服務
7011酒店、旅館
7299各類個人服務:洗衣、美容、
7399各類商業服務:停車場、租車、廣告、其他服務
7699各類維修服務:維修、洗車、拖車
7996娛樂:電影、劇院、體育、遊戲
8099醫療服務
8111法律服務
8999各類專業服務:會計、教育、裝修、工程
選用條件:服務點終端發起的交易一定要有此域。
14,Bit22服務點輸入方式(Point-of-Service Entry Mode)
點陣圖位置:22
格式:定長
類型:N3
描述:在服務終端上定義PIN和PAN的輸入方式。
服務點輸入方式包含以下兩個方面組合而成:
位置描述
1-2在服務終端上PAN有效期輸入方式
3-3在服務終端上PIN的輸入方式
PAN的輸入方式編碼如下:
PAN輸入方式描述
00不知
01手工
02讀磁卡
03條碼掃瞄器(BAR)
04光學符號閱讀器(OCR)
05積體電路卡(IC卡)
PIN的輸入方式編碼如下:
PIN輸入方式描述
0不知
1終端能接收PIN
2終端不能接收PIN
選用條件:服務點終端發起的交易一定要有此域。
15,Bit25服務點類型代碼(Point-of-Service Condition Code)
點陣圖位置:25
格式:定長
類型:N2
描述:定義交易發生的服務點類型
用法說明:下面是CYBERBANK支持的服務點條件代碼。
2自動櫃員機(ATM)
10銀行終端(10)
14POS
20電話銀行
16,Bit32收單機構標識碼(Acquirer institution Identification)
點陣圖位置:32
格式:LLVAR
類型:N..11
描述:在金融交易中此域表示交易發生的銀行機構的標識碼
應答數據包必須和請求數據包此域相同。
17,Bit3向前機構標識碼(Forwarding Institution Identification Code)
點陣圖位置:33
格式:LLVAR
類型:N..11
描述:在金融交易中此域表示賬戶所在的銀行機構的標識碼
在網管交易800/810中,本域含有交易發起機構的代碼。
應答數據包必須和請求數據包此域相同。
18,Bit35二磁軌數據(Track 2 Data)
點陣圖位置:35
格式:LLVAR
類型:Z..37
描述:寫在卡二磁軌的數據。數據組成遵循ISO7811-1985標準,數據中包含域分隔設定,但不包含卡啟始、結束符、LRC等。
收卡行應檢測卡的二磁軌是否符合國際標準。
為支持國際交換收單行應將二磁軌中的分隔設定換為“=”。除此外不能對二磁軌數據進行任何修改,如修改PAN的校驗字、有效期、服務碼等。
19,Bit36三磁軌數據(Track 3 Data)
點陣圖位置:36
格式:LLLVAR
類型:Z...104
描述:寫在卡三磁軌的數據。數據應組成遵循ISO4909標準,數據中包含域分隔設定,但不包含卡啟始、結束符、LRC等。
注意:長度說明為3位數字長。
20,Bit37檢索索引號(Retrieval Reference Number)
點陣圖位置:37
格式:定長
類型:AN12
描述:檢索索引號用來在任何時間標識一個金融、授權、自動沖正交易。
檢索索引號不要求列印在持卡人的帳單上。它的主要目的是在收單行和授權行之間定義一個數據項用於跟蹤和檢索交易。授權機構可以將檢索索引號列印在客戶的對帳單上。
檢索索引號由收單行分配。
選用條件:可包含在收單機構的交易請求中。如在交易請求中有,則應答數據中一定應原樣返回。
21,Bit38授權碼(Authorization Identification)
點陣圖位置:38
格式:定長
類型:AN6
描述:交易授權機構返回的返回代碼。
授權碼用於在服務點終端上信用卡授權;
授權機構按網路操作規定,可選使用本域。
22,Bit39返回碼(Response Code)
點陣圖位置:39
格式:定長
類型:AN2
描述:對一交易定義其處理結果的編碼。
返回碼用於說明授權機構對金融(授權)交易的處理狀態;也用來指明自動沖正交易的沖正原因;還用來指出目標主機已接收到檔案修改、結算、管理、網管等交易請求。
返回碼應儘可能準確,應儘可能描述清楚所遇到的問題和狀態。網路交換主機、收單行主機有可能會按不同的返回碼收取不同的交易處理費用,並執行不同的處理。
23 域41 受卡機終端標識碼
Card Acceptor Terminal Identification
變數屬性
ans8,8位定長的字母、數字和特殊字元
域描述
受卡機的終端標識碼。該標識碼在代理機構的網路中必須唯一標識一個終端。
用法
如果終端標識碼少於八位,則按左靠,右邊補空格。
終端標識碼由代理機構分發。所有卡交易請求中必須帶上終端標識碼,且在整個交易周期中保持不變。
24 域42 受卡方標識碼
Card Acceptor Identification Code
變數屬性
ans15,15位定長的字母、數字和特殊字元
域描述
受卡方的標識碼,即商戶代碼。
用法
由受理方分發。對所有卡交易的請求報文,該域必須要出現,且在整個交易周期中保持不變。
對於一些自助類的交易,例如ATM取現,在沒有商戶或無法給出有意義的值的情況下,該域用全零填充。
25 域43 受卡方名稱地址
Card Acceptor Name/Location
變數屬性
ans40,40位定長的字母、數字和特殊字元
域描述
受卡方的名稱地址,即商戶的名稱和所在地。
用法
由受理方或商戶填入,CUPS不作任何處理。對所有卡交易的請求報文,該域必須出現,且在整個交易周期中保持不變。
商戶名稱最多40個位元組長度,如少於40個位元組長度,則後補空格。
26 域44 附加回響數據
Additional Response Data
變數屬性
ans..25(LLVAR),2個位元組的長度值+最大25個位元組(字母、數字和特殊字元)的附加回響數據
域描述
發卡方對被批准交易所分配的標識。
此域可以被發卡方用來標識原始交易。
用法
發卡方的附加回響數據必須為有效字元。由發卡方在批准交易時載入應答報文。受理方和CUPS將不對此域作處理。
本域為可選域。
如果已收到發卡方批准的應答報文後又需要引發沖正,則將匹配到原始應答報文中該域的值帶給發卡方。
27 域45 第一磁軌數據
Track 1 data
變數屬性
z..79(LLVAR),2個位元組的長度值+最大79個位元組(字元)的第一磁軌數據
域描述
卡上第一磁軌數據。包括分隔設定,但不包括開始符和結束符,以及LRC字元。
28 域48 附加數據-私有
Additional Data Private
變數屬性
ansb...512(LLLVAR),3個位元組的長度值+最大512個位元組(字母、數字、特殊字元、二進制數)的私有附加數據
域描述
該域為特殊業務在請求報文中提供特殊業務數據的傳送。
29 域49 交易貨幣代碼
Currency Code, Transaction
變數屬性
an3,3位定長的字母、數字字元
域描述
指第4域(交易金額)所用貨幣的種類。30 域50 清算貨幣代碼
Currency Code, Settlement
變數屬性
an3, 3位定長的字母、數字字元
域描述
清算貨幣的種類。用於指示域5(清算金額)的貨幣幣種。
在銀聯自主清算的銀聯卡跨境交易中,本域由CUPS填寫;在銀聯非自主清算的外卡收單交易中本域由國際信用卡公司填寫。。

相關詞條

熱門詞條

聯絡我們