複製鏈接
請複製以下鏈接發送給好友

8583協議

鎖定
8583協議是基於ISO8583報文國際標準的包格式的通訊協議,8583包最多由128個字段域組成,每個域都有統一的規定,並有定長與變長之分。8583包前面一段為位圖,它是打包解包確定字段域的關鍵代替。8583協議多在POS機的開發上使用。
中文名
8583協議
位圖位置
1
格    式
定長
類    型
B16(二進制16字節,16*8=128bit

8583協議簡介

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

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'

8583協議域定義

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},

8583協議域説明

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

8583協議附則

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填寫;在銀聯非自主清算的外卡收單交易中本域由國際信用卡公司填寫。。