📄 isoapplk.cpp
字号:
// UserTrxCode [x..y=6]
((memcmp((PBYTE)&chMsg[iOffset], "881000", 6) == 0) ||
(memcmp((PBYTE)&chMsg[iOffset], "882000", 6) == 0))
);
}
// Es valido el pago?
EXPORT BOOL APPMSG::IsAFJPPayment(void)
{
// UserTrxCode P-3
if(!IsValidField(3))
return (FALSE);
int iOffset = FieldOffset(3);
// Message-Type-Identifier [12..15=4]
return((memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_FINANCIAL_RQST, 4) == 0)
&&
// UserTrxCode [x..y=6]
(memcmp((PBYTE)&chMsg[iOffset], "210013", 6) == 0)
);
}
// Es valido el mensaje a la institucion?
EXPORT BOOL APPMSG::IsAFJPMessageToInst(void)
{
// UserTrxCode P-3
if(!IsValidField(3))
return (FALSE);
int iOffset = FieldOffset(3);
// Message-Type-Identifier [12..15=4]
return((memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_FINANCIAL_RQST, 4) == 0)
&&
// UserTrxCode [x..y=6]
(memcmp((PBYTE)&chMsg[iOffset], "911300", 6) == 0)
);
}
// Es valido el logon?
EXPORT BOOL APPMSG::IsSOATLogon(void)
{
// SOAT-TrxCode S-126
if(!IsValidField(126))
return (FALSE);
// Los codigos de transaccion de usuario en el sistema SOAT no
// respetan el estandard ISO-8583 y vienen informados en un
// mensaje propietario en el campo 126...
// SOATUserTrxCode [x..y=6]
int iOffset = FieldOffset(126),
iType = FieldType(126) ;
// Message-Type-Identifier [12..15=4]
return((memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_FINANCIAL_RQST, 4) == 0)
&&
// SOATTrxCode [6]
(memcmp((PBYTE)&chMsg[iOffset+iType], "012000", 6) == 0)
);
}
// Es valido el logon duplicado?
EXPORT BOOL APPMSG::IsSOATDuplicatedLogon(void)
{
// SOAT-TrxCode S-126
if(!IsValidField(126))
return (FALSE);
// Los codigos de transaccion de usuario en el sistema SOAT no
// respetan el estandard ISO-8583 y vienen informados en un
// mensaje propietario en el campo 126...
// SOATUserTrxCode [x..y=6]
int iOffset = FieldOffset(126),
iType = FieldType(126) ;
// Message-Type-Identifier [12..15=4]
return((memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_FINANCIAL_RQST, 4) == 0)
&&
// SOATTrxCode [6]
(memcmp((PBYTE)&chMsg[iOffset+iType], "012001", 6) == 0)
);
}
// Es valido el logoff?
EXPORT BOOL APPMSG::IsSOATLogoff(void)
{
// SOAT-TrxCode S-126
if(!IsValidField(126))
return (FALSE);
// Los codigos de transaccion de usuario en el sistema SOAT no
// respetan el estandard ISO-8583 y vienen informados en un
// mensaje propietario en el campo 126...
// SOATUserTrxCode [x..y=6]
int iOffset = FieldOffset(126),
iType = FieldType(126) ;
// Message-Type-Identifier [12..15=4]
return((memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_FINANCIAL_RQST, 4) == 0)
&&
// SOATTrxCode [6]
(memcmp((PBYTE)&chMsg[iOffset+iType], "012002", 6) == 0)
);
}
EXPORT BOOL APPMSG::IsSOATGenericInquiry(void) // Consulta Generica SOAT?
{
// SOAT-TrxCode S-126
if(!IsValidField(126))
return (FALSE);
// Los codigos de transaccion de usuario en el sistema SOAT no
// respetan el estandard ISO-8583 y vienen informados en un
// mensaje propietario en el campo 126...
// SOATUserTrxCode [x..y=6]
int iOffset = FieldOffset(126),
iType = FieldType(126) ;
// Message-Type-Identifier [12..15=4]
return((memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_FINANCIAL_RQST, 4) == 0)
&&
// SOATTrxCode [2+2+2]
(memcmp((PBYTE)&chMsg[iOffset+iType], "05", 2) == 0)
&&
(isdigit(chMsg[iOffset+iType+2]) && isdigit(chMsg[iOffset+iType+2+1]))
&&
(memcmp((PBYTE)&chMsg[iOffset+iType+4], "00", 2) == 0)
);}
EXPORT BOOL APPMSG::IsSOATGenericInsertion(void) // Insercion Generica SOAT?
{
// SOAT-TrxCode S-126
if(!IsValidField(126))
return (FALSE);
// Los codigos de transaccion de usuario en el sistema SOAT no
// respetan el estandard ISO-8583 y vienen informados en un
// mensaje propietario en el campo 126...
// SOATUserTrxCode [x..y=6]
int iOffset = FieldOffset(126),
iType = FieldType(126) ;
// Message-Type-Identifier [12..15=4]
return(( (memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_FINANCIAL_RQST, 4) == 0) ||
(memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_REVERSAL, 4) == 0) )
&&
// SOATTrxCode [2+2+2]
(memcmp((PBYTE)&chMsg[iOffset+iType], "02", 2) == 0)
&&
(isdigit(chMsg[iOffset+iType+2]) && isdigit(chMsg[iOffset+iType+2+1]))
&&
(memcmp((PBYTE)&chMsg[iOffset+iType+4], "00", 2) == 0)
);
}
EXPORT BOOL APPMSG::IsSOATGenericDeletion(void) // Borrado Generico SOAT?
{
// SOAT-TrxCode S-126
if(!IsValidField(126))
return (FALSE);
// Los codigos de transaccion de usuario en el sistema SOAT no
// respetan el estandard ISO-8583 y vienen informados en un
// mensaje propietario en el campo 126...
// SOATUserTrxCode [x..y=6]
int iOffset = FieldOffset(126),
iType = FieldType(126) ;
// Message-Type-Identifier [12..15=4]
return(( (memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_FINANCIAL_RQST, 4) == 0) ||
(memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_REVERSAL, 4) == 0) )
&&
// SOATTrxCode [2+2+2]
(memcmp((PBYTE)&chMsg[iOffset+iType], "04", 2) == 0)
&&
(isdigit(chMsg[iOffset+iType+2]) && isdigit(chMsg[iOffset+iType+2+1]))
&&
(memcmp((PBYTE)&chMsg[iOffset+iType+4], "00", 2) == 0)
);
}
EXPORT BOOL APPMSG::IsSOATGenericUpdate(void) // Actualizacion Generica SOAT?
{
// SOAT-TrxCode S-126
if(!IsValidField(126))
return (FALSE);
// Los codigos de transaccion de usuario en el sistema SOAT no
// respetan el estandard ISO-8583 y vienen informados en un
// mensaje propietario en el campo 126...
// SOATUserTrxCode [x..y=6]
int iOffset = FieldOffset(126),
iType = FieldType(126) ;
// Message-Type-Identifier [12..15=4]
return(((memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_FINANCIAL_RQST, 4) == 0) ||
(memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_REVERSAL, 4) == 0) )
&&
// SOATTrxCode [2+2+2]
(memcmp((PBYTE)&chMsg[iOffset+iType ], "03", 2) == 0)
&&
(isdigit(chMsg[iOffset+iType+2]) && isdigit(chMsg[iOffset+iType+2+1]))
&&
(memcmp((PBYTE)&chMsg[iOffset+iType+4], "00", 2) == 0)
);
}
EXPORT BOOL APPMSG::IsSOATGenericRequest(void) // Pedido Generico SOAT?
{
// SOAT-TrxCode S-126
if(!IsValidField(126))
return (FALSE);
// Los codigos de transaccion de usuario en el sistema SOAT no
// respetan el estandard ISO-8583 y vienen informados en un
// mensaje propietario en el campo 126...
// SOATUserTrxCode [x..y=6]
int iOffset = FieldOffset(126),
iType = FieldType(126) ;
// Message-Type-Identifier [12..15=4]
return(( (memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_FINANCIAL_RQST, 4) == 0) ||
(memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_REVERSAL, 4) == 0) )
&&
// SOATTrxCode [6] : Cualquier codigo numerico de 6 digitos
( isdigit(chMsg[iOffset+iType] ) && isdigit(chMsg[iOffset+iType+1]) &&
isdigit(chMsg[iOffset+iType+2]) && isdigit(chMsg[iOffset+iType+3]) &&
isdigit(chMsg[iOffset+iType+4]) && isdigit(chMsg[iOffset+iType+5])
)
);
}
// Es valido el comando del sistema?
EXPORT BOOL APPMSG::IsSOATSystemCmd(void)
{
// SOAT-TrxCode S-126
if(!IsValidField(126))
return (FALSE);
// Los codigos de transaccion de usuario en el sistema SOAT no
// respetan el estandard ISO-8583 y vienen informados en un
// mensaje propietario en el campo 126...
// SOATUserTrxCode [x..y=6]
int iOffset = FieldOffset(126),
iType = FieldType(126) ;
// Message-Type-Identifier [12..15=4]
return((memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_FINANCIAL_RQST, 4) == 0)
&&
// SOATTrxCode [6]
(memcmp((PBYTE)&chMsg[iOffset+iType], "010000", 6) == 0)
);
}
// Es valido el logon para cambio de clave?
EXPORT BOOL APPMSG::IsSOATLogonPassword(void)
{
// SOAT-TrxCode S-126
if(!IsValidField(126))
return (FALSE);
// Los codigos de transaccion de usuario en el sistema SOAT no
// respetan el estandard ISO-8583 y vienen informados en un
// mensaje propietario en el campo 126...
// SOATUserTrxCode [x..y=6]
int iOffset = FieldOffset(126),
iType = FieldType(126) ;
// Message-Type-Identifier [12..15=4]
return((memcmp((PBYTE)&chMsg[12], CISO_MSGTYPE_FINANCIAL_RQST, 4) == 0)
&&
// SOATTrxCode [6]
(memcmp((PBYTE)&chMsg[iOffset+iType], "012003", 6) == 0)
);
}
////////////////////////////////////////////////////////////////////////
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -