📄 isopas.cpp
字号:
//
// IT24 SISTEMAS S.A.
// Proyecto Pago Automatico de Servicios
// Transaction Control Server
// P.A.S. Propietary Messages Classes
//
// Libreria Propietaria de Mensajes P.A.S.
//
// Tarea Fecha Autor Observaciones
// (Inicial) 1997.10.08 mdc Base
//
// Header propio
#include "isopas.h"
// User Data?
EXPORT BOOL PASMSG::IsValidUserData(void)
{
// El Tipo de Trx esta alguno Ok?
if( IsValidSuscription() || // Adhesion
IsValidInquiry() || // Consulta
IsValidPayment() || // Pago
IsValidReversal() ) // Reversa
return TRUE;
// Tipo Trx invalido
return FALSE;
}
// Es valida la adhesion/suscripcion?
EXPORT BOOL PASMSG::IsValidSuscription(void)
{
// UserTrxCode P-3
if(!IsValidField(3)) return FALSE;
int iOffset = FieldOffset(3);
// Message-Type-Identifier [12..15=4]
return((strncmp(&chMsg[12], "0200", 4) == 0)
&&
// UserTrxCode [32..37=6]
((strncmp(&chMsg[iOffset], "890000", 6) == 0) ||
(strncmp(&chMsg[iOffset], "800000", 6) == 0) )
);
}
// Es valido el reverso?
EXPORT BOOL PASMSG::IsValidReversal(void)
{
// UserTrxCode P-3
if(!IsValidField(3)) return FALSE;
int iOffset = FieldOffset(3);
// Message-Type-Identifier [12..15=4]
return((strncmp(&chMsg[12], "0420", 4) == 0)
&&
// UserTrxCode [32..37=6]
( (strncmp(&chMsg[iOffset], "800000", 6) == 0) // Adhesion
||
((strncmp(&chMsg[iOffset], "881000", 6) == 0) || // Pago s/fact
(strncmp(&chMsg[iOffset], "882000", 6) == 0) )
||
(strncmp(&chMsg[iOffset], "88", 2) == 0) // Pago s/usu
||
((strncmp(&chMsg[iOffset], "81", 2) == 0) || // Default
(strncmp(&chMsg[iOffset], "86", 2) == 0) )
)
);
}
// Es valida la consulta?
EXPORT BOOL PASMSG::IsValidInquiry(void)
{
// UserTrxCode P-3
if(!IsValidField(3)) return FALSE;
int iOffset = FieldOffset(3);
// Message-Type-Identifier [12..15=4]
return((strncmp(&chMsg[12], "0200", 4) == 0)
&&
// UserTrxCode [32..37=16]
(strncmp(&chMsg[iOffset], "830000", 6) == 0)
);
}
// Es valido el pago?
EXPORT BOOL PASMSG::IsValidPayment(void)
{
// UserTrxCode P-3
if(!IsValidField(3)) return FALSE;
int iOffset = FieldOffset(3);
// Message-Type-Identifier [12..15=4]
return((strncmp(&chMsg[12], "0220", 4) == 0)
&&
// UserTrxCode [32..37=6]
( ((strncmp(&chMsg[iOffset], "881000", 6) == 0) || // Pago s/fact
(strncmp(&chMsg[iOffset], "882000", 6) == 0) )
||
(strncmp(&chMsg[iOffset], "88", 2) == 0) // Pago s/usu
||
((strncmp(&chMsg[iOffset], "81", 2) == 0) || // Default
(strncmp(&chMsg[iOffset], "86", 2) == 0) )
)
);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -