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

📄 iso8583.h

📁 ISO 8583 implementation.
💻 H
📖 第 1 页 / 共 2 页
字号:
//
// IT24 Sistemas S.A.
// ISO-8583.0.1987 Propietary Message Class
//
// Clase Mensaje Financiero ISO-8583 propietaria. (Version 0, 1987)
//
// Tarea        Fecha           Autor   Observaciones
// (Inicial)    1997.09.23      mdc     Base 24 Release 4
// (Inicial)    1997.09.29      mdc     Extensiones
// (Inicial)    1997.10.08      mdc     Extensiones de Usuario RED LINK, BANELCO
// (Inicial)    1997.10.15      mdc     Recalcular Offsets dinamicamente
// (Inicial)    1997.10.28      mdc     Tipo de Campo (0=Fijo,1,2,3=Variable)
// (Inicial)    1997.10.30      mdc     Defaults de Campos
// (Inicial)    1997.10.31      mdc     Longitud de mensaje
// (Inicial)    1997.11.06      mdc     Extensiones de Funcionalidad
// (Inicial)    1997.11.07      mdc     Extensiones de Tipos de Mensaje
// (Inicial)    1997.11.18      mdc     Tipo de Mensaje de respuesta
// (Inicial)    1998.01.19      mdc     Codigo de Respuestas ISO predefinidos en header
// (Inicial)    1998.06.22      mdc     Reemplazo de CHAR[] por BYTE[], e
//                                      inclusion de typedefs.h        
// (Alfa)       1998.06.24      mdc     ISO-MsgTypes en defines
// (Beta)       1998.07.23      mdc     CISO_NOT_AUTHORIZED_TERM="12"
// (Beta)       1998.07.31      mdc     BitMapList para cada TranTyp ahora parametrizable.
// (Beta)       1998.09.03      mdc     Buffer en 4 kbytes
// (Beta)       1999.01.06      mdc     Header <bitmapl.h>
// (Beta)       2000.02.15      mdc     CISOMESSAGESIZE de 4096 a 8192
// (Beta)       2002.08.05      mdc     EXPORT int ISO_Test(BYTE *bBuffer, int iBuffer, bool bFields, FILE* fOutput);
// (Beta)       2002.09.05      mdc     #define _B24_CURRENCY_LECOP_ 996  
// (Beta)       2002.11.11      mdc     FREE-AVAILABILITY ACCOUNT TYPE (ARGENTINA) 
// (Beta)       2002.11.25      mdc     CISO_REV_TIMEOUT_ADVICE=168
// (Beta)       2003.01.21      mdc     PUBLIC : EXPORT BOOL SaveAllBitmapsDescriptions(PSTR);    // Descriptor de todos los Bitmaps
// (Beta)       2003.05.13      mdc     PUBLIC : EXPORT BOOL GetHeader()
// (Delta)      2005.07.18      mdc     ACCOUNT TYPES DEPENDING ON ACI-BASE24 RELEASE = 4,5, or 6
//

#ifndef _ISO8583_H_
#define _ISO8583_H_

// Headers propios
// Header Type Definitions
#include <qusrinc/typedefs.h>
// Aliases
#include <qusrinc/alias.h>
// Bitmap Strings List
#include <qusrinc/bitmapl.h>  
// Field ISO-8583
#include <qusrinc/field.h>
// Std. IO
#include <stdio.h>


//////////////////////////////////////////////////////////////////////////////////////////
// Constante Maximo de Tamano del Mensaje ISO-8583 soportado
#define CISOMESSAGESIZE   (8192)
// Constante de Maximo de Campos dentro del Mensaje
#define CISOFIELDS        (128)
// Version de ACI BASE24 que se utiliza : RELEASE 4, 5 o 6
#define _BASE24_RELEASE4_			(4)
#define _BASE24_RELEASE5_			(5)
#define _BASE24_RELEASE6_			(6)
#define _BASE24_CURRENT_VERSION_	_BASE24_RELEASE6_	



#if ( _BASE24_CURRENT_VERSION_ == _BASE24_RELEASE4_ )
//////////////////////////////////////////////////////////////////////////////////////////
// Lista de Codigos de Respuesta ISO vs. B24 de Transascciones Aprobadas:
// Codigos de Respuesta ISO vs B24:	ISO  =  B24 Descripcion ampliada 
#define CISO_APPROVED				"00" //	00	Aprobada con saldo disponible para Deposito,
#define CISO_APPROVED_I				  0
#define CISO_APPROVED_VIP           "01" //	01	Aprobada sin saldo disponible para Movimiento 
										 //		de Fondos/Pagos/Mensaje al Banco.Aprobada VIP.
#define CISO_APPROVED_VIP_I           1	
// Lista de Codigos de Respuesta ISO vs. B24 de Transascciones no Aprobadas:
// Atencion: Multiples codigos ISO pueden corresponderse con un solo codigo B24...
// Codigos de Respuesta ISO vs B24:	ISO  =  B24 Descripcion ampliada 
#define CISO_NOT_ALLOWED_CARD		"62" 
#define CISO_RESTRICTED_CARD        "36"
#define CISO_LOST_CARD				"41"
#define CISO_STOLEN_CARD  			"43"
#define CISO_INVALID_TRAN_CARD		"57" //	50	Uso no autorizado de la tarjeta en ciertas 
										 //		operaciones.Tarjeta restringida, capturada.
										 //		Tarjeta perdida o robada, capturada.
										 //		Tarjeta perdida o robada, capturada.
										 //		Transaccion invalida para la tarjeta.
#define CISO_OUT_OF_DATE			"54"
#define CISO_OUT_OF_DATE_CAPT		"33" //	51	Tarjeta vencida detectada por el autorizador.
										 //		Tarjeta vencida capturada.
#define CISO_CARD_NOT_IN_FILE	 	"14"
#define CISO_NOT_REGISTERED_CARD	"56" //	52	Tarjeta erronea, no se halla en el Cardholder-
										 //		Authorization-File.Sin registro de la Tarjeta.
#define CISO_INVALID_PIN			"55" //	53	La clave ingresada (PIN) es incorrecta.
#define CISO_DATABASE_ERROR			"89" //	54	Error de Base de Datos. No puede procesarse la 
										 //		operacion por:1. No se encuentra la institucion
										 //		o sus datos son erroneos.2. La operacion no 
										 //		esta habilitada.3. Transaction-Logging-File 
										 //		completo.4. No existe adhesion previa al Ente 
										 //		en P.A.S. (ver codigos 80,81,82).5. No existe 
										 //		partida del Ente en P.A.S.6. Imposible armar 
										 //		Respuesta completa en P.A.S.
#define CISO_INVALID_TRANSACTION  	"12"
#define CISO_INVALID_TRANSACTION_I	 12
#define CISO_TRANSACTION_NOT_SUPP   "40" //	55	Operacion erronea por:1. Tarjeta Administrativa
										 //		operando en Cajero que no corresponde.
										 //		2. Operacion no soportada por el Sistema.
										 //		3. Transaccion irreconocible en P.A.S.
										 //		4. Funcion no soportada.
#define CISO_TRANSACTION_NOT_SUPP_I  40 
#define CISO_INVALID_ACCOUNT  		"76"
#define CISO_NO_ACCOUNT_AVAILABLE	"39"
#define CISO_NO_CREDIT_ACCOUNT		"42"
#define CISO_NO_INVSTMENT_ACCOUNT	"44"
#define CISO_NO_CHECKINGS_ACCOUNT	"52"
#define CISO_NO_SAVINGS_ACCOUNT		"53" //	56	Cuenta invalida por:1. El proceso autorizador 
										 //		no puede obtener cuentas validas o cuentas 
										 //		duplicadas.2. El proceso de autorizacion no 
										 //		puede obtener todos los registros del Positive-
										 //		Balance-File.3. Cuenta no asociada a la Tarjeta
										 //		.Sin Cuenta de Credito.Sin Cuenta Universal.
										 //		Sin Cuenta de Inversion.Sin Cuenta Corriente.
										 //		Sin Caja de Ahorros.
#define CISO_NOT_AUTHORIZED_ATM		"12"
#define CISO_NOT_AUTHORIZED_TERM	"12"
#define CISO_NOT_AUTHORIZED_CARD	"58" //	57	No autorizado por:1. La Institucion a cargo 
										 //		del Cajero no lo permite.2. No lo permite la 
										 //		Institucion que emite la Tarjeta.3. No esta 
										 //		asociado el Ente a la Institucion en P.A.S.
										 //		4. Transaccion invalida para la Terminal.
#define CISO_INSUFFICIENT_FOUNDS	"51" //	58	Fondos insuficientes, menores/iguales a cero.
										 //		Monto disponible no retornado por el Host.
										 //	59	Fondos insuficientes, mayores a cero pero 
										 //		menores al de la transaccion.
#define CISO_WITHDRAWAL_LIMIT_EXC	"65" //	60	No son permitidas mas extracciones, se ha 
										 //		llegado al limite diario prefijado.
#define CISO_AMMOUNT_LIMIT_EXC		"69" //	61	Se excederia el limite del monto prefijado 
										 //		para la Red o la institucion,  
										 //		debe reingresarlo.
#define CISO_PIN_TRIES_EXCEDDED  	"75"
#define CISO_PIN_TRIES_EXC_CAPT		"38" //	62	Se excede el limite de intentos de ingreso 
										 //		de la clave prefijado para el dia en curso.
										 //		Exceso de ingreso de PIN, capturada.
#define CISO_WITHD_AMMOUNT_LIMIT	"61" //	63	Limite de monto diario de extraccion alcanzado,
										 //		no puede extraer mas.
#define CISO_INVALID_AMMOUNT		"13" //	64	Monto invalido, menor al minimo prefijado o no
										 //		es multiplo de los minimos prefijados.
#define CISO_NO_ACCOUNT_INFO		"86" // 65	Sin informacion para la cuenta solicitada, 
										 //		en Ultimos Movimientos.
#define CISO_NO_CARD_INFO			"87" //	66	Sin informacion de estado de la tarjeta en 
										 //		una consulta.
#define CISO_INVALID_CBACK_AMMOUNT	"13" //	67	Monto de Reintegro invalido.
#define CISO_EXTERNAL_DECLINE		"05" //	68	Declinacion del Host o Switch externo. Otro error.
#define CISO_EXTERNAL_DECLINE_I		  5
#define CISO_GENERIC_ERROR			"06" //	68	Declinacion del Host o Switch externo. 
										 //		Todo otro error no contemplado en esta tabla.
#define CISO_GENERIC_ERROR_I		  6
#define CISO_INVALID_SHARING_GROUP	"77" //	69	Distinto codigo de grupo para operar. 
										 //		Sin compartir grupo/area.
#define CISO_SYSTEM_ERROR  			"88"
#define CISO_SYSTEM_ERROR_I			 88
#define CISO_SYSTEM_FAILURE 		"96" //	70	Error del Sistema, intentar repetir la 
										 //		operacion por un error temporario.
										 //		Falla del Sistema.
#define CISO_SYSTEM_FAILURE_I		 96
#define CISO_ATM_NOT_ALLOWED_ISSUER	"78"
#define CISO_CONTACT_ISSUER_1		"01"
#define CISO_CONTACT_ISSUER_2		"02" //	71	Error del Sistema, comunicarse con el Emisor, 
										 //		pque no hay acuerdo de utilizacion del cajero.
										 //		Referirse a Emisor de Tarjeta.Referirse a 
										 //		Emisor de Tarjeta.
#define CISO_CUTOVER_IN_PROGRESS	"90" //	72	Error del Sistema, destino no esta disponible.
										 //		Corte de Red en progreso.
#define CISO_CUTOVER_IN_PROGRESS_I	 90 //	72	Error del Sistema, destino no esta disponible.
										 //		Corte de Red en progreso.
#define CISO_INVALID_DESTINY		"92" //
#define CISO_NOT_SUPPORTED_INST		"31" //	73	Error del Sistema, destino invalido, no se 
										 //		encuentra, ni puede rutearse.Institucion no 
										 //		soportada.
#define CISO_INVALID_FORMAT			"30"
#define CISO_INVALID_FORMAT_I		 30
#define CISO_INVALID_TRAN_AMMOUNT	"13" //	74	Error del Sistema, en la edicion/formato del 
										 //		mensaje.Monto invalido
#define CISO_MONTH_WITHD_LIMIT_EXC	"45" //	76	Excede limite mensual de extracciones.
#define CISO_PAS_INVALID_SERV_CODE	"80" //	80	Codigo de Servicio /Numero de Usuario invalido 
										 //		en Partida de P.A.S.
#define CISO_PAS_INVALID_REF_CODE	"81" //	81	Partida ya pagada, Deuda ya ha sido cancelada 
										 //		en P.A.S.
#define CISO_PAS_INVALID_USER_CODE	"82" //	82	Numero de Usuario invalido en Partida de P.A.S.
#define CISO_ADM_APPROVED			"79" //	90	Administrativa aprobada en horario.

⌨️ 快捷键说明

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