📄 isoredef.h
字号:
//
// 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 + -