⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isoredef.h

📁 ISO 8583 implementation.
💻 H
📖 第 1 页 / 共 3 页
字号:
//
// IT24 SISTEMAS S.A.
// ISO-8583 Structures Redefinitions Header
// Automated Teller Machines (ATM) , Point of Sale (POS) for BASE24 Release 4 and 6
//
// Proyecto Pago Automatico de Servicios (PAS)
// Proyecto Ultimos Movimientos (ULTMOV)
// Proyecto Administradoras de Fondos de Jubilacion y Pension (AFJP)
// Proyecto OnLine de Administracion de Tarjetas (SOAT)
//
//	 Estructuras de redefinicion de campos de mensajes ISO-8583, sin considerar la 
// longitud implicita que se informa en el buffer, ya que son solo estructuras de 
// parsing y remapeo. 
//   En base a la DDL del External-Message-Format (EMF) de Base24 Release 4.
//
// Tarea        Fecha           Autor   Observaciones
// (Inicial)    1997.11.05      mdc     Add_Ammounts/Primary_Reserved_1_ISO
// (Inicial)    1997.11.17      mdc     Secondary_Reserved_8_Private
// (Inicial)    1997.12.15      mdc     Extension Add_Ammounts
// (Inicial)    1997.12.17      mdc     Extension Primary_Reserved_1_ISO
// (Inicial)    1998.01.30      mdc     Correccion Discrecional Facturacion
// (Inicial)    1998.06.24      mdc     AFJP,ULTMOV. Primary_Reserved_2_Private.
// (Inicial)    1998.07.23      mdc     SOAT. Secondary_Reserved_7_Private.
// (Inicial)    1998.09.02      mdc     Permisos x Trx en respuesta de Logon
// (Inicial)    1998.09.09      mdc     Ampliacion del buffer del campo 126
// (Inicial)    1998.09.14      mdc     RespTxt en Logon a posteriori
// (Inicial)    1998.10.15      mdc     SystemCmd
// (Inicial)    1998.10.28      mdc     ReqResp_t agregado en forma generica
// (Alfa)       1998.12.07      mdc     Response code, field #39
// (Alfa)       1999.06.11      mdc     Logon_t agrega chPIN_Ext_1 y chPIN_Ext_2 (16 y 32 bytes) y
//                                      chQTablas (faltante en definicion original) Total=50 bytes
// (Beta)       2001.12.31      mdc     Agregadas estructuras para ATM (consulta, extraccion, xfer,...)
// (Beta)       2002.11.08      mdc     Agregados a transferencias de LIBRE DISPONIBILIDAD
// (Beta)       2003.08.14      mdc     Adelantos en cuotas, campo 126, transacciones c/cta.credito.
// (Beta)       2003.11.17      mdc     stCrdAccptNameLoc_Alt
// (Delta)      2005.07.18      mdc     NET_MGMT_CODE, FIELD70. NEW TOKENS 06, P7 & others. 
// (Delta)      2005.08.25      mdc     +PRODUCT indicator: '1'=ATM,'2'=POS...
//

#ifndef _ISOREDEF_H_
#define _ISOREDEF_H_

typedef struct Cod_Usuario_t
	{
	char chCod_Ente[3];			// Codigo de Ente
	char chCod_Usr[19];			// Codigo de Usuario
	} stCod_Usuario;            // Estructura Usuario

// PAN, field #2
typedef	struct 
		{
		char chPAN[19];				// Personnal Account Number
		} PAN, FIELD2;

// Processing Code, field #3
typedef	struct 
		{
		union uProcCde_tag {
			struct Tran_cde_tag
			{
				char chTran_Cde[2];				// Cod. Procesamiento
				char chFrom_Acct_Typ[2];		// Tipo Cta desde
				char chTo_Acct_Typ[2];			// Tipo Cta hasta
			} stTranCde;
			char chData[6];
		} uProcCde;
		char chFiller[8];				// Filler
		} PROCCDE_ISO, FIELD3;

// Tran Ammmount, field #4
typedef struct 
		{
		char chAmmount[12];
		} TRAN_AMT , FIELD4;

// Setl. Amount, field #5
typedef struct 
		{
		char chData[12]	;
		} SETL_AMT , FIELD5;

// Billing Amount, field #6
typedef struct 
		{
		char chData[12]	  ;
		} BILLING_AMT , FIELD6;

// Xmit Date Time, field #7
typedef struct 
		{
		char chMMDD[4],
			 chHHMMSS[6] ;
		} XMIT_DAT_TIM , FIELD7;

// Bill Fee, field #8
typedef struct 
		{
		char chData[8];
		} BILL_FEE , FIELD8;

// Setl. Conv. Rate, field #9
typedef struct 
		{
		char chData[8]	;
		} SETL_CONV_RATE , FIELD9;

// Bill. Conv. Rate, field #10
typedef struct 
		{
		char chData[8]	;
		} BILL_CONV_RATE , FIELD10;

// Trace num, field #11
typedef struct 
		{
		char chData[6]	;
		} TRACE_NUM , FIELD11;

// Tran. time, field #12
typedef struct 
		{
		char chHHMMSS[6]  ;
		} TRAN_TIM , FIELD12;

// Tran. date, field #13
typedef struct 
		{		
		char chMMDD[4]	; // En el manual a veces figura como "char chYYMM[4];"
		} TRAN_DAT , FIELD13;

// Exp. date, field #14
typedef struct 
		{
		char chYYMM[4]	;
		} EXP_DAT , FIELD14;

// Setl. date, field #15
typedef struct 
		{
		char chMMDD[4]	;
		} SETL_DAT , FIELD15;

// Conv. date, field #16
typedef struct 
		{
		char chMMDD[4]	;
		} CONV_DAT , FIELD16;

// Posting. date, field #17
typedef struct 
		{
		char chMMDD[4]	 ;
		} POSTING_DAT , CAP_DAT , FIELD17;

// Merchant type code, field #18
typedef struct 
		{
		char chData[4]	;
		} MRCHT_TYP_CDE , FIELD18;

// Acq. Institution country code, field #19
typedef struct 
		{
		char chData[3] ;
		} ACQ_INST_CNTRY_CDE , FIELD19;

// PAN extended country code, field #20
typedef struct 
		{
		char chData[3] ;
		} PAN_EXT_CNTRY_CDE , FIELD20;

// Frwd. Instit. country code, field #21
typedef struct 
		{
		char chData[3];
		} FRWD_INST_CNTRY_CDE , FIELD21;

// POS Entry Mode, field #22
typedef struct 
        {
		char chData[3];
		} ENTRY_MODE , FIELD22;

// Member num., field #23
typedef struct 
		{
		char chData[3] ;
		} MEMBER_NUM , FIELD23;

// Net Intl. ID, field #24
typedef struct 
		{
		char chData[3] ;
		} NETW_INTL_ID , FIELD24;

// Special cond. code, field #25
typedef struct 
		{
		char chData[2]	;
		} PT_TRAN_SPCL_CDE  , FIELD25;

// POS Pin cap. code, field #26
typedef struct 
		{
		char chData[2] ;
		} POS_PIN_CAPTURE_CDE , FIELD26;

// POS Pin cap. code, field #27
typedef struct 
		{
		char chAuthIDRespLen;
		} AUTH_ID_RESP_LEN  , FIELD27;

// Tran fee, field #28
typedef struct 
		{
		char chInd;
		char chAmmount[8];
		} TRAN_FEE , FIELD28;

// Setl. fee, field #29
typedef struct 
		{
		char chInd;
		char chAmmount[8];
		} SETL_FEE , FIELD29;

// Tran Proc. fee, field #30
typedef struct 
		{
		char chInd;
		char chAmmount[8];
		} TRAN_PROC_FEE , FIELD30;

// Setl Proc. fee, field #31
typedef struct 
		{
		char chInd;
		char chAmmount[8];
		} SETL_PROC_FEE , FIELD31;

// Acq. Inst. Id, field #32
typedef struct 
		{		
		char chNum[11];				 
		} ACQ_INST_ID , FIELD32;

// Frwrd. Inst. Id, field #33
typedef struct 
		{		
		char chNum[11];
		} FRWD_INST_ID, FIELD33;

// PAN Extended, field #34
typedef struct 
		{		
		char chNum[28];
		} PAN_EXTENDED, FIELD34;

// Track2, field #35
typedef union
	{	
	struct Track2_t
		{
		char chData[37];				// Datos en forma plana		
		char chFiller[63];				// Datos a futuro (no-ISO)
		} stTrack2;						// Estructura Track2 cruda
	struct AFJPMember_t
		{
		char chPrefix[6];				// Prefijo al Numero Afiliado
		char chMemberNumber[12];		// Numero de Afiliado o Miembro
		char chFiller[19];				// Datos a futuro
		} stAFJPMemberData;				// Estructura Num.Afiliado
	struct Track2_separator_t
		{
		char chSeparator;				// Separador
		char chData[36];				// Datos en forma plana, menos el separador inicial
		char chFiller[63];				// Datos a futuro (no-ISO)
		} stTrack2_separator;			// Estructura Track2 cruda
	} TRACK2_ISO, FIELD35;

// Track3, field #36
typedef struct
	{			
		char chNum[104];
	} TRACK3_ISO, FIELD36;

// Retrieval ref. number, field #37
typedef struct
	{			
		char chNum[12];
	} RETRVL_REF_NUM, FIELD37;

// Auth ID resp, field #38
typedef struct
	{			
		char chNum[6];
	} AUTH_ID_RESP, FIELD38;

// Response code, field #39
typedef struct Resp_Cde_t
	{
	char chRespCde[2];
	} RESP_CDE_ISO, FIELD39;

// Service restrict. code, field #40
typedef struct Service_Cde_t
	{
	char chServiceCde[3];
	} SERVICE_CDE, FIELD40;

// Term id, field #41
typedef struct Term_Id_t
	{
	char chData[16];
	} TERM_ID, FIELD41;

// Card Accpt Id code, field #42
typedef struct 
	{
	char chData[16];
	} CRD_ACCPT_ID_CDE, FIELD42;

// Card-Acceptor-Name-Loc, field #43
typedef union
	{	
	char   chData[30];					// Datos planos para  "?REVERSAL FOR LATE/UNSOLV RESP?"
	struct CrdAccptNameLoc_t
		{
		char chOwner[22];				// Propietario
		char chCity[13];				// Ciudad
		char chState[3];                // Estado-Provincia
		char chCountry[2];				// Pais
		char chFiller[8];				// Datos a futuro
		} stCrdAccptNameLoc;			// Estructura CrdAcceptorName
	struct CrdAccptNameLoc_Alt_t
		{
		char chOwner[25];				// Propietario
		char chCity[13];				// Ciudad		
		char chCountry[2];				// Pais
		char chFiller[8];				// Datos a futuro
		} stCrdAccptNameLoc_Alt ;		// Estructura CrdAcceptorName VISA alternativa
	struct AFJPMember_t
		{
		char chPrefix[3];				// Prefijo Aporte AFJP
		char chMemberNumber[12];		// Numero de Afiliado o Miembro
		char chFiller[25];				// Datos a futuro
		} stAFJPMemberData;				// Estructura Num.Afiliado
	} CRDACCPTNAMELOC_ISO, FIELD43;

// Response data, field #44
typedef union 
	{	
	char chData[25];
	struct stAvail_tag
	{
		char	chType; /* 0,1,2,3,4 o ' ' */		
		char	chOpenAmmount[12];  /* 9(10).99 : saldo apertura */
		char	chAvailAmmount[12]; /* 9(10).99 : disponible     */
	} stAvail;
	} RESP_DATA, FIELD44;

// Track1 ISO, field #45
typedef struct 
	{	
	char chNum[76];
	} TRACK1_ISO , FIELD45;

// Add data ISO, field #46
typedef struct 
	{	
	char chData[100];
	} ADD_DATA_ISO	, FIELD46;

// Add data national, field #47
typedef struct 
	{
    char chData[100];
	} ADD_DATA_NATL , FIELD47;

// Add data private, field #48
typedef union
	{
	struct {
		char chSHRG_GRP[24];
		char chTERM_TRAN_ALLOWED;
		char chTERM_ST[2];
		char chTERM_CNTY[3];
		char chTERM_CNTRY[3];
		char chTERM_RTE_GRP[11];
		char chRESERVED[56];
		} ATM;
	struct {		
		char chRETL_ID[19];
 		char chRETL_GRP[4];
 		char chRETL_REGN[4];
		char chFILLER;
		} POS;
	} ADD_DATA_PRIVATE , FIELD48;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -