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

📄 isoredef.h

📁 ISO 8583 implementation.
💻 H
📖 第 1 页 / 共 3 页
字号:
					char chCod_Ente[3];
					char chCod_Usuario[19];
					char chCod_Servicio[24];
					char chDesc_Servicio[24];
					char chCant_Deudas;
					struct Deudas_Vs_t
						{
						char chNro_Opcion;
						char chFiller_1[4];
						char chCuenta[3];
						char chFiller_2;
						char chAno[2];
						char chFiller_3[18];
						} stDeudas_Vs[7];
					char chFiller[84];
					} stDeudas;
				struct EstadoAportes_t
					{
					char chEstado;
					char chResp_Cde[2];
					} stEstadoAportes;
				} stSTMT_Fld ;
			char chUser_Fld[308];
			} stSTMT;	// Estructura Statement
		} stATM_STMT ;	// Estructura ATM-Statement
	} SECRSRVD6_ISO, FIELD125;

///////////////////////////////////////////////////////////////
typedef struct CreditCardAcct_t
        { 
        char DISP_CTA_DOLAR	[12];//Disponible en cuotas en dolares.	
        char MIN_ADEL_PESOS	[12];//Monto m韓imo de adelanto en pesos.	
        union 
            {
            char MIN_ADEL_DOLAR	[12];//Monto m韓imo de adelanto en dolares.	
            char SALDO_CTA_PESOS[12];//REDEFINE MIN_ADEL_DOLAR. Saldo en pesos.			            
            } uRedefMin;
        union 
            {
            char MAX_CTA_PESOS	[12];//Monto m醲imo para adelanto en cuotas en pesos.	
            char SALDO_CTA_DOLAR[12];//REDEFINE MAX_CTA_PESOS. Saldo en dolares.	 		            
            } uRedefMax;
        char MAX_CTA_DOLAR	[12];//Monto m醲imo para adelanto en cuotas en dolares.	
        struct CUOTAS_tag
            {
	        char CANT_MAX_PESOS	[2];//Cantidad m醲ima de cuotas en pesos.	
	        char CANT_MAX_DOLAR	[2];//Cantidad m醲ima de cuotas en dolares.	
	        char FILLER		[2];		            
            } stCUOTAS;
        char TNA_PESOS	[12];//Tasa nominal anual en pesos a aplicar.	
        char TNA_DOLAR	[12];//Tasa nominal anual en dolares a aplicar.	
        char TEM_PESOS	[12];//Tasa estimada mensual en pesos a aplicar.	
        char DISP_CTA_PESOS	[12];//Disponible en cuotas en pesos.	
        char TEM_DOLAR	[12];//Tasa estimada mensual en dolares a aplicar.	
        char CANT_CTA	[2];//Cantidad de cuotas seleccionadas por el usuario.	
        union 
            {
            char TIPO_DEB ;//Flag para imputacion de pagos.	
            char TIPO_TRAN;//REDEFINE TIPO_DEB.  
                           //Flag de adelanto en cuotas. '0' _ transaccion normal'1' _ transaccion en cuotas
            } uRedefTipo;
        char NEW_PIN_DATA	[4];//Nuevo pin seleccionado por el cliente.	
        char CODIGO_BCRA	[3];//Codigo del administrador del cajero.	
        char SERVICE_CDE	[3];//Service code de la tarjeta.	
        } stCreditCardAcct;                 // Estructura para CTA CREDITO - CUOTAS
///////////////////////////////////////////////////////////////

// Secondary Reserved 7 Private , field #126
typedef union 
	{
	char chData[680];						// Datos en forma plana, sin considerar al mensaje SOAT
    ///////////////////////////////////////////////////////////////
	struct POS_t
		{
		char chPre_Auth_Hld[3];
		char chPre_Auth_Hld_SeqNum[12];
		char chRefr_Phone[20];
		char chRea_for_Chrgbck[2];
		char chNum_of_Chrgbck;			
		char chFiller[642];
		} stPOS ;						// Estructura POS
    ///////////////////////////////////////////////////////////////
	struct FhmCAFAcct_t
		{
		char chAcct_Cnt[2];
		struct Acct_t
			{
			char chTyp[2];
			char chNum[28];
			char chStat;
			char chDescr[10];
			char chCorp_PBF_Inx;
			} stAcct[16];
		char chReserved[6];
		} stFhmCAFAcct ;				// Estructura FHM CAF Acct
    ///////////////////////////////////////////////////////////////
	// Estructura para CTA CREDITO - CUOTAS
    struct CreditCardAcct_t stCreditCardAcct;                 
    ////////////////////////////////////////////////////////////////////
	struct ATM_TOKEN_t
		{
		char chHdrIndicator;					// "&"
		char chHdrFiller1;						// " "
		char chHdrQuantity[5];					// 99999
		char chHdrLength[5];					// 99999
		char chSpcIndicator;					// "!"
		char chSpcFiller1;						// " "
		char chSpcId[2];						// XX : e.g. : "06", "P7", ...
		char chSpcLength[5];					// 99999
		char chSpcFiller2;						// " "
		} stATM_TOKEN ;						// Estructura ATM TOKENS, B24R6
    ////////////////////////////////////////////////////////////////////
	} SECRSRVD7_ISO, FIELD126;


// Secondary Reserved 8 Private , field #127
typedef union 
	{
	char chData[100];					// Datos en forma plana
	union 
		{
		char chMicr_Data[43];			// Microdevice-Data 
		struct ATM_Dl_Rqst_t
			{
			char chRegnId[4];
			char chCambio_C[8];
			char chCambio_V[8];
			char chCambio_1[8];
			char chCambio_2[8];
			char chFiller[7];
			} stATM_Dl_Rqst;
		struct ATM_Dl_Resp_t
			{			
			char chCamb_Aplic;
			char chCambio_C[8];
			char chCambio_V[8];
			char chCambio_1[8];
			char chCambio_2[8];
			char chFiller[10];
			} stATM_Dl_Resp;
		struct ATM_Dl_Resp_HISO_t
			{			
			char chCambio_C[8];
			char chCambio_V[8];
			char chFiller[27];
			} stATM_Dl_Resp_HISO;
		struct ATM_AFJP_Resp_HISO_t
			{			
			char chNombre_AFJP[11];
			char chValor_Cuota_Parte[11];
			char chSdo_Anterior[12];
			char chSave_Post_Date[6];
			char chFiller[3];
			} stATM_AFJP_Resp_HISO;
		} stATM ;						// Estructura ATM
	} SECRSRVD8_ISO, FIELD127;

// Estructura contenedora de todos los campos ISO redefinidos,
// listos para usar y parsear
typedef struct APPFIELDS_tag
	{
	boolean_t bLoaded; // Indicador de campos vacios o llenos (parseados o no)
	FIELD2	field2;
	FIELD3	field3;
	FIELD4	field4;
	FIELD5	field5;
	FIELD6	field6;
	FIELD7	field7;
	FIELD8	field8;
	FIELD9	field9;
	FIELD10	field10;
	FIELD11	field11;
	FIELD12	field12;
	FIELD13	field13;
	FIELD14	field14;
	FIELD15	field15;
	FIELD16	field16;
	FIELD17	field17;
	FIELD18	field18;
	FIELD19	field19;
	FIELD20	field20;
	FIELD21	field21;
	FIELD22	field22;
	FIELD23	field23;
	FIELD24	field24;
	FIELD25	field25;
	FIELD26	field26;
	FIELD27	field27;
	FIELD28	field28;
	FIELD29	field29;
	FIELD30	field30;
	FIELD31	field31;
	FIELD32	field32;
	FIELD33	field33;
	FIELD34	field34;
	FIELD35	field35;
	FIELD36	field36;
	FIELD37	field37;
	FIELD38	field38;
	FIELD39	field39;
	FIELD40	field40;
	FIELD41	field41;
	FIELD42	field42;
	FIELD43	field43;
	FIELD44	field44;
	FIELD45	field45;
	FIELD46	field46;
	FIELD47	field47;
	FIELD48	field48;
	FIELD49	field49;
	FIELD50	field50;
	FIELD51	field51;
	FIELD52	field52;
	FIELD53	field53;
	FIELD54	field54;
	FIELD55	field55;
	FIELD56	field56;
	FIELD57	field57;
	FIELD58	field58;
	FIELD59	field59;
	FIELD60	field60;
	FIELD61	field61;
	FIELD62	field62;
	FIELD63	field63;
	FIELD64	field64;
	FIELD90	field90;
	FIELD95	field95;
	FIELD99	field99;
	FIELD100	field100;
	FIELD102	field102;
	FIELD103	field103;
	FIELD120	field120;
	FIELD122	field122;
	FIELD123	field123;
    FIELD124	field124;
	FIELD125	field125;
	FIELD126	field126;
	FIELD127	field127;
	CHAR		chPRODUCT;  // PRODUCT : '1'=ATM,'2'=POS...etc.
	} APPFIELDS ;

/* TOKENS FOR BASE24 R6.0 POS */
typedef struct stToken_04_tag {
	char ERR_FLG,
		 RTE_GRP[11],
		 CRD_VRFY_FLG,
		 CITY_EXT[5],
		 TRACK2_DATA,
		 UAF_FLAG;
} stToken_04 ;

typedef struct stToken_C0_tag {
	char CVD_FLD[4],
		 RESUB_STAT,
		 RESUB_CNTR[3],
		 TERM_POSTAL_CDE[10],
		 E_COM_FLG,
		 CMRCL_CRD_TYP,
		 ADNL_DATA_IND,
		 CVD_FLD_PRESENT,
		 SAF_OR_FORCE_POST,
		 AUTHN_COLL_IND,
		 FRD_PRN_FLAG,
		 CAVV_AAV_RSLT_CDE;
} stToken_C0 ;

typedef struct stToken_C4_tag {
	char TERM_ATTEND_IND,
		 TERM_OPER_IND,
		 TERM_LOC_IND,
		 CRDHLDER_PRESENT_IND,
		 CRD_PRESENT_IND,
		 CRD_CAPTR_IND,
		 TRX_STAT_IND,
 		 TRX_SEC_IND,
		 TRX_RTN_IND,
		 CRDHLDR_ACTVT_TERM_IND,
		 TERM_INPUT_CAP_IND,
		 CRDHLDR_ID_MTHOD;
} stToken_C4 ;

typedef struct stToken_R2_tag {
	char CANT_CUOTAS[2],
		 ENTIDAD_EMISORA[4],
		 PLAN,
		 SITUACION_IVA,
		 FOTO_FLAG,
		 NRO_FACTURA[12],
		 TIPO_ID,
		 NRO_ID[11],
		 TCC,
		 TIPO_FINANCIACION[2],
		 USER_FLD[10];
} stToken_R2 ;

typedef struct stToken_P3_tag {
	char LEN[3],
		 DATOS[199];
	char NUL;
} stToken_P3 ;

// PIN CHANGE TOKEN, BANELCO 
// HEADER : "!"	+  " "	+  "06"	+ "00052" + " "		
typedef struct stToken_06_tag {
	char NEW_PIN_FRMT, // "1"
		 NEW_PIN_OFST[16], // "0000000000000000"
		 PIN_CNT, // "1"
		 NEW_PIN_SIZE[2], // "2"
		 NEW_PIN_1[16],
		 NEW_PIN_2[16]; // "0000000000000000"
} stToken_06 ;

/* TOKENS FOR BASE24 R6.0 ATM CREDIT-CARD */
typedef struct stCreditCardAcct_tag {
	char  
	  DEUDA_DOLARES[12],	   
      DEUDA_DOLARES_CONV[12],	
      DEUDA_PESOS[12],
      PAGO_MINIMO[12],
      PAGO_PESOS[12],	    
      FECHA_VTO[6],
	  PAGO_DOLARES[12],	
	  CONSUMO_DOLARES[12],	
      CONSUMO_PESOS[12],
      DISP_ADELANTOS[12],	      
      LIM_ADELANTOS[12],	   
      CANT_ADELANTOS[2],	
      TIPO_DEBITO,     // 1= AL VENCIMIENTO, 2= EN EL D鞟
      TIPO_PAGO,       // 0=OTRO IMPORTE, 1=PAGO MINIMO, 2=PAGO SALDO, 3=PAGO TOTAL
				       // 1 O 6=EFECTIVO, 2 O 7=CHEQUE
      NEW_PIN_DATA[4],	
      CODIGO_BCRA[3],	
      SERVICE_CDE[3];	
} stCreditCardAcctRedef ;

// CREDIT CARD TOKEN, BANELCO
// HEADER : "!"	+  " "	+  "P7"	+ "00140" + " "		
typedef union stToken_P7_tag {
	stCreditCardAcct	  stCreditCard;
	stCreditCardAcctRedef stCreditCardRedef;
} stToken_P7 ;

/* TOKENS FOR BASE24 R6.0 ATM DEBIT-CARD */
// HEADER : "!"	+  " "	+  "QB"	+ "00090" + " "		
typedef struct stToken_QB_tag {
	char  
        NUMERO_CBU_1[8]  ,	
        NUMERO_CBU_2[14] ,	
        CUIT_CUIL_CDI[11], // Mantisa de 11 digitos para soportar EJ. "20-23606191-5"
        CONCEPTO         , // 1-ALQUILERES,2-CUOTA,3-ExPENSAS,4-FACTURA,5-PR镾TAMO,
                           // 6-SEGURO,7-HONORARIOS,8-VARIOS
	    TIPO_DOCUMENTO,
        TIPO_CUENTA   , // 1-CUENTA CORRIENTE PROPIA,2-CUENTA CORRIENTE NO PROPIA,
                        // 3-CAJA DE AHORRO PROPIA, 4-CAJA DE AHORRO NO PROPIA.
        IMPORTE_ACUERDO_SOBREGIRO[12],
        INDICACION_SOBREGIRO         , // "S" PRESENTE, "N" NO PRESENTE.	
        INDICACION_INTERESES         ,
        IMPORTE_INTERESES[12]        , 
        IMPORTE_COMISION[12]         ,
        INSTITUCION_TRANSFERIDA[4]   ;
		union uREF_tag
		{ 
			char REFERENCIA[12];
			struct stCREDIT_tag
			{
				char SIN_USO_1                    ,
					 DISPONIBLE[8]                ,
					 INDICACION_DISPONIBLE        ,
					 SIN_USO_2[2]                 ;
			} stCREDIT;
		} uREF;
        char NUL ;
} stToken_QB ;

// HEADER : "!"	+  " "	+  "P2"	+ "00028" + " "		
typedef struct stToken_P2_tag {
	char  
        CODIGO_EMPRESA[4]		,	
        IDENTIFICADOR_DEUDA[19] ,	
        NUMERO_CONTROL[4]       ,
		TIPO_PAGO               ;
} stToken_P2 ;

// HEADER : "!"	+  " "	+  "PC"	+ "00094" + " "		
typedef struct stToken_PC_tag {
	char  
        DATOS_RECIBO[80],	
        EMPRESA[13]     ,	
        SIN_USO[1]      ;
} stToken_PC ;

// HEADER : "!"	+  " "	+  "P6"	+ "00072" + " "		
typedef struct stToken_P6_tag {
	char  
        CODIGO_MONEDA[3],	
        ZONA[4],	
        SIN_USO_1,	
        COTIZACION_COMPRA[12],
        COTIZACION_VENTA[12],
        IMPORTE_CONVERTIDO[12], // IMPORTE CONVERTIDO EN LA MONEDA CONTRARIA A LA QUE SE REALIz

⌨️ 快捷键说明

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