1 FUNCTIONAL SPECIFICATION.
Diagram of the functionality
IFR
RBI
IFO (1) (2) STA
FileREQTEF
TEFMessages IFR
FileRESTEF
(7) (5)
(4)
TEFMessages
(6) IFR
(1) The IFO (originator bank) generates the Massive payment
request contingency file (REQTEF).
(2) The file REQTEF is sent to the CCA’s STA folder
(3) CCA retrieves the file REQTEF and starts the submissión (3)
TEF process.
(4) Sequentially for each record within the REQTEF file, CCA
generates and sends a TEF message which is send on-line to
the corresponding IFR (recipient bank)
(5) The IFR responses On-line to this transaction, and then this
answer is saved by CCA’s Switch into a results file in order
to release the following transaction within the REQTEF.
(6) Once the sending and receiving process have finished for all
the REQTEF ‘s records, the CCA’s Switch sents the results
file (RESTEF) to the IFO’s STA folder.
(7) The IFO retrieves the Results file (RESTEF) from its STA
folder.
ality
IFR 1
BI
TEFMessages IFR 2
(5)
(4)
TEFMessages
IFR N
1.1 Massive payment request contingency file (REQTEF)
File: Massive payment request contingency
Name: REQTEF_BBBBYYMMDDNNN
where BBBB: Originator bank’s SBIF code
YYMMDD: Corresponds to the process date
NNN: Daily sequence
Frequency: Sporadic
Field Data type Length
Header Record
Record type Numeric 1
Process date Numeric 8
Process hour Numeric 6
File description Alphanumeric 50
Data Record
Record type Numeric 1
ISO length Numeric 3
ISO Message Alphanumeric 600
Trailer Record
Record type Numeric 1
Quantity of transactions Numeric 10
Total amount Numeric 12
request contingency file (REQTEF)
ment request contingency
BBBBYYMMDDNNN
B: Originator bank’s SBIF code
MDD: Corresponds to the process date
Daily sequence
Description
Header Record type Identifier. Fixed Value '1'
Format YYYYMMDD
Format HHMMSS
Description of the Contingency which originates the process
Data Record type Identifier. Fixed Value '2'
ISO 0200 message’s size in Bytes. Align to the right and completed with
zeros to the left.
ISO 0200 Message for On line massive payments request.
Data Record type Identifier. Fixed Value '9'
Quantity of data records (record type 2) within the file. Without decimals
neither digits separator. Align to the right and completed with zeros to the
left.
Sum up of Bit 4 amounts from the ISO Message informed in the records
type 2. Without decimals neither digits separator. Align to the right and
completed with zeros to the left.
1.2 Massive payment results contingency file (RESTEF)
File: Massive payment results contingency
Name: RESTEF_BBBBYYMMDDNNN
where BBBB: Originator bank’s SBIF code
YYMMDD: Corresponds to the process date
NNN: Daily sequence
Frequency: Sporadic
Field Data type Length
Header Record
Record type Numeric 1
Process date Numeric 8
Process hour Numeric 6
Result code Numeric 3
Result description Alphanumeric 50
Data Record
Record type Numeric 1
ISO length Numeric 3
ISO Message Alfa 600
Trailer Record
Record type Numeric 1
Quantity of transactions Numeric 10
Total amount Numeric 12
ults contingency file (RESTEF)
ment results contingency
BBBYYMMDDNNN
B: Originator bank’s SBIF code
MDD: Corresponds to the process date
Daily sequence
Description
Header Record type Identifier. Fixed Value '1'
Format YYYYMMDD, results processing date
Format HHMMSS, results processing hour
Procesing result code at the File level.
000: File processed correctly
110: File duplicated. File Is not processed.
111: File with error in Data record, due to Invalid message ID. File Is not
processed.
112: File with error in Data record, due to Invalid amount. File Is not
processed.
210: File without Header record. File Is not processed.
211: Error in Header Record. File Is not processed.
220: File without Trailer record. File Is not processed
221: File with Trailer record erroneous. File Is not processed
230: File with Trailer record not in balance. File Is not processed
900: Internal error. File Is not processed
Processing result description
Data Record type Identifier. Fixed Value '2'
ISO 0210 message’s size in Bytes. Align to the right and completed with
zeros to the left.
ISO 0210 Message for On line massive payments result.
Data Record type Identifier. Fixed Value '9'
Quantity of data records (record type 2) within the file. Without
decimals neither digits separator. Align to the right and completed with
zeros to the left.
Sum up of Bit 4 amounts from the ISO Message informed in the records
type 2. Without decimals neither digits separator. Align to the right
and completed with zeros to the left.
Message type Description Scope
0200 On line transaction request
0210 On line transaction response
0420 On line reversal transaction request Not apply for Massive TEF.
0430 On line reversal transaction response Not apply for Massive TEF.
0800 Red control request Not apply for Massive TEF.
0810 Red control response Not apply for Massive TEF.
Component Description Lenght
Flag beginning of the message Indicates the beginning of ISO message 3
Message header 9 Bytes with the following format: 9
sub-element Lenght
Product indicator 2
Software version 2
Status 3
Origin request 1
Origin response 1
Message type 4
They are 64 bits converted to 16 hexadecimal
bytes which indicate the absence or precense of
the message's fields.
Within the ISO8583 there are 2 bitmaps, the
primary which controls the first 64 bits of the
message; and the sencondary which controls
the second 64 bits of the message. The
sencondary Bitmap is the field number one of
Primary bitmap the message. 16
Use this values by default
Value with the CCA
Fixed Value "ISO" ISO
Values
Indicates the terminal which originated the transaction
"00" = Base (logon/Logoff/Echo test)
"01" = ATM (Automatic teller machine )
"02" = POS (POS Terminals )
"03" = WEB (HomeBanking)
"08" = FILE (File administration) 03
Indicates the software version's number which is
being used
"10" = Version 1.0
"20" = Version 2.0 20
Indicates if there were errors on the message
interpretation
If the message was rejected due to security issues:
"196" = Issues in the keys synchronization
"197" = Invalid MAC
"198" = Security issues
"199" = Issues with the encriptors
If the message was rejected due to inconsistency in
some of the data elements in this field, the BIT number
in which the error was founded will be informed.
Default "000". 000
Indicates which is the origin of the message
"0" = Not specified
"2"= Terminal
"3" = Authorizer
"4" = Host to Host Process Type ISO
"5" = Issuing Host
"6" = Net to Net process Type ISO
"7" = Issuing Network 4
Indicates which is the origin of the message
"0" = Not specified
"2"= Terminal
"3" = Authorizer
"4" = Host to Host Process Type ISO
"5" = Issuing Host
"6" = Net to Net process Type ISO
"7" = Issuing Network 0
One of the Message types applicable
0200
0210
Bit Precense Format Data Type Length
3 Mandatory Fixed Numeric 6
4 Mandatory Fixed Numeric 12
7 Mandatory Fixed Numeric 12
11 Mandatory Fixed Numeric 12
12 Mandatory Fixed Numeric 6
13 Mandatory Fixed Numeric 6
49 Mandatory Fixed Numeric 3
54 Mandatory Fixed ANS 272
Fixed Numeric 4
Fixed Alphanumeric 20
Fixed Alphanumeric 12
Fixed Alphanumeric 100
Fixed Numeric 4
Fixed Alphanumeric 20
Fixed Alphanumeric 12
Fixed Alphanumeric 100
55 Mandatory Fixed Alphanumeric 150
Fixed Alphanumeric 70
Fixed Alphanumeric 30
Fixed Numeric 1
Fixed Alphanumeric 49
LLL-Variable
Variable Length
63 Optional Variable (LLL-> 3 bytes which indicates the length) 999
LLL-Variable
Variable Length
64 Optional Variable (LLL-> 3 bytes which indicates the length) 999
Description
Transaction's code
Amount
CCA Timestamp
Trace number
Transaction's Local hour
Transaction's Local time
Currency Code
Transfer information
Origin Bank
Origin Account
Payer's Rut
Payer's name
Destination Bank
Destination Account
Payee's Rut
Payee's name
Additional data's Structure
Reference
Operation's number
Transaction's Sending Sequence
Filler
MAC Originator Bank
MAC CCA
Values description
Serves to identify the operation which is going to be carried on. It is
composed of three parts, where:
- the first 2 bytes indicate the operation (40)
- the 2 intermediate bytes the product type for debit (yy)
- the 2 last bytes the product type for credit (zz)
Amount to be transfered
CCA Timestamp (YYMMDDhhmmss)
Compensation date, this data is assigned by the CCA's Switch at the
moment of receiving the transaction from the IFO (originator bank).
When the bank is the Originator, this data can be any date, since CCA
will overwrite it when the msg is sent to the IFR.
Trace number
Message Identification number for the inteface, is generated by the
institution of origin (IFO).
It can be a sequence
This trace number should be a unique value for the Originator Bank for
a processing day. It cannot be duplicate in a single day.
Transaction's Local hour (hhmmss)
Local hour of the Terminal where the operation is done
Transaction's Local time (YYMMDD)
Local date of the Terminal where the operation is done
Currency Code
Transaction's currency code
Note: This structure has a fixed format and always should have all the
fields defined; however, the field "Payer's RUT" as data is not
mandatory, then if the Origin bank doesn't want to inform the "Payer's
RUT", this field can contain the value "000000000000"
Bank code ID, 4 digits code
(Participant's RUT. Rut is the Chilean Taxpayer Id)
The field "Payer's RUT" as data is not mandatory, then if the Origin
bank doesn't want to inform the "Payer's RUT", this field can contain
the value "000000000000"
(Participant's name)
Bank code ID, 4 digits code
(Beneficiary's RUT. Rut is the Chilean Taxpayer Id)
(Beneficiary's name)
Note: This structure has a fixed format and always should have all the
fields defined. It cannot contain ASCII information not printable.
Optional value. It is a description for the credit transaction. The client
can send information to its beneficiary and this information can be
send in this field.
Optional value. It is an internal code used by the originator bank for the
transaction. In BCH it can be the End to end ID, which is used for
traceability purposes.
For Massive TEF Batch, this filler goes with blanks.
Note. In the case of TEF On Line, the first 20 positions are used to put
the IP address of the user who is logged and sending the credit
transaction. This because CCA will implement a fraud control software
and for its operations requires the originator's ip address
Message authentication code, is generated by the Originator bank
Mac stands for: Message authentication code.
It is a code that is used to certify the message integrity. It uses a
variable value that is calculated based on the ISO message content plus
a key which both the originator bank and the CCA know.
The use of this value in the future can be mandatory, it depends on
CCA enables it use and bank's decision to use this.
This value is optional and meanwhile it can be send as blank
Message authentication code, is generated by the CCA's Switch
The use of this value in the future can be mandatory, it depends on
CCA enables it use and bank's decision to use this.
This value is optional and meanwhile it can be send as blank
Codification and format
40yyzz:
40 -Transfers between accounts
yy -Origin product (Origin account type )
zz -Destination product (Destination account
type )
Products:
"10" = Savings account (Cuenta de ahorro)
"20" = Checking account (Cuenta corriente)
"40" = Vista account (Cuenta vista)
Numeric value with 12 digits.
10 integer and 2 decimals implicit.
Field of 12 bytes, format: YYYMMDDhhmmss.
12 digits
Field of 6 bytes, format: hhmmss.
Field of 12 bytes, format: YYMMDDhhmmss.
"152" = Chilean pesos
Fixed value, only transactions in chilean pesos
See banks code on tab "Banks codes"
Pending CCA send teh updated list of banks
which work with the CCA.
(Align to the right, zeros on the left)
(Align to the right, zeros on the left)
See banks code on tab "Banks codes"
(Align to the right, zeros on the left)
(Align to the right, zeros on the left)
Exigible a
hexadecimal format mediano
with a maximum length of 999 bytes. plazo
Exigible a
hexadecimal format mediano
with a maximum length of 999 bytes. plazo
Bit Precense Format Data Type Length
3 Mandatory Fixed Numeric 6
4 Mandatory Fixed Numeric 12
7 Mandatory Fixed Numeric 12
11 Mandatory Fixed Numeric 12
12 Mandatory Fixed Numeric 6
13 Mandatory Fixed Numeric 6
38 Mandatory Fixed Numeric 6
39 Mandatory Fixed Numeric 3
54 Mandatory Fixed ANS 272
Fixed Numeric 4
Fixed Alphanumeric 20
Fixed Alphanumeric 12
Fixed Alphanumeric 100
Fixed Numeric 4
Fixed Alphanumeric 20
Fixed Alphanumeric 12
Fixed Alphanumeric 100
LLL-Variable
Variable Length
63 Optional Variable (LLL-> 3 bytes which indicates the length) 999
LLL-Variable
Variable Length
64 Optional Variable (LLL-> 3 bytes which indicates the length) 999
Description Values description
Serves to identify the operation which is going to be
carried on. It is composed of three parts, where:
- the first 2 bytes indicate the operation (40)
- the 2 intermediate bytes the product type for debit (yy)
Transaction's code - the 2 last bytes the product type for credit (zz)
Amount Amount to be transfered
CCA Timestamp (YYMMDDhhmmss)
Compensation date, this data is assigned by the CCA's
Switch at the moment of receiving the transaction 200
CCA Timestamp from the IFO (originator bank).
Trace number
Message Identification number for the inteface, is
generated by the institution of origin (IFO).
It can be a sequence
This trace number should be a unique value for the
Originator Bank for a processing day. It cannot be
Trace number duplicate in a single day.
Transaction's
.: Local hour (hhmmss)
Transaction's Local hour LocalDohour of the Terminal where the operation is done
we have to storage this value?
Does it have
Transaction's any time
Local business value ?
(YYMMDD)
Transaction's Local time Local date of the Terminal where the operation is done
Authorization code .:
Unique for each transaction
do we need to storage this code?
Response code Indicates the message
Do we need processing
to consider result
actions to be taken based on
each type of code?
Note: This structure has a fixed format and always should
have all the fields defined; however, the field "Payer's RUT"
as data is not mandatory, then if the Origin bank doesn't
want to inform the "Payer's RUT", this field can contain
Transfer information the value "000000000000"
Origin Bank
Origin Account
(Participant's RUT. Rut is the Chilean Taxpayer Id)
The field "Payer's RUT" as data is not mandatory, then if
the Origin bank doesn't want to inform the "Payer's RUT",
Payer's Rut this field can contain the value "000000000000"
Payer's name (Participant's name)
Destination Bank
Destination Account
Payee's Rut (Beneficiary's RUT. Rut is the Chilean Taxpayer Id)
Payee's name (Beneficiary's name)
Message authentication code, is generated by the
recipient bank
Mac stands for: Message authentication code.
It is a code that is used to certify the message integrity. It
uses a variable value that is calculated based on the ISO
message content plus a key which both the recipient bank
and the CCA know.
The use of this value in the future can be mandatory, it
depends on CCA enables it use and bank's decision to use
this.
This value is optional and meanwhile it can be send as
MAC Recipient Bank blank
Message authentication code, is generated by the CCA's
Switch
The use of this value in the future can be mandatory, it
depends on CCA enables it use and bank's decision to use
this.
This value is optional and meanwhile it can be send as
MAC CCA blank
Codification and format
40yyzz:
40 -Transfers between accounts
yy -Origin product (Origin account type )
zz -Destination product (Destination account type )
Products:
"10" = Savings account (Cuenta de ahorro)
"20" = Checking account (Cuenta corriente)
"40" = Vista account (Cuenta vista)
Numeric value with 12 digits.
10 integer and 2 decimals implicit.
Field of 12 bytes, format: YYMMDDhhmmss. El originador no lo conoce al inicio
12 digits
Field of 6 bytes, format: hhmmss.
Field of 12 bytes, format: YYYMMDDhhmmss.
The field has 6 digits
See table attached on Tab "Codification Tables"
See banks code on tab "Banks codes"
Pending CCA send teh updated list of banks which
work with the CCA.
(Align to the right, zeros on the left)
(Align to the right, zeros on the left)
See banks code on tab "Banks codes"
Pending CCA send teh updated list of banks which
work with the CCA.
(Align to the right, zeros on the left)
(Align to the right, zeros on the left)
hexadecimal format
with a maximum length of 999 bytes.
hexadecimal format
with a maximum length of 999 bytes.
Response codes returned from CCA's Switch
Description Code
Invalid message 011
A transaction to reverse doesn't exist 012
The transaction to reverse is not approved 013
A previous reversal already exist 014
Origin Account number is not informed 020
Destination Account number is not informed 021
Destination Rut is not informed 025
Amount is not informed 028
Invalid amount 029
Origin bank is not informed 031
Destination bank is not informed 032
Invalid Origin bank 033
Invalid Destination bank 034
Invalid transaction's is not informed 035
Invalid transaction's code 036
TimeOut from Destination Bank 037
Host IFR is not available 091
Response codes returned from the IFR What are the actions that We need to
Description Code take for each code?
Approved transaction 000
Destination account incorrect 041
Destination account closed 042
IFR identifier incorrect 043
Beneficiary RUT incorrect 045
Invalid RUT/Checking Account relationship 046
Transaction´s code incorrect 047
Transaction sequence incorrect 048
Account type disabled 050
Beneficiary account doesn't exist 051
Error in Amount field 056
Invalid Origin Rut 057
Duplicated transaction 058
Error in Mandatory field 059
Error in Trace Number field 060
Product-account disabled 061
Amount exceeds the maximum allowed 062
Service not available by the IFR 063
Destination account doesn't allow Credits 064
Trace number duplicated / transaction not duplicated 065
actions that We need to
for each code?
Nombre RUT Participante
BANCO BICE 097080000K
BANCO BILBAO VIZCAYA ARGENTARIA, CHILE (BBVA) 970320008
BANCO CONSORCIO 995004100
BANCO DE CHILE 1
BANCO DE CREDITO E INVERSIONES 970060006
BANCO DEL DESARROLLO 970510001
BANCO DEL ESTADO DE CHILE 970300007
BANCO EDWARDS 19
BANCO FALABELLA 965096604
BANCO INTERNACIONAL 970110003
BANCO ITAU CHILE 076645030K
BANCO RIPLEY 979470002
BANCO SANTANDER-CHILE 097036000K
BANCO SECURITY 970530002
CITIBANK N.A. 9898989
COMPANIA EMISORA DE MEDIOS DE PAGO DIGITALES SA 775099151
COOPEUCH/DALE 828789007
CORPBANCA 970230009
HSBC BANK (CHILE) 979510004
JP MORGAN CHASE BANK 970430008
MERCADO PAGO EMISORA S.A 772140665
SCOTIABANK CHILE 970180001
Sociedad Emisora De Tarjetas Los Heroes S A 769657371
TAPP CAJA LOS ANDES 769657444
TENPO PREPAGO S.A. 769676929
Grupos participantes
ISO8583, CCA, Nacha Originator, Nacha receipient, Bancos, Clientes, ISO8583 Originator, ISO8583 Recipient
ISO8583, CCA, Nacha Originator, Nacha receipient, Bancos, Clientes, ISO8583 Originator, ISO8583 Recipient
ISO8583, CCA, Nacha Originator, Nacha receipient, Bancos, Clientes, ISO8583 Originator, ISO8583 Recipient
ISO8583, Nacha Originator, Nacha receipient, Sistemas, Bancos, ISO8583 Originator, ISO8583 Recipient
ISO8583, CCA, Nacha Originator, Nacha receipient, Bancos, Clientes, ISO8583 Originator, ISO8583 Recipient
ISO8583, Nacha Originator, Nacha receipient, CCA, Bancos, ISO8583 Originator, ISO8583 Recipient
Nacha Originator, ISO8583, CCA, Nacha receipient, Bancos, Clientes, ISO8583 Originator, ISO8583 Recipient
Bancos
ISO8583, CCA, Nacha Originator, Nacha receipient, Bancos, Clientes, ISO8583 Originator, ISO8583 Recipient
ISO8583, CCA, Nacha Originator, Nacha receipient, Bancos, Clientes, ISO8583 Originator, ISO8583 Recipient
ISO8583, CCA, Nacha Originator, Nacha receipient, Bancos, ISO8583 Originator, ISO8583 Recipient
ISO8583, CCA, Nacha receipient, Nacha Originator, Bancos, Clientes, ISO8583 Originator, ISO8583 Recipient
ISO8583, CCA, Nacha Originator, Nacha receipient, Bancos, Clientes, ISO8583 Originator, ISO8583 Recipient
ISO8583, CCA, Nacha Originator, Nacha receipient, Bancos, Clientes, ISO8583 Originator, ISO8583 Recipient
Bancos
CCA, Nacha Originator, Nacha receipient, ISO8583, Clientes, Bancos, ISO8583 Originator, ISO8583 Recipient
Nacha receipient, Nacha Originator, ISO8583, CCA, Bancos, Clientes, ISO8583 Originator, ISO8583 Recipient
ISO8583, CCA, Nacha Originator, Nacha receipient, Bancos, Clientes, ISO8583 Originator, ISO8583 Recipient
ISO8583, CCA, Nacha Originator, Nacha receipient, Bancos, ISO8583 Originator, ISO8583 Recipient
Nacha Originator, Nacha receipient, CCA, Clientes, Bancos
CCA, Nacha Originator, Nacha receipient, ISO8583, Clientes, Bancos, ISO8583 Originator, ISO8583 Recipient
ISO8583, CCA, Nacha Originator, Nacha receipient, Bancos, Clientes, ISO8583 Originator, ISO8583 Recipient
Nacha Originator, CCA, Nacha receipient, Clientes, Bancos
CCA, Nacha Originator, Nacha receipient, ISO8583, Clientes, Bancos, ISO8583 Originator, ISO8583 Recipient
CCA, Nacha Originator, Nacha receipient, Clientes, Bancos
Id Participantes Estado
28 Activa
504 Activa
55 Activa
1 Activa
16 Activa
507 Activa
12 Activa
29 Activa
51 Activa
9 Activa
39 Activa
53 Activa
37 Activa
49 Activa
33 Activa
741 Activa
672 Activa
27 Activa
31 Activa
41 Activa
875 Activa
14 Activa
729 Activa
732 Activa
730 Activa
Time Outs
The maximum response time per each side are the following:
Originator Bank 15 seconds In total
Destination bank 10 seconds