Technical specification

Technical Specification
CliSiTefI and CliSiTef Libraries
Version 248

Summary#

1 Introduction [6]

2 Target Audience [6]

3 Goals [6]

4 Presentation [7]

4.1 Basic operation [7]

5 API - Routines available on CliSiTef [9]

5.1 Library configuration [11]

5.1.1 General special settings [12]

5.1.2 Additional Automation/Establishment information [13]

5.1.3 Floating point [15]

5.2 Start of Payment or Management transaction [17]

5.2.1 Return code table [20]

5.2.2 Function code table [21]

5.2.3 Additional Parameters [25]

5.3 Continuation of the iterative collection process [25]

5.3.1 Command code table [29]

5.3.2 Table of values ​​for FieldType [32]

5.3.3 Event Table, also returned in FieldType [49]

5.4 Payment confirmation or not [51]

5.4.1 Completion of individual payments in the same tax coupon [52]

5.4.2 Completion of payments for a given network in the same tax coupon [52]

5.4.3 Attach data relating to payment methods for a transaction (NFPAG) [52]

5.5 Query transactions pending confirmation on the terminal [56]

5.5.1 Number of transactions pending confirmation on the terminal [56]

5.5.2 Query pending transactions on the terminal [58]

5.5.3 Query pending transactions in a specific tax document [58]

5.6 PinPad Functions [59]

5.6.1 Set permanent message for the PinPad [59]

5.6.2 Reading track 3 of the card [59]

5.6.4 Card reading - secure capture routines [61]

5.6.5 Password reading [65]

5.6.6 Reading Confirmation by Customer on PinPad [66]

5.6.7 Sets a momentary message for the PinPad[67]

5.6.8 Reading special PinPad keys [68]

5.7 Banking Correspondent (Bill Payment) [69]

5.8 Checking the integrity of a barcode [70]

5.9 Getting Version [72]

5.10 Sending pending messages [73]

5.11 PinPad Information [73]

5.12 Loading Tables on PinPad [75]

5.12.1 With changes in Automation [75]

5.12.2 No change to Automation[76]

6 CliSiTef.ini or CLSIT settings file [77]

6.1 PinPad Configuration [77]

6.1.1 Port configuration [77]

6.1.2 Configuration when Automation does not use a pinpad [78]

6.1.3 Setting up a second pinpad [79]

6.1.4 Setting the default message [80]

6.1.5 Enabling value confirmation on the pinpad [80]

6.2 Connection configuration with the SiTef server [80]

6.2.1 Configuring additional IP addresses [80]

6.2.2 SiTef server port configuration [80]

6.2.3 Connection required [81]

6.2.4 Keeping connection active [81]

6.2.5 Communication display configuration [81]

6.2.6 Changing timing parameters (timeout) [81]

6.3 How to pass a new transaction purchase value on CliSiTef [82]

6.4 Enabling/disabling payment methods [84]

6.4.1 Restricting payment methods at runtime [84]

6.4.2 Setting default values ​​for payment methods [84]

6.4.3 Enabling additional transactions [85]

6.4.4 Disabling transactions [86]

6.5 Enabling transactions from specific networks [86]

6.6 Table of payment method codes, settings and menus[88]

6.7 Enabling special settings per transaction [99]

6.8 Credit/debit transactions with card without BIN [102]

6.9 Enabling credit in installments when in a linked payment [105]

7 Control files [107]

8 Trace [108]

8.1 Configuring history [108]

8.2 Directory configuration [108]

8.3 Trace files per terminal [109]

8.4 Rotary Trace [110]

8.4.1 Enabling the rotating trace [110]

8.4.2 Limiting file sizes [111]

8.4.3 Sending trace files to the SiTef server [111]

9 Development/approval process [112]

9.1 Additional trace file during development phase [112]

9.2 Approval process [112]

10 Message translation [113]

11 Tables [114]

11.1 Authorizing Network Code [114]

11.2 Flag Code [120]

12 Supported platforms [121]

13 Discontinued routines [121]

14 Change History [122]

Introduction#

The CliSiTefI and CliSiTef libraries provide developers with of commercial automation a set of routines (APIs) for integration with the SiTef server.

The SiTef server, in turn, offers a wide range of payments with the most diverse authorizers.

The CliSiTefI and CliSiTef libraries are available for a series of platforms, typically in the form of dynamic libraries.

It has entry points through which commercial automation configures, requests a payment, requests a management role or the payment of a bill.

The entry points are in CliSiTefI and this is what should be loaded by the user application.

CliSiTef is for the exclusive use of CliSiTefI and cannot be charged or called directly at risk of eventually destabilize the environment. In this document, any reference to CliSiTef should be understood as the set of these two libraries.

Target Audience#

Commercial automation developers with CliSiTef.

Goals#

Present a description of the library that interfaces with the payment method services available on SiTef.

Presentation#

CliSiTef provides a quick and simple way to make available SiTef functionalities for applications in general. Its main features are:

  • Non-intrusive as it is the automation itself that manages your screens. There is no overlapping of screens on the interface itself, which, if existed, most of the time it would not be compatible with the visual layout of the client's main application;

  • Allows the automation application to restrict transactions available for a given payment since, in practical life, negotiation takes place with the client and once the means of payment, number of installments, etc., must not be modified by mistake when executing the TEF;

  • Allows total freedom in the inclusion of new products and means of payment, following the evolution of SiTef, without the need make any changes to the automation or, if it is essential (for example through the inclusion of new access peripherals such as bar code reader), it should be kept to a minimum.

Note: CliSiTef has, for each functionality, two points of input (routines). The choice of which of the interfaces will be used by the application depends on the programmer's personal taste and whether the environment used by it for development imposes some type of restriction in the call to CliSiTef. In particular, we are referring to the type of data manipulated by the programming environment. If he only accepts data in ASCII, the interface called hereinafter referred to as "A" in this document.

Basic operation#

Initial step

Initially, Commercial Automation must execute the command ConfiguraIntSiTefInterativo, passing the necessary information to so that the Sales Terminal can communicate with SiTef, such as Address SiTef IP, Company Code (in SiTef Demo this code is 00000000) and the terminal identification.


http://hgbook.red-bean.com/support/figs/note.png This function should only be called when CliSiTef is loaded i.e. it is not necessary to call it with each new transaction (unless there is a specific need to change company parameters, terminal or SiTef server IP).



The routine returns a value indicating whether the configuration occurred with success or not. If 0 (zero) returns, the process occurred in a correct.

Transaction itself

The next step is then to call the IniciaFuncaoSiTefInterativo function, passing the described parameters to it.

Upon return, it returns the value 10000 to continue the transaction or other value to close.

If the return is 10000, you must call the function ContinuaFuncaoSiTefInterativo, with the parameters also described for her we next topics.

While CliSiTef returns the value when calling this function 10000, the automation must keep repeating the call to this function as many times as necessary until the return value of the function be 0 (zero), indicating that everything went well, or different from 0 and 10000 indicating that an abnormal interruption occurred.

Confirmation (or non-confirmation) of the transaction

If the return was 0 (zero), the automation closes the loop and if there was TEF coupon printing, the automation must print them and call another function, the FinalizaFuncaoSiTefInterativo, confirming or not the transaction depending, respectively, on whether the coupon was printed correctly or not.

If the return was different from 10000 and 0 then the automation simply exits the loop and, at the programmer's option, may or may not display a message according to the return of the called function. For example, if returned -2, it means that the transaction was canceled by the operator. These negative returns are described in this document.

Graphically exemplifying the flow described in this topic, we would have the Following:

API - Routines available on CliSiTef#

In this chapter, we will present the functions available in clisitef. For Therefore, the following conventions will be adopted:

Empty field or not provided -- in the standard version it is a field containing just the delimiter (binary zero). In the ASCII version, if it is a field fixed it contains spaces. If it is a variable field it only contains the start and end field delimiter.

Field size -- in the case of a fixed size field, when this value is provided, indicates the minimum size to be reserved by the application to receive a response from SiTef.

Type of function parameters -- we will divide into two groups:

1. Regarding the flow of information: the parameter can be input or output.

two. When passing: the parameter can be passed by value or by reference.

Each routine described in this chapter typically has two versions/interfaces:

Standard interface -- traditional, allows parameters with data binaries

ASCII Interface -- for interfacing with programming languages, whose parameters work only in ASCII.

What differentiates the ASCII version from the standard version is the addition of the suffix A in the name of the functions, and the way/type of passing the parameters.

Standard interface

This interface can be used by applications written in most variable programming languages ​​that accept binary fields. Among We mention: Delphi, Visual Basic, Visual C.

In the case of receipts, the character 0x0a (\n in C language) indicates the end of a line.

All routines called by the automation application must be of type stdcall, i.e., the parameters are stacked from right to left left and the called routine is responsible for removing them from the stack. A Parameter convention is as follows:

Table 1: Parameter types and convention

TypeDescription
char *ASCII text buffer terminated by binary zero.
short int (short), unsigned short int (ushort)Variables that occupy 2 bytes in memory, with and without sign, respectively.
int, unsigned int (uint)Variables that occupy 4 bytes in memory, with and without sign, respectively.
voidIndicates the absence of parameters or return.
<variable type> * (example: short int * or int *)Indicates that the "variable type" variable is being passed as an address, that is, CliSiTef will use the automation application area to work, and may return some results there.

ASCII interface

This interface can be used by applications written in any programming language, including those that do not accept fields binaries, such as Oracle's Forms environment.

In it all parameters are passed in ASCII and can be of size fixed and variable.

Numeric fields are always passed with a fixed size and aligned to right, with zeros on the left. In particular, the field whose content is a negative value, has a "-" sign in the leftmost position of the number (e.g.: -0001 for a 5-position field whose content is the value --1).

Variable length ones are constructed so that the first character indicate which value was chosen to be the delimiter of that field or That is, the field is delimited by the chosen character or its complementary in the case of the pairs "( )", "[ ]", "{ }" and "< >".

Examples of valid constructions are: (1234), [1234], {1234}, <1234>, \$1234\$, %1234%, |1234|, etc.

NOT VALID examples are as follows: $12$34$, .1,234.56., etc.

The criterion for choosing the delimiter must be that it does not exist as a valid character in the field in question. In data passes from application for CliSiTef, as they are always known, the application can define a default character and always use it in all data passes. In the return, as any character is valid (for example on a receipt), the above rule must be used in interpretation of the result returned by CliSiTef since this will choose the character that best adapts to the answer that is being generated.

Finally, there is a special character that is used in texts directed to a printer. The "\" (backslash) indicates the end of one line and must be used by the application to instruct the printer to close the current line and position yourself in the next one.

Library configuration#

This must be the first call to the CliSiTef library. She has The objective is to configure the connection parameters with the server SiTef, and with Commercial Automation itself.

int ConfiguraIntSiTefInterativo (IPSiTef, IdStore, IdTerminal, Reserved)
int ConfiguraIntSiTefInterativoEx (IPSiTef, IdStore, IdTerminal, Reserved, AdditionalParameters)

ASCII Interface

ConfiguraIntSiTefInterativoA (Result, IPSiTef, IdStore, IdTerminal, Reserved)
ConfiguraIntSiTefInterativoExA (Result, IPSiTef, IdStore, IdTerminal, Reserved, AdditionalParameters)

ParameterTypeStandard InterfaceASCII InterfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
IPSiTefEntry, by valuechar *VariableConfigures the name or IP address (in "." notation) of the SiTef server.
IDStoreEntry, by valuechar *Fixed 8Identifies the store number within the network of commercial establishments.
IdTerminalEntry, by valuechar *Fixed 8Identifies the POS in front of the store. It has the format XXnnnnnn where XX corresponds to 2 alphabetic characters and nnnnnn to any 6 digits as long as the resulting number does not overlap the range 000900 to 000999 which is reserved for use by SiTef.
ReservedEntry, by valuechar *Fixed 6Must be passed with 0
AdditionalParametersEntry, by valuechar *VariableAdditional CliSiTef configuration parameters in the following format: [<Parameter_Name_1>=<Parameter_Value_1>;<Parameter_Name_2>=<Parameter_Value_2>]

Important!

Each terminal must have a unique and fixed code per SiTef store. In this way, the commercial establishment must manage the codes used in such a way that there is never a repetition of terminals for a same store.

The SiTef server does not allow two or more simultaneous connections using the same pair (store, terminal), dropping the connections previous ones, keeping only the last connection made; if perhaps the transaction that was in progress when the POS connection dropped duplicate was already in pending status (a sale for example), the SiTef immediately places it in Canc.POS status (Cancelled by the POS), or In other words, this will be cancelled; the terminal that is disconnected will receive the message "No SiTef connection" with error code -5.

When the commercial establishment uses Pinpad to read cards and password entry and if the pair (store, terminal) is changed, this will result in new tables being loaded onto the pinpad every change. This is yet another reason for the terminal code to be fixed.

The configuration routines return one of the following values:

Table 2 - Return codes from configuration functions

ValueDescription
0No error occurred
1Invalid or unresolved IP address
2Invalid store code
3Invalid terminal code
6Tcp/Ip initialization error
7Lack of memory
8Didn't find CliSiTef or it has problems
9SiTef server configuration has been exceeded.
10Access error in the CliSiTef folder (possible lack of writing permission)
11Invalid data passed through automation.
12Safe mode not active (possible lack of configuration on the SiTef server of the .cha file).
13Invalid DLL path (the full library path is too long).

Note: during the automation lifecycle, if there is no change in the function's input parameters, then there is no need to call her again.

General special settings#

Certain general settings (valid for all transactions) of the CliSiTef can be passed through the parameter "ParametrosAdicionais" from the routine ConfiguraIntSiTefInterativoEx. O Format of this field is as follows:

[<Functionality>;<Functionality>;...]

Next, we describe the functionalities provided in this field.

Note: in this item only the settings will be highlighted main. For a detailed description of all available options, see the document "CliSiTef -- Lista de Parâmetros Adicionais".

FunctionalityDescription
MultipleCoupons=1Indicates that the POS is able to receive more than one receipt per transaction. In the case of transactions with more than one receipt, such as cell phone recharge transactions or bill payments with credit or debit cards, the cell phone recharge or bill payment receipt will be delivered separately from the credit or debit EFT receipt.
PinPad Port=<PinPad Port>Defines the port to which the shared pinpad is connected. Example:
Windows: [PortaPinPad=1]
Linux: [PortaPinPad=/dev/ttyS0]
LojaECF=<Num Loja>Tax store number (Maximum size: 20)
CaixaECF=<Num Caixa>Tax box number (Maximum size: 20)
NumberSeriesECF=<Series ECF>ECF Serial Number (Max Size: 20)

Additional Automation/Establishment information#

The ParmsClient configuration allows commercial automation to configure information common to all transactions exchanged with the SiTef server.

Format:

[ParmsClient=Id1=Value1;Id2=Value2;Id3=Value3;...;IdN=ValueN]

where:

<ParmsClient=> = Data identifier prefix.

<IdN> = Field identifier, as defined in the table below.

<ValueN> = Field value.


Id Format Meaning


1 CNPJ number of the establishment/store.

2 CNPJ number of the company that developed the automation commercial.

3 CPF number of the establishment/store

4 Numeric CNPJ Facilitator (Van)


Table 3 Field codes available for ParmsClient.

Example of how to send data to CliSiTef:

[ParmsClient=1=31406434895111;2=12523654185985]

Where:

- 1 (CNPJ of the Establishment) with the value 31406434895111.

- 2 (CNPJ of the commercial automation company) with the value 12523654185985.

Note: This parameter should not be used for sub-acquiring (soft descriptor). For this purpose, please refer to the document "CliSiTef - Sub-Acquiring Information (Soft Descriptor)"

Floating point#

How automation tells CliSiTef that it knows how to handle fields with dots floating

Treating fields with Floating Point requires a procedure executed in conjunction with automation.

For Clisitef to carry out this procedure, which will be described below, it is necessary for the automation to inform Clisitef that it is capable of treat it. To do this, the automation must pass the string below into the "ParametrosAdicionais" parameter when executing the function ConfiguraIntSiTefInterativoEx.

[TrataPontoFlutuante=1]

If this parameter is omitted and SiTef requests field collection with Floating Point, CliSiTef will ask the automation to display the message: "Ponto Flutuante nao Suportado pelo PDV".

Procedure in "married operation" with automation

If informed in the Configuration, support the Floating Point feature, as described above, CliSiTef through Command 0 in conjunction with o Field Type 2470, informs Automation of the number of decimal places in the Buffer parameter, so that it can format its screens before display them to the operator (See Screen Examples on the next page). Only after this "pact" with Automation, CliSiTef will send the command field collection with floating point (through commands 34 or 30) as per examples below.

Parameters ContinueFunctionSiTefInteractive CliSiTef =========> POS

CommandFieldType
02470
Examples of number of decimal placesBuffer
Lunch weight in grams with 2 boxes2
Total Fuel Pump in reais with 3 houses3

• In the example where the number of decimal places reported was 2, then Afterwards, CliSitef will request command 30:

• In the example where the number of decimal places reported was 3, then Afterwards, CliSitef will request command 34:

Start of Payment or Management transaction#

The following routines are recommended for starting a transaction in CliSiTef.

What differentiates the transaction to be executed is the Function code passed by parameter. (See Table 5.2.2)

The various transactions initiated by commercial automation are grouped by fiscal data, which is the pair (TaxCoupon, TaxDate) and With this data, controls on pending transactions are carried out. confirmations from CliSiTef.

HoraFiscal is important for security validations of some pinpad manufacturers (in order to prevent attacks and fraud).

int IniciaFuncaoSiTefInterativo (Function, Value, TaxCoupon, TaxDate, TaxTime, Operator, ParamAdic)

ASCII Interface

IniciaFuncaoSiTefInterativoA (Result, Function, Value, TaxCoupon, TaxDate, TaxTime, Operator, ParamAdic)

The functions below were used for Self-Service terminals, and are considered obsolete.

int IniciaFuncaoAASiTefInterativo (Function, Value, TaxCoupon, TaxDate, TaxTime, Operator, ParamAdic, Products)

ASCII Interface

IniciaFuncaoAASiTefInterativoA (Result, Function, Value, CouponTax, TaxDate, TaxTime, Operator, ParamAdic, Products)

ParameterTypeStandard interfaceASCII InterfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
FunctionEntry, by valueintFixed 6Select the payment method, according to the “Function Codes” table below.
ValueEntry, by valuechar *VariableContains the amount to be paid containing the decimal separator (“,”). It must always be passed with two decimal places after the comma (“,”). If the operation does not have a value defined a priori (e.g. prepaid recharge), this field must be empty.
TaxCouponEntry, by valuechar *Max 20Tax Coupon Number corresponding to the sale It is important that the tax coupon number is always increasing (increased with each transaction), as the entire process of controlling pending transactions and CliSiTef confirmations is based on the CouponFiscal + DataFiscal set.
TaxDateEntry, by valuechar *Fixed 8Tax Date in YYYYMMDD format
TaxTimeEntry, by valuechar *Fixed 6Fiscal Schedule in HHMMSS format
OperatorEntry, by valuechar *Max 20Identification of the cashier
ParamAdicEntry, by valuechar *VariableAdditional parameters. Allows the application to limit the type of payment method. It is optional and can be passed empty. When this field is used, CliSiTef will limit the navigation menus only to codes not present in the list. See item 5 for the description of the internal format of this field
ProductsEntry, by valuechar *VariableContains the list of products that the customer is purchasing at the Self-Service terminal. It is mandatory as these products will form an integral part of the Tef operation receipt to be printed. The basic format of this field is: [<Description1>;<Code1>;<Quantity1>;<TotalValue1>]; [<Description2>;<Code2>;<Quantity2>;<Total Value2>];... It must be repeated as many times as the number of different products purchased by the customer.

IMPORTANT: This routine only starts the payment process. If the return is 10000 the payment process must be continued through the routine ContinuaFuncaoSiTefInterativo or ContinuaFuncaoSiTefInterativoA until the latter returns a final result (see item that describes this function).

IMPORTANT: up to version 6.1.114.39 (inclusive) of clisitef, whenever a payment is initiated on a new tax document (a pair <TaxCoupon, TaxDate> different from the previous one), the transaction data previous will be replaced by those of the newly started one, making it impossible that some treatments, such as pending issues, are carried out successfully.

Therefore, all necessary treatments must be resolved before starting a new transaction.

From version 6.1.114.40 (inclusive), CliSiTef allows you to start a new payment, without deleting any outstanding issues from the tax document previous.

Return code table#


ValueDescription
0Successful execution of the function.
10000The process continuity routine must be called.
other positive valueDenied by authorizer.
-1Module not initialized. The POS tried to call some routine without first executing the configure function.
-2Operation canceled by operator.
-3The function / modality parameter is non-existent/invalid.
-4Lack of memory in the POS.
-5No communication with SiTef.
-6Operation canceled by user (on pinpad).
-7Reserved
-8CliSiTef does not have the necessary function implementation, it is probably outdated (CliSiTefI is more recent).
-9The automation called the routine ContinuaFuncaoSiTefInterativo without first starting an iterative function.
-10Some mandatory parameter was not passed by commercial automation.
-12Error executing the iterative routine. Probably the previous iterative process was not executed until the end (while the return is equal to 10000).
-13Tax document not found in CliSiTef records. Returned in query functions such as ObtemQuantidadeTransaçõesPendentes.
-15Operation canceled by commercial automation.
-20Invalid parameter passed to the function.
-21Used a prohibited word, for example PASSWORD, to collect open data on the pinpad. For example in the ObtemDadoPinpadDiretoEx function.
-25Banking Correspondent Error: Bloodletting must be carried out.
-30File access error. Make sure that the user running the application has read/write rights.
-40Transaction denied by SiTef server.
-41Invalid data.
-42Reserved
-43Problem executing any of the routines on the pinpad.
-50Unsecured transaction.
-100Internal module error.
other negative valueErrors detected internally by the routine.

Function code table*#

The following codes are available to be used in the parameter Function described above1.

FunctionDescription
0Generic payment. CliSiTef allows the operator to choose the payment method through menus.
1Check
2Debt
3Credit
4Fininvest
5Benefit Card
6Centralized Credit
7Fuel Card
8Pay More Redecard
10Wappa Meal Benefit
11Wappa Food Benefit
12Infocard Card
13Pay Pass
15Sale with Gift Card
16Debit for payment of booklet
17Credit for payment of booklet
28Sale with Quality Card (ICI Card)
100Telemarketing: Initiates collection of transaction data at the point needed to handle an entered credit card transaction
101Cancellation of sales with a Quality card (ICI Card)
110Open the Management transactions menu
111Communication test with SiTef
112Reprint Menu
113Re-print specific voucher
114Reprint last receipt
115Pre-authorization
116Pre-authorization capture
117Pre-authorization adjustment
118Pre-authorization consultation
130Querying pending transactions on the terminal
131Querying pending transactions in a specific tax document
150Bonus Consultation
151Gift Card Balance Inquiry
152Gift Card Balance Inquiry
160EMS Card Inquiries
161EMS Card Sales
200Normal Cancellation: Starts data collection at the point necessary to cancel a debit or credit transaction, without having to first go through the administrative transactions menu
201Telemarketing Cancellation: Similar to modality 200 but for the function of canceling entered credit transactions
202Pre-authorization Cancellation
203Cancellation of Pre-Authorization Capture
210Cancellation of sales with Credit Card
211Cancellation of sales with Debit card
212Cancellation of sales with Fuel card
213Cancellation of Sale with Gift Card
250Bonus Consultation Cancellation
251Gift Card Recharge Cancellation
253Cancellation Accumulation of Bonus Card Points
254Redeem Bonus Card Points
255Cancellation of Bonus Card Points Redemption
256Accumulation of Bonus Card Points
257Gift Card Recharge Cancellation
264Gift Card Recharge
265Activation Linked Payment Gift Card
266Gift Card Consultation
267Gift Card Activation Without Payment
268Gift Card Activation With Payment
269Gift Card Unlinked Activation
310Bank Correspondence (Bill Payment)
311Payment of Bills with Withdrawal
312Consultation for Unlinked Payment (Generic)
313Unlinked Payment (Generic)
314Corban SE Prepaid Recharge with Withdrawal
315Withdrawal for Payment
316Unlinked payment cancellation (generic)
317Consult Banking Correspondent Limits
318Bradesco Prepaid Recharge
319Bradesco Prepaid Recharge disconnected from payment
320Corban SE Prepaid Recharge
321Corban SE Prepaid Recharge disconnected from payment
322Identified Deposit
323Transfer between Accounts
324Pay Easy
325INSS Password Revalidation
350Sell ​​Product (No Value)
351Cancellation of Product Sale (No Value)
400Vale-Gas
401Vale-Gás Validation
410Surprise Change
422Insurance Membership
430Le Cartão Seguro (LeCartaoSeguro)
431Le Trilha Chip (LeTrilhaChipInterativoEx)
500ACSP Detailed Query
501Serasa Detailed Consultation
600Balance Inquiry
601Debit Card Balance Inquiry
602Credit Card Balance Inquiry
657Withdraw Credit Transfer
658Withdraw Credit
660IBI Withdrawal Menu
661IBI Bank Withdrawal Consultation
662IBI Bank Withdrawal
663GetNet Withdrawal
664GetNet Withdrawal Cancellation
665Points Redemption
667Points Issuance
668Cancellation of Point Issuance
669Prepaid Load
670Prepaid Load Cancellation
671Withdrawal Consultation with IBI Banco Withdrawal
672IBI Bank Withdrawal Cancellation
680Prepaid Balance Inquiry
698Debit Withdrawal
700Sale Hi Paggo
701Hi Paggo Cancellation
702Bill payment
703Benefit Card Payment Cancellation
705Invoice Payment
740Adm Credit Installments Consultation
770Loading tables on pinpad 2
771Forced loading of tables on pinpad (Local)
772Forced loading of tables on the pinpad (SiTef)
775Getting Pinpad Information 3
899Credit card recharge
900Credit card top-up cancellation
913Change of Pre-Authorization
928Debit Cancellation for Payment Carnet Forced Network
943Invoice payment without linked invoice
944Invoice payment without unlinked invoice
999Closure
1000Paper Voucher

Additional Parameters#

Additional parameters, valid for the current transaction, can be passed to CliSiTef through the ParamAdic parameter of the routine IniciaFuncaoSiTefInterativo and its variants.

To meet the need for some "Authorizing" networks, which require information about the Electronic Tax Document issued by "Commercial Automations", 2 "functionalities" were defined to pass the necessary data in the ParamAdic parameter (see details in item Enabling special settings per transaction).

Continuation of the iterative collection process#

This function must be called continuously until there are no more information to be exchanged between the application and CliSiTef (this is, as long as its return is equal to 10000), as described in results returned by it. The activation format is as follows:

int ContinuaFuncaoSiTefInterativo (Command, FieldType, MinimumSize, MaximumSize, Buffer, TamBuffer, Continues)

ASCII Interface

ContinueFunctionSiTefInterativoA (Result, Command, FieldType, MinimumSize, MaximumSize, Buffer, TamBuffer, Continues)

ParameterTypeStandard interfaceASCII InterfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
CommandOutput, by referenceint *Fixed 12Contains in the return: 0 → if CliSiTef is returning any data relating to the transaction in the Buffer field <> 0 → indicates the Next Command to be executed by the application. Valid commands are described in Command Code Table
FieldTypeOutput, by referencelong *Fixed 12Contains the code for the type of field that the automation should handle. The existing types are described in Table of values ​​for FieldType
MinimumSizeOutput, by referenceshort *Fixed 6When the Command is a data collection, it contains the Minimum size of the field to be read
MaximumSizeOutput, by referenceshort *Fixed 6When the Command is a data collection, it contains the Maximum size of the field to be read
BufferEntry and Exit, by valuechar *VariableData transfer area between the application and CliSiTef. It must be at least 20,000 bytes. If automation is not sending data to CliSiTef, this field must be passed empty
TamBufferEntry, by valueintFixed 6Size of the area reserved by automation for the Buffer field
ContinuedEntry, by valueintFixed 6Contains instructions for CliSiTef regarding the Command executed according to the following coding:
0 → Continue transaction
1 → Returns, when possible, the collection to the previous field
2 → Cancels the current bill payment, keeping previous ones in memory, if any, allowing such payments to be sent to SiTef and even allowing new payments to be included. Return valid only on collections of amounts and due date of a bill payment.
10000 → Transaction continues, see note below
-1 → Closes the transaction

Note: As the field requested by the routine does not always need to be read in the At the time of the request, the routine accepts the value 10000 to indicate that the field was not collected at that time but previously, in the moment of closing the sale.

A typical example of this situation occurs when the automation has already closed with the customer a form of payment in installments using a credit card. In this If automation can, at the moment field collection is requested to read the number of installments, then return the previously agreed number without capture this user data.

Note that in this form of use it is essential that the data is presented to the operator who must confirm its veracity before It is routine to return it to CliSiTef.

Also note that this form of use is not mandatory, and the Automation always capture screen data. Use of this feature may change the collection flow or any rule defined by the flags, so before using them, consult the Software Express Support department who will verify the need prior authorization by the flags.

Upon return, the routine returns the same values ​​as the Payment routine. In addition to these values, the function returns the value 0 (Zero) to indicate that the requested function was completed successfully (e.g. if is a payment, it was approved by the administrator).

It is important to point out that the call that starts the iterative process (the one that is made after the value 10000 has been received in the call of a Payment, Management function, etc...) must be done with Command, FieldType, MinimumSize, MaximumSize and Continues containing the value 0 (zero).

Also note that commercial automation must be in a loop calling the routine described here until she receives a result different from 10000 or the automation itself stops continuing the process, as shown below:

Image2

If the automation wants to close the collection process, it must, necessarily call the routine ContinuaFuncaoSiTefInterativo passing --1 (minus one) in the Continue field. If the process of collection should continue, it should not modify any of the fields filled by CliSiTef except for the Buffer which, in the new call, must contain the collection result (if Command different from 0) or the original data if Command came with 0. Note also that even if the Buffer contains a field collected by automation, its size must be recommended by this document as it will contain, upon return, new data provided by the routine.

Note that the Buffer field may have been filled in by the routine with some data to be memorized, displayed on the display or for another reason, according to what is specified in the description of each command that the automation application must handle.

IMPORTANT: It is mandatory that the automation ALWAYS collect fields not treatable by her, that is, if she receives some code in pinpad error

that she is unaware of or does not wish to treat, that the information is captured by the operator typing the requested information.

Command code table#

Below we present the possible values ​​for the parameter Command and the action that the application should perform upon receiving it. It is important that the commercial automation handles all commands in this table.

CommandDescription
0It is returning a value to, if desired, be stored by the automation
1Message for operator display
2Message for the customer display
3Message for both displays
4Text that should be used as title in the menu presentation (see command 21)
11You must remove the message displayed on the operator display (command 1)
12You must remove the message displayed on the customer's display (command 2)
13Must remove message displayed on operator and customer displays (command 3)
14You must clear the text used as title in the menu presentation (command 4)
15Header to be displayed by the application. Refers to the display of additional information that some transactions need to show on the screen.
An example is the Bank Correspondent Loan transaction, which at a certain point requires information to be shown to the customer detailing the loan being contracted (such as Installment amount, due date, etc.).
16You must remove the header presented by command 15.
20You must present the text in Buffer, and obtain a YES/NO answer.
In the return, the first character present in Buffer must contain 0 if confirmed and 1 if cancelled.
21It should present a menu of options and allow the user to select one of them.
In the call, the Buffer parameter contains options in the format 1:text;2:text;...i:Text;...
The application routine must present the options in the way it wishes (it is not necessary to include the indices 1,2, ...).
After the selection made by the user, return the index i chosen by the operator in Buffer (in ASCII)
22You must display the message in Buffer, and wait for a key from the operator. It is used when you want the operator to be notified of a message displayed on the screen.
23This command indicates that the routine is asking the application whether it wants to interrupt the data collection process or not. This code occurs when CliSiTef is accessing some peripheral and allows the automation to interrupt this access (for example: waiting for a card to be passed through the reader or for the customer to enter a password)
Note: It is important that the “Commercial Automation Application” does not place “delays” when handling this command. At this point, some device (pinpad, barcode reader...) is carrying out some processing (reading card/barcode, collecting password) and a “delay” causes delays in accessing data from the device, which may not be more available, resulting in data loss and communication errors.
29Analogous to command 30, however, a field must be collected that does not require intervention from the cashier, that is, it does not need to be typed/shown on the screen, but rather passed directly to the library by automation.
An example is the payment methods that some transactions require to identify which type of payment is being used.
The value to be collected refers to the field indicated in FieldType, whose size is between Minimum Size and Maximum Size. The field must be returned in Buffer.
30A field whose size is between Minimum Size and Maximum Size must be read. The read field must be returned in Buffer.
31The number of a check must be read. Collection can be done by reading the CMC-7, typing the CMC-7 or typing the first line of the check.
On return, it must be returned in Buffer:
“0:”(typing the first line of the check),
“1:”(CMC-7 reading) or
“2:”(CMC-7 Typing),
followed by the number collected manually or by reading/typing the CMC-7, respectively.
When the first line of the check is collected manually, the format is as follows: Clearing (3), Bank (3), Agency (4), C1 (1), Current Account (10), C2 (1), Account Number Check (6) and C3 (1), in that order. Note that these fields are those at the top of a check and in the order presented.
We suggest that an interface be presented during the collection that allows the operator to identify and properly enter this information so that the query is not made with incorrect data, returning a check with problems as good.
34A monetary field must be read, that is, it accepts the cent delimiter and returned in the Buffer parameter.
35A bar code must be read or collected manually.
The Buffer return must contain “0:” or “1:” followed by the barcode collected manually or by the reader, respectively.
It is up to the application to decide whether the collection will be manual or through a reader. If manual collection is required, it is recommended to follow the procedure described in the ValidaCampoCodigoEmBarras[1] routine in order to treat a bar code in the most generic way possible, leaving the automation application independent of future changes that may arise in the bar formats.
When returning from Buffer, “2:” can also be passed, indicating that the collection was canceled, but the flow will not be interrupted, so in the case of multiple payments, all documents previously collected will be maintained and the flow will be resumed, allowing making such payments.
41Analogous to Command 30, but the field must be collected in a masked way.
42Menu identified. It should present a menu of options and allow the user to select one of them.
In the call, the Buffer parameter contains options in the format class
The application routine must present the options in the way it wishes (it is not necessary to include the indexes 1,2, ..., nor field codes, type and class) and after the selection made by the user, return in Buffer the index i chosen by the operator (in ASCII).
The option code is the identification (Table of payment method codes, settings and menus) of the option field, it can be used to identify the chosen option.
Within each “class” there is coding of “types”, and each pair (class, type) indicates the nature of the option. Initially, only identification for payment methods was implemented. The idea is to add codes that identify menu options to enable the POS to identify these options without the operator's assistance.
·       Classes:
o   0: Class not defined
o   1: Payment method, types below:
§  1: Money
§  2: Check
§  3: Debit
§  4: Credit
§  5: Loot
§  6: Another way
The other menus are not identified. Unidentified menus receive a zero value in these fields, indicating that there has not yet been a need to classify them.
Option classes are intended to define a context for which the code that identifies the type of option is determined. Thus, an option in the menu is always identified based on the option type and option class pair.
This command is used when the additional parameter ItemMenuIdentificado is used (Enabling special configurations). In this case, command 21 (menu collection) will be replaced in most cases, and the application must be prepared to handle both commands when this parameter is enabled.

Table of values ​​for FieldType#

Below we present the possible values ​​for the field TipoCampo and respective meanings5:

Fields marked with * indicate that they are used in one or more products.

Note that not all fields are returned in all transactions. In addition Furthermore, there are fields that are only returned if the transaction was approved.

The automation application must ignore those fields that do not wish/do not know how to treat since, in future versions of CliSiTef, new fields may be made available. Note that the correct way to ignoring these fields is executing the function defined in NextCommand or simply ignore the data returned to the application when NextCommand is 0.

Commercial automation is responsible for storing receipts for printing at the appropriate time, in accordance with current Tax legislation.

In the case of Banking Correspondent or Functions Administrative, any receipt must be printed at the moment they are made available for automation and information whether they were printed correctly or not is passed through the function ContinuaFuncaoSiTefInterativo through the value 0 or -1, respectively, placed in Continue.

FieldTypeDescription
-1There is no information that can/should be handled by automation
0The routine is being called to indicate that it has just collected the transaction data and will start interacting with SiTef to obtain authorization
1Transaction confirmation data. For environments with multiple servers, it will be returned in the following format:
<Data_Confirmation>;<Index_SiTef>;<Address_SiTef>
2Informs the SiTef function code used in the message sent to the server.
10 to 99Informs which option is selected in the transaction navigation menu, following the same coding used to define payment restrictions described in the item Restricting or enabling payment methods.
and
3000 to 3999
100Payment method in xxnn format.
xx corresponds to the modality group and nn to the subgroup.
Group:
·       00: Check
·       01: Debit Card
·       02: Credit Card
·       03: Voucher card
·       05: Loyalty Card
·       98: Money
·       99: Another type of card
Subgroup:
·       00: In sight
·       01: Pre-dated
·       02: Installments with financing by the establishment
·       03: Installments with financing by the administrator
·       04: Cash with interest
·       05: Credit
·       99: Other type of payment
101Contains the actual text of the payment method that can be memorized by the application if necessary. Describe in full the xxnn pair given in 100
102Contains the descriptive text of the payment method that must be printed on the tax coupon (e.g.: T.E.F., Check, etc...)
105Contains the date and time of the transaction in the format AAAAMMDDHHMMSS
110Returns when a transaction is cancelled. Contains the cancellation modality in the xxnn format, following the same xxnn format as TipoCampo 100. The nn sub-group, however, contains the default value 00 as it is not collected.
111Contains the actual text of the cancellation method that can be memorized by the application if necessary. Describes in full the xxnn pair given in 110.
112Contains the descriptive text of the cancellation method that must be printed on the tax coupon (e.g.: T.E.F., Check, etc...).
115Adjustment mode
120Buffer contains the check authentication line to be printed on the back of the check
121Buffer contains the first copy of the payment receipt (customer copy) to be printed on the fiscal printer. This copy, when possible, is reduced so that it takes up few lines on the printer. It can be a sales or administrative receipt
122Buffer contains the second copy of the payment receipt (cash copy) to be printed on the fiscal printer. It can be a sales or administrative receipt
123Indicates that the receipts that will be delivered next are of a certain type:
·       PROOF_PURCHASES = "00"
·       VOUCHER_VOUCHER = "01"
·       PROOF_CHEQUE = "02"
·       PROOF_PAYMENT = "03"
·       PROOF_MANAGERIAL = "04"
·       PROOF_CB = "05"
·       RECEIPT_RECHARGE_CELL PHONE = "06"
·       RECEIPT_RECHARGE_BONUS = "07"
·       RECEIPT_RECHARGE_GIFT = "08"
·       PROOF_RECHARGE_SP_TRANS = "09"
·       PROOF_MEDICATIONS = "10"
125Voucher Code
130Indicates, upon collection, that the field in question is the value of the cash change to be returned to the customer. When returning the result (Command = 0) it contains the value actually approved for the change
131Contains an index that indicates which institution will process the transaction according to the table at the end of the document (up to 5 significant digits)
132Contains an index that indicates the type of card when that type is identifiable, according to a table to be provided (5 positions)
133Contains the SiTef NSU (6 positions)
134Contains the NSU of the authorizing Host (20 positions maximum)
135Contains the Authorization Code for credit transactions (15 positions maximum)
136Contains the first 6 positions on the card (bin)
137Balance payable
138Total Amount Received
139Entry Value
140Date of first installment in ddmmyyy format
143Tip amount
144Refund value
145Payment amount
146The routine is being called to read the Value to be canceled. If the automation application has this value, it can present it to the operator and allow him to confirm the value before passing it back to the routine. If it does not have this value, you must read it.
147Amount to be canceled
150Contains Track 1, when available, obtained from the LeCartaoInterativo function
151Contains Track 2, when available, obtained from the LeCartaoInterativo function
153Contains the customer's password captured through the LeSenhaInterativo routine and the customized Software Express security lib must be passed to the commercial establishment in order to obtain the open password
154Contains the new payment amount
155Bonus card type
156Name of institution
157Establishment Code
158Authorizing Network Code
160Original coupon number
161Payment Coupon Identification Number
This is a counter (starting with value 0) of payments that occurred on the coupon.
Example: If there were 6 payments in the Coupon, the values ​​returned will be from [0] to [5].
170Installation Sale of Qualified Establishment
171Minimum Number of Installments – Establishment Installments
172Maximum Number of Installments – Establishment Installments
173Minimum Value Per Installment – ​​Establishment Installments
174Sell in Installments Qualified Administrator
175Minimum Number of Installments – Administrative Installments
176Maximum Number of Installments – Administrative Installments
177Indicates that the field is numeric (PBM)
178Indicates that the field is alphanumeric (PBM)
200Available balance*, balance of the specific product (school, transport voucher)
201Blocked Balance
500Indicates that the field in question is the supervisor's code. Automation can, if desired, validate the collected data, allowing the transaction flow to continue normally if an acceptable supervisor is present.
501Type of Document to be consulted (0 – CPF, 1 – CGC)
502Document number (CPF or CGC)
504Service Fee
505Number of Installments
506Pre-dated date in ddmmyyy format
507Captures whether the first installment is in cash or not (0 – First in cash, 1 – otherwise)
508Interval in days between installments
509Captures whether it is a closed month (0) or not (1)
510Capture whether it is with (0) or without (1) post-dated guarantee with debit card
511Number of CDC Installments
512Credit Card Number Entered
513Card expiration date
514Card security code
515Transaction date to be canceled (DDMMYYY) or to be reprinted
516Document number to be canceled or reprinted
517The routine is being called to read the Check Number as described in the type of command corresponding to value 31
518Item Code
519Payment Plan Code
520NSU from SiTef Original (Cisa)
521Identification document number (RG)
522The routine is being called to read the Phone Number
523The routine is being called to read the area code of a telephone with up to 4 digits
524Value of the first installment
525Value of other installments
526Number of checks
527Check due date
529The routine is being called to read the Account Opening Date in the format (MMAAAA)
530Supervisor authorization entered
531Special supervisor authorization
532The routine is being called to read the number of installments or checks
533Additional sales data
534Check issuer
535The document paid for the transaction
536CDL-Poa check consultation return records
537Area code of the city of the check
550Address
551Address number
552Floor of address
553Address set
554Address block
555Address zip code
556Address neighborhood
557CPF for AVS consultation
558AVS query result
559Number of days of pre-dating
560Number of Cycles
561Occurrence Code
562Store Code (EMS)
563POS Code (EMS)
564Data Returned (EMS)
565Telephone Extension
566RG Issuing Body
567State where the ID was issued
568RG dispatch date
569Operator Registration
570Operator Name
571Lecturer's Registration
572Name of Lecturer
573Percentage of Interest Applied
574Authorizer Registration
575Original Transaction Tax Coupon Date
576Original Transaction Tax Coupon Time
577Carnet details or EMS summary code
578Differentiated mile code 1
579Value of differentiated miles 1
580Differentiated mile code 2
581Value of differentiated miles 2
582EMS external code type
583EMS external code
587Code name of the cell phone authorizing institution
588Cell phone authorization establishment code
593Check digit(s)
594Zip code of the location where the terminal in which the operation is being carried out is located
595Obsolete. SiTef NSU corresponding to the Recharge payment transaction with card
596Obsolete. Nsu of the Authorizing Host corresponding to the Recharge payment transaction by card
597Code of the Branch that responded to the cell phone recharge request
599Cell phone recharge authorizing network code
600Title/agreement expiration date in DDMMAAAA format
601Amount Paid*
602Original Value
603Additional Value
604Rebate Value
605Payment Accounting Date
606Name of the Assignor of the Title. It must be printed on the check when payment is made via this method
607Document index, in the case of batch payment, of fields 600 to 604 that will follow
608Payment method used in the banking correspondent role. Follows the same formatting rule as the number 100 field
609Total value of titles actually paid in case of batch payment
610Total value of unpaid titles in case of batch payment
611NSU Banking Correspondent
612Document type: 0 - Collection, 1 - Title (Compensation form), 2 - Tax
613Contains the details of the check used to pay bills in the following format: Clearing (3), Bank (3), Agency (4), Current Account (10), and Check Number (6), in that order. Note that the order is the same as that on the top line of the check without the check digits
614NSU SiTef payment transaction
620NSU SiTef of original transaction (cancellation transaction)
621NSU Bank Correspondent of the original transaction (cancellation transaction)
622Benefit Value
623Code printed at the bottom of the CB receipt and used for re-printing/cancellation
624Paid barcode. Appears once for each document index (field 607). The format is the same as that used to enter the field, that is, 0:number or 1:number
625Withdrawal receipt
626Bank number
627Agency
628Agency digit
629Account
630Account digit
631Money value
632Amount by check
633Name of depositor
634Original Banking Correspondent Document
635User key used to communicate with the Bank
636Unique sequence of the user's key in the Bank
637Code of the correspondent's store relationship agency
638CB Check Number
639Invoice Number
640Agreement Number
641Statement Start Date (DDMMAAAA)
642Statement End Date (DDMMAAAA)
643Calculation Period
644Federal Revenue Code
645Value of Gross Revenue
646Applied Percentage
647Main Value
648Fine Value
649Interest Value
670PinPad Data
700ValeGás Operator
701ValeGás Product
702ValeGás number
703Reference Number
704GPS code
705GPS Competence
706Contributor Identifier
707INSS Value
708Value Other Entities
709Allows Payment of Bills With Cash (0 – Does not allow; 1 – Allows)
710Allows Payment of Bills by Check (0 – Does not allow; 1 – Allows)
711Allows Payment of Bills with TEF Debit (0 – Does not allow; 1 – Allows)
712Allows Bill Payment With TEF Credit (0 – Does not allow; 1 – Allows)
713Payment Methods used in the Generic Payment transaction
714Withdrawal Value
715Order Number
716CB Deposit Limit Value
717CB Withdrawal Limit Value
718Withdrawal Limit Value for CB Payment
719Value of the ValeGás product
722Minimum payment amount
723Customer Identification, for Carrefour receipt only
724Sell Credit in Installments with Plan Enabled
725Sell Credit with Qualified Cash Authorization
726Sell Credit with Installment Authorization with Enabled Plan
727Bill Sale Enabled
729Maximum payment amount
730Maximum number of payment methods, 0 for no limit
731Payment Type Enabled, repeats “n” times, where “n” is the number of payment methods enabled:
·       00 Money
·       01 Check
·       02 TEF Debit
·       03 TEF Credit
·       04 Carrefour Gift Card (Prepaid)
·       05 Carrefour Bonus Card
·       06 Carrefour Card
·       07 Withdrawal for payment
·       08 Withdrawal
·       09 DCC Carrefour
·       50 TEF Card
·       77 Reserved Field
732Data to be sent for the Payment Type (Field 730) previously returned, repeats “n” times, where “n” is the number of data to be sent for the respective Payment Type:
·       00 Reserved Field
·       01 Check Entry Type
·       02 Check Details
·       03 Destination Network
·       04 SiTef NSU of the TEF transaction
·       05 SiTef date of the TEF transaction (unused, future use)
·       06 Company (Store) Code of the EFT transaction
·       07 TEF Transaction Host NSU
·       08 TEF transaction Host Date (Field 105 CliSiTef)
·       09 Origin Code (Establishment) of the TEF transaction
·       10 Service Z of the EFT transaction
·       11 EFT Transaction Authorization Code
·       12 Check Amount
734Minimum sales limit for flexible promotions, with 12 digits with the last 2 digits referring to decimal places
738Suggested value for the selected product.
739Preferred Customer
750Pay Easy Value CB
751Pague Fácil CB Fare Value
from 800 to 849The entire range from 800 to 849 is reserved for the return of GerPdv
950CNPJ NFCE Accreditor
951NFCE Flag
952NFCE authorization number
953SAT Accreditation Code
1002Card Expiration Date
1003Cardholder Name
1010Quantity of medicines - PBM
1011Drug index – PBM
1012Medication code – PBM
1013Authorized quantity – PBM
1014Maximum consumer price – PBM
1015Recommended consumer price – PBM
1016Pharmacy sales price – PBM
1017Refund value at the pharmacy – PBM
1018Replacement value at the pharmacy – PBM
1019Subsidy value of the agreement – ​​PBM
1020CNPJ agreement – ​​PBM
1021Discount plan code – PBM
1022Does have a prescription – PBM
1023CRM – PBM
1024UF – PBM
1025Product description* - PBM
1026Product code – PBM
1027Product quantity – PBM
1028Product value – PBM
1029Date of medical prescription - PBM
1030PBM authorization code
1031Quantity reversed – PBM
1032PBM chargeback code
1033Recommended cash consumer price – PBM
1034Recommended price consumed for payroll deduction – PBM
1035Pharmacy replenishment percentage – PBM
1036Replacement commission – PBM
1037Authorization Type – PBM
1038Partner code – PBM
1039Name of partner – PBM
1040Type of PBM Medicine (01–Medicine, 02-Handling, 03-Special Handling, 04-Perfumery)
1041Medicine Description – PBM
1042Condition for sale: If 0 mandatory, use Functional Card (PF) price
If 1 can sell for a price lower than the PF price
1043Functional price card
1044Price charged – PBM
1045Drug status – PBM
1046Amount prescribed – PBM
1047Reference – PBM
1048PBM sales indicator (0-Product sold by card 1-Product sold in cash)
1051Date of birth
1052Mother's name
1058Additional data – ACSP
1100Analytical record CHECKCHECK
1101ACSP analytical record
1102SERASA analytical record
1103ACSP analytical screen image
1104SERASA analytical screen image
1105Reason for cancellation – ACSP
1106Query type – ACSP
1107CNPJ Affiliated Company
1108Administrator code
1109Telecheque table data - ACSP
1110Driver registration – Fuel Card
1111Vehicle plate – Fuel Card
1112Mileage – Fuel Card
1113Quantity of liters – Fuel Card
1114Main fuel – Fuel Card
1115Fuel products – Fuel Card
1116Host Product Code – Fuel Card
1117Hour Meter – Fuel Card
1118Credit Line – Fuel Card
1119Type of Goods – Fuel Card
1120Branch – Fuel Card
1121Decimal places of unit prices – Fuel Card
1122Maximum quantity of products for sale
1123Product code size – Fuel Card
1124Vehicle code – Fuel Card
1125Company Name – Fuel Card
1126Decimal places of quantity – Fuel Card
1128List of Questions – Fuel Card
1129Allows Product Collection – Fuel Card
1131Limit Code
1132Number of Holders
1133Company Opening Date (DDMMAAAA)
1134Name of Holder
1135Address Complement
1136City
1137State
1152Value Menu - SPTrans
1160Product with Face Value – Gift
1190Issue (last 4 digits) of the Card
1200Total previous consultations
1201Accumulated value from previous queries, containing 2 decimal digits but without the decimal character.
1202Total number of consultations carried out on the day.
1203Accumulated value of consultations on the day, containing 2 decimal digits but without the decimal character.
1204Total number of post-dated check consultations carried out in the period.
1205Accumulated value of post-dated checks, containing 2 decimal digits but without the decimal character.
1206Seller (User) - PBM
1207Password – PBM
1208Return Code – PBM
1209Origin – PBM
1321NSU of Canceled Transaction Authorizing Host
2006Type of encryption
2007MasterKey Index
2008Encryption key
2009Card password
2010Authorizer response code
2011Network bin
2012CHIP serial number
2013CHIP control record
2014Common balance, common pass balance
2015Gift card PAN
2017First due date
2018Total value
2019Amount financed
2020Percentage fine
2047Default interest
2048TAC (Administration fee)
2053Menu (product) selected Visanet
2054CDC Credit Type (1 – CDC Product; 2 – CDC Service)
2055Date/Time Sitef (Location)
2056Day of the week Sitef (Local)
2057Sitef Date/Time (GMT)
2058Sitef Day of the Week (GMT)
2059Payment Method Data - SPTrans
2064Cash payment amount
2065Check query code (Generic EMS)
2067Authorizer message to be displayed along with the values ​​menu (If the terminal allows it)
2078Service code
2079Service value
2081Product Menu
2082Our number
2083Total value of the product containing the decimal separator (“,”) and two decimal places after the comma.
2086Product Code - ValeGas
2087Deadline statement: 0: No; 1: Yes
2088Total/Partial Cancellation: 0: Partial; 1: Total
2089Invoice identification number.
2090Card type Read:
·       00 – Magnetic (Traditional magnetic cards and Samsung Pay in “MST – Magnetic Secure Transmission” mode)
·       01 - VISA Cash currency exchanger on TIBC v1
·       02 - VISA Cash currency exchanger on TIBC v3
·       03 - EMV with contact
·       04 - Easy-Entry on TIBC v1
·       05 - Contactless chip simulating stripe
·       06 - Contactless EMV (Traditional cards, contactless stickers and bracelets, in addition to mobile solutions such as Apple Pay, Google Pay, Samsung Pay in “NFC – Near Field Communication” mode, among others)
·       99 – Typed
2091Status of last card reading
·       0 - Success.
·       1 - Error subject to fallback.
·       2 - Application required not supported.
2093Attendant code
2103Indicates whether it was an offline transaction: 1: Yes
2109Temporary password
2124Cellphone Recharge fee value (via Banking Correspondent. Example: CB Bradesco)
2125Plot number (2 characters) (Hotcard)
2126Transaction sequence (6 characters) (Hotcard)
2301Footer of proof of establishment copy
2320Depositor Code – CB
2321Customer Code
2322Card Sequence – CB
2323Via Card - CB
2324Extract Type – CB
2325Transfer limit value - CB
2326Limit value for collecting CPF/CNPJ – CB
2327Owner’s CPF/CNPJ – CB
2328CPF/CNPJ of the Bearer – CB
2329Type of Owner's document - CB
2330Type of Bearer document - CB
2331Indicates whether payment by CB card is allowed
2332Transfer Value
2333Transaction identification
2334Pin Code
2355When returned, it acts as a “hint” for the format of the next field that will be collected. It is normally accompanied by the zero command (0 – return value for use by automation).
Assumes the following values:
·       The Alphabetical
·       AN Alphanumeric (ans)
·       LN Unaccented letters and numbers
·       N Numeric
·       Vx Value with x decimal places
·       Y Yes/No
·       M Menu
·       Mc Menu with confirmation
It is not a field that is returned in all field collections, only in situations that must be addressed in the specific document for each network.
2361Indicates that a debit transaction was carried out to pay the carnet
2362Returned right after the bin query transaction. The value 1 indicates that the authorizer is able to treat conventional debit transactions differently from debit transactions for bill payments.
2363Indicates that a credit transaction was carried out to pay the carnet
2364Returned right after the bin query transaction. The value 1 indicates that the authorizer is capable of treating conventional credit transactions differently from credit for bill payment.
2369Points to be redeemed (numeric without decimal place).
2421Informs whether the additional customer data collection function is enabled (0 or 1)
2467Date in DDMMAA Format Positive Confirmation
2468Date in DDMM Format Positive Confirmation
2469Date in MMAA Format Positive Confirmation
2470Floating Point Field
2601Message for pinpad
2602Hash Seed
2603Mode for card reading using function 431.
2699Sends additional GIFT Activation/Recharge information, returned by the SQCF host, to Automation
2925Credit Card Recharge Amount
2965Debit Card Recharge Amount
2974Sell in Installments via Qualified Credit
2975Minimum number of installments for credit
2976Maximum number of installments for credit
3481Menu (managerial) AVS Query
3988Credit Menu
3989Credit Simulation Menu
4000Pre-Authorization Status – PBM
4001CRF – PBM
4002UF of CRF – PBM
4003Type of sale – PBM
4004Total PBM value
4005PBM cash value
4006PBM card value
4007Our PBM numbers
4008Percentage of discount granted by the administrator (2 decimal places)
4016Gross price – PBM
4017Net price – PBM
4018Amount receivable from the Store, in cents – PBM
4019Batch number generated by Central – PBM
4020Total amount receivable from the store – PBM
4021Total amount receivable from the store – PBM
4022Sum of Operation values ​​– PBM
4023Operator name – PBM
4024Name of partner company – PBM
4025Number of dependents – PBM
4026Dependent code – PBM
4027Dependent’s name – PBM
4028Amount receivable from the partner – PBM
4029Total discount value, in cents
4030Total net value, in cents - PBM
4031PBM Selected Operator Code (must be recorded for later sending in other transactions)
4032Free data return field relating to PBM transactions.
4033PBM document type (0 = CRM, 1 = CRO)
4034Redemption Data - Bonus
4039PBM Response Code (0 = Ok, <>0 = error)
4040PBM Fractional Product (0 = no, 1 = yes)
4041Patient ID PBM (-1 = others, 00 = holder, 01 = dependent)
4043PBM ID Revenue (revenue registered by the company)
4044Revenue item ID PBM (revenue item registered by the company)
4045Recipe for continuous use (0 = no, 1 = yes)
4046PBM Manipulated Product (active ingredients)
4047PBM Manipulated Product Original Value
4058Approved Product Value with Discount
4076Store Identification
4077Contains the FEPAS NSU (20 positions maximum)
4095CPF/CNPJ of the Beneficiary
4096CPF/CNPJ of the Sacador
4097Payer's CPF/CNPJ
4100Communication error (for example: timeout) The Buffer contains the Error code.
Examples:
[TCP:R:10054] An existing connection was forced to be canceled by the remote host.
[TCP:C:10060:TO] A connection attempt failed because the connected component did not respond correctly after a period of time
or the established connection failed because the connected host did not respond.
4125Customer Coupon available, for reprinting or consultation, in the SiTef database
4126Establishment Coupon available, for reprinting or consultation, in the SiTef database
4127Number of days that coupons will be available in the SiTef database

Event Table, also returned in TypeField#

During the transaction, CliSiTef may report the occurrence of certain events. These events are returned in the FieldType parameter of the ContinuaFuncaoSiTefInterativo or ContinuaFuncaoSiTefInterativoA routine, as shown in the table below.

FieldTypeDescription
5000Indicates that the library is waiting to read a card
5001Indicates that the library is waiting for the user to enter the password
5002Indicates that the library is waiting for the user to enter positive confirmation data
5003Indicates that the library is waiting to read the single ticket
5004Indicates that the library is waiting for the single ticket to be removed
5005Indicates that the transaction has been completed
5006Confirm Payee Data
5007SiTef Connected
5008SiTef Connecting
5009Query OK
5010Signature Harvest
5011New Product Collection
5012Confirm Operation
5013Confirm Cancellation
5014Confirm Total Value
5015Single Ticket Recharge Completion
5016Reserved
5017Waiting for card reading
5018Waiting to enter password on PinPad
5019Waiting for chip processing
5020Waiting for card removal
5021Waiting for confirmation of operation
5027Canceling card reading
5028Canceling password entry on PinPad
5029Cancelation of card processing with CHIP
5030Card removal cancellation
5031Operation confirmation cancellation
5036Before reading the magnetic card
5037Before reading the CHIP card
5038Before removing the CHIP card
5039Before collecting the password on the pinpad
5040Before opening communication with the PinPad
5041Before closing communication with the PinPad
5042Should block resources for PinPad
5043Must release resources for PinPad
5044After opening communication with PinPad
5049Timeout with SiTef
5050Update of tables for offline transactions.
The content of this field varies depending on the transaction being carried out.
5051Indicates that you have collected a password on the pinpad.
5052Indicates that it processed a chip card (GoOnChip)
5053Indicates that you removed the chip card from the pinpad reader
5054Indicates that sensitive data has been delivered (Specific for POS PAX)
5055Indicates that tables are being updated in pinpad (Event returned for each record sent to pinpad)
5056Indicates that you are sending files to Sitef
5057Indicates the start of sending fields with sensitive data.
5058Indicates end of sending fields with sensitive data
5059Indicates that it is waiting for card reading (Mode 29)
5060Reserved
5061Reserved
5062Indicates start of sending fields related to products (fuels, medicines, etc.)
5063Indicates end of sending fields related to products (fuels, medicines, etc.)
5074Indicates that a paper signature must be obtained when paying with a chip card
5501Start of a Banking Correspondent type transaction.

Payment confirmation or not#

Routine called by the application to close the transactional cycle. She must be activated at the moment the tax receipt is closed and receives as parameters an indicator of whether the transaction was completed or whether it should be reversed. It also receives the fields that allow identify the transaction being finalized.

This function should also be used to undo a transaction interrupted by a power outage or any other problem in the application.

This routine confirms or cancels ALL payments linked to the same Tax Coupon Number and same Tax Date passed as parameter.

void FinalizaFuncaoSiTefInterativo (Confirma, TaxCoupon, TaxDate, TaxTime, ParamAdic);

ASCII Interface

void FinalizaFuncaoSiTefInterativoA (Confirma, TaxCoupon, TaxDate, TaxTime, ParamAdic);

ParameterTypeStandard interfaceASCII interfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
ConfirmEntry, by valueshortFixed 1Indicates whether the transaction should be confirmed (1) or reversed (0)
TaxCouponInput, by valuechar *Max. 20Tax Coupon number corresponding to the sale
TaxDateInput, by valuechar *Fixed 8Fiscal Date in AAAAMMDD format
TaxTimeInput, by valuechar *Fixed 6Fiscal Time in format HHMMSS[1]
ParamAdicInput, by valuechar *VariableAdditional parameters, described below. If not used, automation must pass empty/NULL.

[1] The HoraFiscal parameter is not used as a “key” for a tax document.

Example: A sale made by the function IniciaFuncaoSiTefInterativo, passing as parameters Function 0, Value 10.00, Coupon Tax 12345, Tax Date 20150101, Tax Time 121500. When confirming the transaction, the function FinalizaFuncaoSiTefInterativo must be called using the following parameters: Confirm 1, Tax Coupon 12345, Tax Date 20150101, Tax Time 121500, ParamAdic as empty/NULL as there is no additional data.

The ParamAdic parameter can be used in the following situations:

Completion of individual payments in the same tax coupon#

For each payment, CliSiTef returns in FieldType 161 (Number of payment on the coupon) an index/counter corresponding to the payment.

To (non-)confirm a specific payment within a tax coupon, the automation must inform this value to the routine FinalizaFuncaoSiTefInterativo as an additional parameter:

{NumeroPagamentoCupom=XXX}

where XXX is the payment number, returned previously in the FieldType 161.

Completion of payments for a given network in the same tax coupon#

To (non) confirm payments relating to a certain authorizing network, you must go through the routine FinalizaFuncaoSiTefInterativo the following additional parameter:

{RedeConfirmacao=XXX}

where XXX is the authorizing network number.

Attach data relating to payment methods for a transaction (NFPAG)#

To attach data relating to payment methods for a transaction, the fields must be captured: 161 (Payment number on the coupon), 730 (Maximum number of payment methods), 731 (Types of payment enabled) and 732 (Data to be collected for the type of payment), returned in the transaction flow, and pass it to the routine FinalizeFuncaoSiTefInterativo through additional parameters NumeroPagamentoNFPAG and NFPAG.

{NumeroPagamentoNFPAG=X}{NFPAG=Y}

Where:

X = Payment number in the coupon (Field 161)

Y = Data relating to payment methods (See description below)

Note: In this case, all payments in the same tax coupon will all be confirmed or unconfirmed.

NFPAG parameter description:

{NFPAG=FPAG1;FPAG2; FPAG3;...;FPAGn;}

Where FPAGn has the following content:


If there is data to be collected


TypeN:ValueN:CollectionIDN1:CollectionDataN1-CollectionIDN2:CollectionDataN2-...-CollectionIDNn:CollectionDataNn

If there is no data to be collected

TypeN:ValueN


=> TypeN: indicates the payment method used (Field 731, as per table below)

=> ValorN: indicates the value used with this payment method, with two decimal places, without the comma

=> IDCollectionNn: indicates the ID of the field that was collected by the POS (Field 732, as shown in the table below)

=> DataCollectionNn: indicates the content collected by the POS for this field

Note: The consistency of the values ​​(sum of the various forms of payment used, totaling the value of the transaction carried out) must be made by the POS.

Example:

At the end of a transaction worth R\$ 50.00, returning the field 730 equals 2 and the fields 731 and 732 indicating that you accept the following payment methods: Cash (no data to be collected); TEF Debit (needs to send the Destination Network, the Host NSU, the Host Date and Origin Code of the TEF) and TEF Credit transaction. O field 730 equal to 2, indicates that in the NFPAG parameter, sent a maximum of 2 payment methods.

The POS, in turn, upon confirmation of the transaction, will send the payment forms payment that were actually used: R\$ 30.00 was paid in cash and R\$ 20.00 were paid with a Redecard debit card (Rede Destination = 5; Host NSU = 123456789; Host Date = 12/15/2008; Code Source = 000000000000001).

{NFPAG=00:3000;02:2000:03:5-07:123456789-08:15122008-09:000000000000001;}

Note: All payment methods must be separated by ; (semicolon), including the last one must be ended by ;

FieldTypeDescription
730Maximum number of payment methods to be sent using the NFPAG parameter. 0 for no limit.
731Payment Type Enabled, repeats “n” times, where “n” is the number of payment methods enabled:
·       00: Money
·       01: Check
·       02: TEF Debit
·       03: TEF Credit
·       04: Carrefour Gift Card (Prepaid)
·       05: Carrefour Bonus Card
·       06: Carrefour Card
·       07: Withdrawal for payment
·       08: Loot
·       09: DCC Carrefour
·       10: Electronic Ticket
·       11: Paper Ticket
·       12: Digital Wallet
·       13: Pix
·       50: TEF Card
·       77: Reserved Field
·       98: No Payment
·       99: Other Forms
732Data to be sent for the Payment Type (Field 731) previously returned, repeats “n” times, where “n” is the number of data to be sent for the respective Payment Type:
·       00: Reserved Field
·       01: Check Entry Type
·          o ‘0’: CMC-7 reading
·          o ‘1’: typing the first line of the check
·          o ‘2’: CMC-7 typing
·       02: Check Data
·          the CMC-7 read or typed, or
·          o Typing the first line of the check, with the following format:
·           o Clearing (3), Bank (3), Agency (4), C1 (1), Current Account (10), C2 (1), Check Number (6) and C3 (1), in that order.
·       03: Destination Network (Field 131)
            Identification of the authorizer of the TEF transaction.
·       04: SiTef NSU of the TEF transaction (Field 133)
            Identification of the TEF transaction in SiTef.
·       05: SiTef date of the TEF transaction
            Not used (Future use).
·       06: Company Code of the TEF transaction
            SiTef code for the Company used in the TEF transaction.
·       07: TEF transaction Host NSU (Field 134)
            Identification of the TEF transaction on the Host.
·       08: Host Date of the EFT transaction (Field 105)
            Date of the EFT transaction on the Host, in DDMYYY format.
·       09: Origin Code of the TEF transaction (Field 157)
            Establishment Code of the TEF transaction.
·       10: Service Z of the TEF transaction (Field 1)
            Value of service Z returned by the Sit module responsible for the TEF transaction.
           o Pass only the confirmation data, removing the data from the SiTef index and SiTef address if any, follow the format of this field:
             DataConfirmation;SiTefIndex;SiTefAddress
Another option would be to use the following configuration in the CliSiTef.ini file:
[General]
DevolveConfirmacaoExtendida=0
Using this configuration, even in the case of multiple SiTef, only Service Z will be returned in field 1 of the CliSiTef, this way it is also not necessary to change the value of the field when placing the NFPAG prefix.
·       11: Authorization Code for the TEF transaction (Field 135)
            Host Authorization Code for the EFT transaction.
·       12: Check Amount
            Total Check Amount. The same check can be used to pay more than one bill
·       13: Destination Network – Complement
            ID 03 complement (see description below)
·       14: Card Flag
            Flag of the Card used in the TEF transaction
·       15: Payment Type
         ‘00’ – the view
         ‘01’ – Pre-dated
         ‘02’ – Paid in installments by the establishment
         ‘03’ - Paid in installments by the administrator
·       16: Digital Wallet Id
            (returns in field 106 of Sale with Digital Wallet)

The ID 13 field, unlike the others, does not indicate a field that must be collected, it works only as a complement to the ID field 03, sending the list of permitted Destination Networks, in the following format:

IDColetaNn(Network1,Network2,...,NetworkN)

In other words, if only the ID 03 field is present, it must be collected the Destination Network, without any restrictions regarding the Networks that can pay the Recharge. However, if ID fields 03 and 13 are present, the The first indicates that the Destination Network must be collected, while the second indicates which Destination Networks are allowed for payment of the Recharge.

Furthermore, as the collection was indicated by ID 03, the POS must send the Destination Network to the Sit also through this ID (and not through ID 13).

Query transactions pending confirmation on the terminal#

In the event of a power outage, situations may occur in which the automation need to query transactions that are pending confirmation. This that is, transactions that need to be confirmed (or not) via FinalizaFuncaoSiTefInterativo.

Number of transactions pending confirmation on the terminal#

This function is used by the terminal to know how many transactions were carried out in the event of a power outage and are pending an automation action, via function call FinalizaFuncaoSiTefInterativo.

int ObtemQuantidadeTransacoesPendentes (TaxDate, TaxCoupon)

ASCII Interface

ObtemQuantidadeTransacoesPendentesA (Result, TaxDate, TaxCoupon)

ParameterTypeStandard interfaceASCII interfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
TaxDateInput, by valuechar *Fixed 8Fiscal Date in YYYYMMDD format
TaxCouponInput, by valuechar *Max. 20Tax Coupon number corresponding to the sale

The routine returns the number of pending transactions for the document informed tax, or -13 if the document was not found Supervisor.

Query pending transactions on the terminal#

It is possible to consult all pending confirmation information from the terminal.

This functionality is initiated through the function IniciaFuncaoSiTefInterativo with the Function parameter (first parameter routine input) assuming the value 130 and the other parameters with their usual values.

In particular, this function will disregard parameters relating to the fiscal document.

IMPORTANT: This routine only starts the request process. If the return is 10000, the process must continue through the routine ContinuaFuncaoSiTefInterativo until it returns a final result other than 10000.

The following fields will be returned for automation.

FieldTypeDescription
210Total number of pending issues, listed in the data blocks below
160Tax Coupon
161Payment Coupon Identification Number
163Tax Date
164Tax Time
211Original “Function” Code
1319Original transaction value

Query pending transactions in a specific tax document#

In a similar way to the previous item, it is possible to consult the data referring to a single tax document.

To do so, use the function IniciaFuncaoSiTefInterativo by passing the Function parameter the value 131 and the other parameters with their values usual. In this case, the parameters relating to the fiscal document.

The fields returned are identical to the previous item.

PinPad Functions#

PinPad presence test#

You can check the presence of the PinPad device and whether it is operational. To this end, logical opening and opening commands are sent closure of the communication channel.

There are two functions for this purpose.

The original function has the following format:

int VerificaPresencaPinPad (void)

Starting with version 4.0.114.4, a second function was created, where sent fewer commands to the pinpad, and without the pinpad display on/off.

int KeepAlivePinPad (void)

Both routines have no input parameters, and can return the following values:

1 - There is an operational PinPad connected to the computer;

0 - There is no PinPad connected to the computer;

-1 - PinPad access library not found;

another number - errors detected internally by the routine or by the PinPad access library

Set permanent message for the PinPad#

Allows you to define a permanent message to be displayed on the PinPad during the time it is not in use. The activation format routine is as follows:

int EscreveMensagemPermanentePinPad (Message)

Interface ASCII

EscreveMensagemPermanentePinPadA (Resultado, Message)

ParameterTypeStandard interfaceASCII interfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
MessageInput, by valuechar *VariableMessage to be displayed on the PinPad display. It is recommended that it has a maximum of 32 characters in order to be compatible with the PinPads currently in the field.

To erase the message and leave the display blank, simply call this function passing the empty Message field.

The application, if desired, can include the character '|' (Vertical bar) to indicate a line change.

Reading track 3 of the card#

This function allows the app to capture a magnetic 3 track generic.

Note that the PinPad must support reading track 3.

It should not be used to process payment transactions but only for reading internal cards of the commercial establishment (e.g. supervisor card). The activation format is as follows:

int LeTrilha3 (Message)

ParameterTypeStandard interfaceASCII interfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
MessageInput, by valuechar *VariableMessage to be displayed on the PinPad display.

Upon return, the routine returns the same values ​​as the payment. The application obtains the tracks by calling the continuation of the iterative process.

IMPORTANT: This function NOT can be used during execution of the ContinuaFuncaoSiTefInterativo loop.

Card reading - secure capture routines#

The following routines have their operation conditioned by two prerequisites:

1) Configuration of the .cha key file on the SiTef server. If the configuration is not done, these functions return the error 12 (SAFE MODE NOT ACTIVE).

2) After installing the .cha key file on the server SiTef, Automation must, at least once, communicate with the SiTef server. This is necessary for the POS station to make the download of data that allows the execution of the Reading routines of the secure card). To do this, perform a Communication Test or a financial transaction.

int LeCartaoSeguro (Message)

ASCII Interface

LeCartaoSeguroA (Result, Message)

ParameterTypeStandard interfaceASCII interfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
MessageInput, by valuechar *VariableMessage to be displayed on the PinPad display.

Upon return, the routine returns the same values ​​as the payment routine. The application obtains the tracks by calling the continuation function of the iterative process.

The fields returned in the iterative process are those referring to the fields sensitive (2021 to 2046).

Observation:

These functions are not available for Mobile environments. Because difficulties in using function entrypoints, and aiming to facilitate its implementation, "Function" 430 was made available, which is an alternative to using the "LeCartaoSeguro" function.

This "Function" follows the flow of a "Managerial" transaction and is accessed through IniciaFuncaoSiTefInterativo (See item "5.2 - Start of Payment or Management transaction").

• To use "Function" 430, the "Message" parameter to be displayed on the pinpad display, Commercial Automation will be requested in the flow of transaction through command 29 (See item "5.3.1 - Table of transaction codes Command"). If not provided by Automation, the default message "SPIN THE CARD".

• To read the card using function 430, the parameter was included additional "SementeHash" (not used when the LeCartaoSeguro function is call directly) which is optional and will be requested in the call flow. transaction. If the "SementeHash" parameter is used, optionally can be provided through the "ParamAdic" parameter in the call function IniciaFuncaoSiTefInterativo, in this case, it will not be requested in the transaction flow.

If requested in the transaction flow through command 29 and the parameter is not used, return the empty field.

If this parameter is used, the data returned to Automation Commercial will be hash generated from the informed seed (Type field 203x. See "Fields that can be returned" table below).

Parameter format in "ParamAdic":

{SementeHash=XX...XX}

Where: XX...XX: Maximum 64 characters.

IMPORTANT: These functions cannot be used during execution of the ContinuaFuncaoSiTefInterativo loop. For this type of In this situation, there are versions that provide direct access to the reader card described below.

int LeCartaoDiretoSeguro (Message, TypeCampoTrilha1, Trail1, TypeCampoTrilha2, Trail2, Timeout, TestCancellation)

ASCII Interface

LeCartaoDiretoSeguroA (Result, Message, TypeCampoTrilha1, Track1, TypeCampoTrilha2, Track2, Timeout)

ParameterTypeStandard interfaceASCII interfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
MessageInput, by valuechar *VariableMessage to be displayed on the PinPad display.
TypeFieldTrack1Output, by valuechar *Fixed 12Indicates the type of field that was returned in track 1, whether it is masked, encrypted or Hashed.
Track1Output, by valuechar *Max. 128The return contains, if any, Track 1 read
TypeFieldTrack2Output, by valuechar *Fixed 12Indicates the type of field that was returned in track 2, whether it is masked, encrypted or Hashed.
Track2Output, by valuechar *Max. 80The return contains, if any, Track 2 read
TimeoutInput, by valueshortFixed 6Defines the maximum waiting time for the card to be swiped in seconds. If zero, wait until the card is swiped
TestCancellationEntry, by valueRoutineNot usedAutomation application routine that returns 0 if it is to continue waiting for the card and 1 if it must interrupt the process of waiting for the card to be swiped

Upon return, the routine returns the value 0 (zero) if it was executed correctly and a non-zero value in case of error or interruption.

For this specific routine, the error codes returned are:

ValueDescription
0No error occurred
1Insufficient output field
2BIN NOT ENABLED
3Invalid CNPJ
4Expired access key
5Invalid version
6Invalid encryption key
7Unencrypted data with the key provided as a parameter: decryption resulted in a card number that is not made up of just digits.
8Invalid input data

The fields TipoCampoTrilha1 and TipoCampoTrilha2 indicate the type of field returned, respecting the value established for sensitive fields, with 202x for masked open fields, 203x for the hash of the fields, 204x for encrypted fields and 205x.

Fields that can be returned:

FieldTypeDescription
202xOpen fields, masked.
203xDynamic hash of fields
204xEncrypted fields
205xFixed hash of fields *

Where x is represented by the table below:

xField
1Card PAN
2Card expiration date (AAMM)
3Name of customer/carrier
4Track 1
5Track 2
6Track 3

* New implementations must use the 203x field, as the field 205x returns an encrypted hash using the encryption key inserted by the customer in the .cha file. This form of use (205x) exists just for compatibility, as the ideal is to use Hash with Salt (Seed - 203x) since the information used to generate the hash is hidden only within the applications that use it, making the process of reversing the hash until obtaining the original data practically impossible to execute by brute force.

IMPORTANT: These functions cannot be used during execution of the ContinuaFuncaoSiTefInterativo loop. For this type of In this situation, there are versions that provide direct access to the reader card described below.

int LeCartaoDiretoSeguroEx (Message, DataOut, TamDadosOut, Timeout, TestCancellation)

ASCII Interface

LeCartaoDiretoSeguroExA (Result, Message, DataOut, TamDadosOut, Timeout)

ParameterTypeStandard interfaceASCII interfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
MessageInput, by valuechar *VariableMessage to be displayed on the PinPad display.
Output DataOutput, by valuechar *VariableReturns the same data from the LeCartaoDiretoSeguro routine, concatenated in TLV format, where T corresponds to the field type (size 5), L is the field size (size 3) and V is the field (field size).
OutDataTamInput, by valuechar *Fixed 6OutData buffer size.
TimeoutInput, by valueshortFixed 6Defines the maximum waiting time for the card to be swiped in seconds. If zero, wait until the card is swiped
TestCancellationEntry, by valueRoutineNot usedAutomation application routine that returns 0 if it is to continue waiting for the card and 1 if it must interrupt the process of waiting for the card to be swiped

int LeTrilhaChipInterativo (Modality)

LeTrilhaChipInterativoEx (Modality, ParamAdic)

ASCII Interface

LeTrilhaChipInterativoA (Result, Modality)

ParameterTypeStandard InterfaceASCII InterfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
ModalityInput, by valueIntFixedSelects the type of payment:
2: Debit
3: Credit
ParamAdicInput, by valuechar *VariableAdditional parameters, such as {SementeHash=XXX..}. It is optional and can be empty

These functions work in the same way as LeCartaoSeguro/LeCartaoSeguroA, with the difference that they accept chip cards.

Observation:

These functions, "LeTrilhaChipInterativo", "LeTrilhaChipInterativoEx" and "LeTrilhaChipInterativoA" are not exported to the Mobile environment. Due to difficulties in using function entrypoints, in this environment, and aiming to facilitate its implementation, the "Function" 431 for access to the "LeTrilhaChipInterativoEx" function. It is "Function" follows the flow of a "Managerial" transaction and is accessed through of IniciaFuncaoSiTefInterativo (See item "3.2 Start of transaction Payment or Management").

• To use "Function" 431, the "Modality" parameter (Type of payment) and "ParamAdic"(SementeHash), will be requested to Automation Commercial in the transaction flow through command 29 (See item 3.3.1 Command code table).

• If the "SementeHash" parameter is used, it can optionally be provided through the "ParamAdic" parameter in the function call IniciaFuncaoSiTefInterativo, in this case, you will not be requested in the flow of transaction. If requested in the transaction flow through command 29 and the parameter is not used, return empty field.

If this parameter is used, the data returned to Automation Commercial will be hash generated from the informed seed (Type field 203x. See "Fields that can be returned" table above).

Password reading#

This function allows the application to capture a password from a PinPad card customer of the commercial establishment itself (card owner). It must not, under any circumstances, be used to capture traditional card passwords. For more details, see the document "Access to Customer Password for Proprietary Card CliSiTef.doc".

int LeSenhaInterativo (SecurityKey)

ASCII Interface

LeSenhaInterativoA (Result, SecurityKey)

ParameterTypeStandard InterfaceASCII InterfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
SecurityKeyInput, by valuechar *Fixed 64Data generated by a security library provided by Software Express to enable the capture of the customer's password. In this case, CliSiTef may interact with SiTef to obtain or validate the security data necessary for the capture

Upon return, the routine returns the same values ​​as the payment routine. The application obtains the password by calling the continuation function of the iterative process.

IMPORTANT: These functions cannot be used during execution of the ContinuaFuncaoSiTefInterativo loop. For this type of In this situation, there are versions that provide direct access to the reader passwords described below.

int LeSenhaDireto (SecurityKey, CustomerPassword)

ASCII Interface

LeSenhaDiretoA (Result, SecurityKey, CustomerPassword)

ParameterTypeStandard InterfaceASCII InterfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
SecurityKeyInput, by valuechar *Fixed 64Data generated by a security library provided by Software Express to enable the capture of the customer's password. In this case, CliSiTef may interact with SiTef to obtain or validate the security data necessary for the capture
PasswordOutput, by valuechar *Fixed 20Client password, in encrypted format, which must be passed to a custom routine per client for decryption

Upon return, the routine returns the value 0 (zero) if it was executed correctly and a non-zero value in case of error or cancellation by the user.

Reading Confirmation by Customer on PinPad#

These functions allow the application to request confirmation on the PinPad. The activation format is as follows:

int LeSimNaoPinPad (Message)

ASCII Interface

LeSimNaoPinPadA (Result, Message)

ParameterTypeStandard InterfaceASCII InterfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
MessageInput, by valuechar *VariableMessage to be displayed on the PinPad display.

Upon return, the routine returns 0 if the client pressed the key Cancellation, 1 if he pressed the Confirm key and another value in case of error when accessing the PinPad.

Note that this function is not iterative, i.e., execution control only returns to the application after pressing the key.

Sets a momentary message for the PinPad#

Allows you to define a momentary message to be displayed on the PinPad display. The routine activation format is:

int EscreveMensagemPinPad (Message)

ParameterTypeDefault InterfaceDescription
MessageInput, by valuechar *Message to be displayed on the PinPad display. It is recommended that it has a maximum of 32 characters in order to be compatible with PinPads currently in the field.

To erase the message and leave the display blank, simply call this function passing the empty Message field.

The application, if desired, can include the character '\r' (carriage return) to indicate a newline.

Reading special PinPad keys#

This function is used to wait for a key to be pressed on the pinpad, returning its corresponding code. The activation format of the routine is:

int LeTeclaPinPad (void)

Upon return, the routine returns:

ValueKeyDescription
0[OK] or [ENTER]Press the OK or ENTER key
4[F1]Pressed the F1 key
5[F2]Pressed the F2 key
6[F3]Pressed the F3 key
7[F4]Pressed the F4 key
8[CLEAR]CLEAN key pressed
13[CANCEL]CANCEL key pressed
-43Any other key or an error occurred in the process.Problem executing one of the routines on the pinpad.

For security reasons, this command does not return numeric keys, and pressing these keys is simply ignored by the pinpad during command execution.

Note that this function is not iterative, i.e., execution control only returns to the application after pressing a key.

Note about using this function to obtain the F1, F2, F3 and F4: there are some pinpads on the market that do not have the F1, F2, F3 keys and F4. Therefore, when using this function, you must leave a plan B for these cases.

Banking Correspondent (Bill Payment)#

This function allows the automation application to accept payment for miscellaneous accounts in accordance with the contract signed between it and a Bank Corresponding. The activation format for this functionality is as follows:

int CorrespondenteBancarioSiTefInterativo (TaxCoupon, TaxDate, Time, Operator, ParamAdic)

Interface ASCII

CorrespondenteBancarioSiTefInterativoA (Result, TaxCoupon, TaxDate, Time, Operator, ParamAdic)

Where the parameters have the same function already described for Payment.

The operating logic of this function is the same as when paying a purchase made by the customer, that is, you must call the function ContinuaFuncaoSiTefInterativo until the result is different from 10000.

This function, given the diversity of products offered by Banks Correspondents can even execute a TEF operation to complete the payment of a bill.

Note that the return fields 600 to 604 return several times, once for each title or agreement paid, in the case of payment in batch. Field 607 indicates which payment index (sequence) to which refer to the fields 600 to 604 that will follow.

As previously described, for the Banking Correspondent the vouchers returned in fields type 121 and 122 must be printed at the time they are made available for automation and continuation of the iterative process should proceed normally if not printing error occurs or interrupted with -1 otherwise.

In ParamAdic you can pass: {PortaPinPadCB=<port>}, where <port> indicates the port to which the specific pinpad is connected to Banking Correspondent transactions: balance consultation, withdrawal and recharge Bradesco cell phone.

It is worth remembering that the pinpad configured {PortaPinPadCB=<port>} meets only for Banking Correspondents, not for TEFs.

To meet the need for some "Authorizing" networks, which require information about the Electronic Tax Document issued by "Commercial Automations", 02 "functionalities" were defined to pass the necessary data in the "ParamAdic" parameter (see details in item 5.7).

Checking the integrity of a barcode#

Allows, in the manual collection of fields present in a bar code, for the application to validate as the fields are being entered, in order to alert the operator in advance and allow it corrects the error. The routine activation format is as follows:

int ValidaCamPoCodigoEmBarras (Data, Type)

ASCII Interface

ValidaCampoCodigoEmBarrasA (Result, Data, Type)

ParameterTypeStandard interfaceASCII interfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
DataInput, by valuechar *VariableMessage to be displayed on the PinPad display.
TypeOutput, by referenceshort *Fixed 6Informs the type of document collected according to the following encoding:
-1 → Unable to set type yet
0 → Collection
1 → Title

Recommendation:

It is recommended that the terminal application, once identified that the document will be typed, open simulated collection fields for those present in the documents to be paid. To do this, it will need to identify whether it is a Compensation Sheet/Title/Block or Collection/Taxes. This identification can be done through a ask the operator or through the routine described here.

If the user opts for automatic recognition he must open a field as if it were a Collection field and, with each digit provided by the operator, pass the digits already supplied to the routine. That procedure must be done until the routine returns if the document in question is a Title or Collection. At that moment the application no longer needs to call the routine for each digit provided and If necessary, modify the formatting of the capture fields.

In addition to identifying the type of document, the routine ensures consistency of check digits, returning to the application if there is an error and where it is located. The application can call the routine by passing the fields as they are being collected or at the end of collection, where a global analysis of the entered content will be carried out. If the call is during typing, the correct points are:

- Collection: each of the 4 typing blocks

- Titles: each group of two typing blocks

Upon return, the routine returns 0 if everything is correct so far, -1 if it is an unrecognized barcode or a number from 1 to 4 indicating which field is incorrect or even the value 5 to indicate that the number as a whole is not correct.

Below we exemplify how the terminal application should proceed, in the most generic way possible nowadays, to collect a document. In the example we will use a title and let the automation be informed which is this type of document. The document that will be used is the Following:

23790.09505.91211.369656.04025.039209.1.17690000005625



Field opened by automation


2



After typing the first number, call the routine passing "2" as parameter. Upon return, the routine returned the result 0 and Type = 0 (fictitious because at this moment, for the current configuration of codes in bar, she would have already made the identification)


23



After typing the first number, call the routine passing "23" as parameter. Upon return, the routine returned the result 0 and Type = 1


23790 09505



The automation re-presents the fields already knowing that it is a title. Only After typing the first group of numbers, it calls the routine passing "2379009505" as a parameter. Upon return, the routine continues return Type = 1. The result may be 0, indicating that the block is correct or 1 indicating that it is wrong.


23790 09505 91211 369656



The automation continues to collect the digits and only after typing the second group of numbers she calls the routine passing "237900950591211369656" as parameter. Upon return, the routine continues to return Type = 1. The result may be 0, indicating that the blocks are correct or 1 or 2 indicating that the first or second block is wrong.


23790 09505 91211 369656 04025 039209 1 17690000005625



The automation continues to collect the digits by calling the routine at the end of the third block with the data 237900950591211369656 and at the end of the fourth block with all the entered data. Upon return, the routine continues to return Type = 1 and the result will reflect the error situation or not of the blocks passed as a parameter. In particular, if you return the code 5 is because there is one of the blocks (it is not possible to identify which them) with error.

Finally, automation can also, for the purpose of consistency, bar code choose to check them only at the end of typing all fields. In this case, the routine will return 1, 2, 3 or 4 in that order priority if it finds one or more blocks with an error and 5 in the situation of the internal blocks are right, but the number as a whole has some error.

Getting Version#

This function is used by the terminal to obtain the CliSiTef versions and CliSiTefI.

int ObtemVersao (VersaoCliSiTef,VersaoCliSiTefI)

ASCII Interface

ObtemVersaoA (Result, VersionCliSiTef, VersionCliSiTefI)

ParameterTypeStandard interfaceASCII interfaceDescription
ResultOutput, by valueNot usedFixed 6Contains the result of the response to the routine call.
VersionCliSiTefOutput, by valuechar *Max. 64The return contains the CliSiTef version
VersionCliSiTefIOutput, by valuechar *Max. 64The return contains, if any, the version of CliSiTefI

Upon return, the routine returns 0 when it was executed successfully and different in case of error.

Sending pending messages#

In situations of communication failure with the SiTef server, the CliSiTef will automatically send any remaining data (e.g. example, commit, uncommit and undo data) only in the next POS transaction.

However, it may take some time for the next transaction to start at the station.

At times when the POS is in the rest or "idle" state, the Automation can use the following routine to force the library to download confirmation, unconfirmation and undo messages to the SiTef server.

int DescarregaMensagens (void)

Upon return, the routine returns 0 if it managed to download all messages and non-zero if an error occurs making it impossible to sending them.

PinPad Information#

There are two ways to obtain basic information from the connected PinPad in the POS, such as serial number, model, etc.

ObtemInformacoesPinPad -- direct function.

Through function code passed to IniciaFuncaoSiTefInterativo, and consequent iterative process.

The first way is using the function below.

int ObtemInformacoesPinPad (InfoPinPad)

ParameterTypeDefault InterfaceDescription
InfoPinPadOutput, by valuechar *In return it contains the PinPad information

If successful, data will be returned in the following format:

2 numeric characters that indicate the information obtained:

01 for Manufacturer Name,

02 for Hardware Model/Version,

03 for Basic Software/Firmware Version,

04 Shared specification version

05 for Basic Application Version,

06 for Serial Number.

3 numeric characters that indicate the size in characters of the information.

N (according to size above) alphanumeric characters with information.

Example:

01006GERTEC02010PPC900;3MB030190077_0071_0080_0106040041.0605013001.23 100820060160450805232030714

Manufacturer name: GERTEC

Hardware model/version: PPC900;3MB

Basic software/firmware version: 0077_0071_0080_0106

Specification version: 1.06

Basic application version: 001.23 100820

Serial number: 0450805232030714

Note: the Buffer that will receive the PinPad information must have minimum size of 256 characters, already providing for the possibility of being new pinpad information included.

In the second way, the automation must pass the function code 775 to IniciaFuncaoSiTefInterativo, and continue in the collection flow as if it were a transaction.

During the collection flow, the following fields will be returned to the automation, normally by command 0 (zero).

FieldTypeDescription
2450Manufacturer name
2451Hardware model/version
2452Basic software/firmware version
2453Specification version
2454Basic application version
2455PinPad serial number

Loading Tables on PinPad#

Table loading in pinpad is called the process where the loading is done of application information and chip parameters on the pinpad.

This process makes it possible to read a chip card during transactions.

Normally CliSiTef does this operation automatically, under demand, upon realizing that a new load of parameters is necessary. There are several reasons for this, for example changing the pinpad at the POS, or a change in the parameters of the establishment on the authorizer.

Automation can command a new load of tables on the pinpad. Per For example, to reduce the chance of a load on the first sale of the day, the Automation can start a charge when in idle state (idle) and, in this way, reduce the time for the first service.

Note that, if there is a change of parameters by the authorizer, this change will reflect a new load of tables during the day.

With changes in Automation#

For the automation to control the loading of tables on the pinpad, three function codes are offered that must be used in the StartSiTefInteractive Function.

Function CodeDescription
770Loading tables on the pinpad
771Forced loading of tables on pinpad (Local)
772Forced loading of tables on the pinpad (SiTef)

Function 770 loads tables onto the pinpad if it is necessary. That is, if the SiTef server data is already loaded on the pinpad, no loading will be done.

Function 771 forces tables to be loaded onto the pinpad according to the tables previously downloaded from the SiTef server and stored locally at the POS.

Function 772 causes clisitef to delete local data from the POS, downloading a new photograph of these parameters from SiTef, and then loads tables on the pinpad.

No change to Automation#

For automation to benefit from table loading without having to program IniciaFuncaoSiTefInterativo calls with the three Function codes 770, 771 and 772 have been included in the menu CliSiTef Administrative, three equivalent transactions.

In the example above,

• option 11 is equivalent to Function 770;

• option 12 is equivalent to Function 771;

• option 13 is equivalent to Function 772.

To enable the Table Load transaction on the pinpad, you must include in the [General] section the key TransacoesAdicionaisHabilitadas o value 3624.

To enable the Forced table load transaction on the pinpad (Local), it is necessary to include the key in the [General] section TransacoesAdicionaisHabilitadas the value 3625.

The Forced table load transaction on the pinpad (SiTef) is enabled by default, with the value 3626.

[General]

TransacoesAdicionaisHabilitadas=3624;3625

CliSiTef.ini or CLSIT settings file#

CliSiTef uses a file in .ini format, in order to define previously determined settings on the station.

This file is called CliSiTef.ini, and must be placed in the same CliSiTef library folder.

On POS equipment and mobile platforms (Android and IOS), the configuration used is CLSIT. Throughout this document, all mentions to CliSiTef.ini should be understood as CLSIT when dealing with these environments.

Below we will describe some macro functionalities present in this file.

PinPad Configuration#

Port configuration#

The PinPad serial/usb port is configured in the PinPadShared section, Port field.

[PinPadShared]

Porta=<PORT>

In Windows, you must use the serial/usb port number. Per example: 12

In Linux, you must indicate the full path of the device. For example: /dev/ttyS1 or /dev/ttyACM0

As of CliSiTef version 4.0.111.3 for Windows and 4.0.111.18 for Linux, you can use the 'AUTO_USB' value to identify automatically port a USB pinpad.

[PinPadShared]

Porta=AUTO_USB

Note: the above configuration is only valid for the Windows platform 32 and Linux 32 (starting with kernel 2.6), in the versions mentioned above.

Pinpads that support the AUTO_USB configuration in a WINDOWS environment:

Manufacturer/ModelCliSiTef Minimum Version
Gertec PPC900, PPC910, PPC920 e PPC9304.0.111.3
Ingenico iCT2xx4.0.111.3
Ingenico iHT1, iHT2, iHT3, iHT4 e iHT54.0.111.3
Ingenico IPPxxx4.0.111.3
Ingenico iSC2xx4.0.111.3
Ingenico iSC3504.0.111.3
Ingenico iST1xx4.0.111.3
Ingenico iUC1xx4.0.111.3
Ingenico iUP2504.0.111.3
Ingenico Lane30006.2.115.17 r1
PAX D2004.0.111.3
Verifone Vx810 e Vx8204.0.111.3
Verifone P2006.2.115.28 r2

Pinpads that support the AUTO_USB configuration in a LINUX environment:

Manufacturer/ModelCliSiTef Minimum Version
Gertec PPC900, PPC910 e PPC9204.0.111.18
Ingenico iCT2xx4.0.111.18
Ingenico iHT1, iHT2, iHT3, iHT4 e iHT54.0.111.18
Ingenico IPPxxx4.0.111.18
Ingenico iSC2xx4.0.111.18
Ingenico iSC3504.0.111.18
Ingenico iST1xx4.0.111.18
Ingenico iUC1xx4.0.111.18
Ingenico iUP2504.0.111.18
Verifone Vx810 e Vx8204.0.111.18

Note: Pinpads from new manufacturers or new models may be included in the lists above in the future.

Configuration when Automation does not use a pinpad#

CliSiTef, by default, assumes that the automation has a PinPad, and try up to 3 times to open the door.

In cases where the automation does not have/use a PinPad (e.g. only typed transactions), you must configure the Port item, in the section PinPadShared, with value NONE.

[PinPadShared]

Porta=NONE

Setting up a second pinpad#

As mentioned in Banking Correspondent (Bill Payment), Bill Payment transactions require a bank-specific pinpad. Generally, there is a sector of the commercial establishment just for this type of service.

If Automation needs to service EFT transactions in the same checkout that handles Bill Payment transactions, it is possible to configure a second pinpad specific to the Bank, so that the main pinpad will be used exclusively in TEF transactions.

Setting the default message#

You can initialize the PinPad with a message of up to 16 characters.

This message is configured in the PinPad section, MensagemPadrao field.

[PinPad]

MensagemPadrao=<MESSAGE>

It is possible to break into two lines using the '|' separator.

Enabling value confirmation on the pinpad#

This setting enables confirmation of the transaction amount on the pinpad in the case of transactions without password collection via the pinpad, since in password collection the value is already presented. So far it is only valid for prepaid recharge and bonus transactions.

To enable this configuration simply add the following settings to the "CliSiTef.ini" file:

[General]

ConfirmarValorPinPad=1

Connection configuration with the SiTef server#

Configuring additional IP addresses#

In the configuration file it is possible to add alternative addresses to the SiTef server. These addresses are complementary to those provided in the configuration function. A maximum of 4 addresses are allowed from of CliSiTef 6.1.114.59 r3 and previously 3, considering the sum of sent in the configuration function and CliSiTef.ini file.

[SiTef]

IPAddress=IP1;IP2;IP3;IP4

It is also possible to enter the server port, in the IP:Port format.

For example:

IPAddress=127.0.0.1:4096;192.168.0.1:5096

SiTef server port configuration#

In rare situations, it may be necessary to change the communication port with the SiTef server. For example, some security restriction on the customer network.

The default port of the SiTef server is 4096. To specify a new port, the PortaSiTef field must be included in the SiTef section.

[SiTef]

PortaSiTef=<port>

Connection required#

By default, transactions in CliSiTef try to advance as much as possible, even without connecting to SiTef.

To remove this behavior, and require mandatory connection, include in the SiTef section the parameter ConexaoObrigatoria with value one (1). In this case, if there is no connection with SiTef, the transaction will be closed with error -5.

[SiTef]

ConexaoObrigatoria=1

Keeping connection active#

By default, the CliSiTef feature when making a transaction with the SiTef server is: making the connection, exchanging messages and disconnect at the end of the transaction.

If there is a need to keep the connection with SiTef always active, the parameter MantemConexaoAtiva must be included in the SiTef section with value 1 (one).

[SiTef]

MantemConexaoAtiva=1

Communication display configuration#

By default, CliSiTef sends command 3 to the automation with a message like "Please wait, processing...".

To disable the communication display, simply include it in the section General the field DisplayComunicacaoHabilitado with a value of zero.

[General]

DisplayComunicacaoHabilitado=0

Attention: unlike the previous items, you must use the section General.

Changing timing parameters (timeout)#

Connection timeout time with the SiTef server

The default waiting time for CliSiTef to be able to connect with the SiTef server is 6 seconds. To increase or decrease this time waiting time, configure the field TempoEsperaConexao in the SiTef section with the new value, in seconds.

[SiTef]

TempoEsperaConexao=<timeout time, in seconds>

Additional time for transaction timeout

Normally, CliSiTef receives timeout parameters from the server SiTef. CliSiTef takes these values ​​into account, adding still a safety margin regarding any time spent in streaming.

In situations where the authorizer is unavailable, and depending on the communication between the SiTef server and CliSiTef, this margin can be insufficient, and errors such as "No connection to server" may occur. SiTef", when the correct option would be "Authorizer service unavailable".

To add additional time in seconds, simply add the item TempoAdicionalEspera in the SiTef section.

[SiTef]

TempoAdicionalEspera=<additional time for timeout, in seconds>

Undo waiting time

The standard waiting time (timeout) for CliSiTef to be able to receive the response to an undo message sent to the SiTef server is 6 seconds. To change this value, configure the field in the SiTef section TempoEsperaDesfazimento the new value, in seconds.

[SiTef]

TempoEsperaDesfazimento=<time for timeout, in seconds>

Confirmation waiting time

The standard waiting time (timeout) for CliSiTef to be able to receive the response to a confirmation/non-confirmation message sent to the SiTef server is 6 seconds. To change this value, configure in the section SiTef the field TempoEsperaConfirmacao the new value, in seconds.

[SiTef]

TempoEsperaConfirmacao=<timeout time, in seconds>

How to pass a new transaction purchase value on CliSiTef#

In the [General] section, add the key PermiteAlterarValorPagamento=1, as below:

[General]

PermiteAlterarValorPagamento=1

During the transaction flow, CliSiTef will ask "Please provide new payment amount\", through field 154.

Enabling/disabling payment methods#

CliSiTef allows two ways to configure the payment.

One of them occurs at transaction execution time, that is, automation commercial defines the payment methods that will be applied to the current transaction.

If the automation does not define these values, the standard parameterizations, which can be defined in the station's CliSiTef.ini settings.

Important: Settings defined at run time are not affected by any local configurations of the station.

Restricting payment methods at runtime#

CliSiTef allows the automation application to restrict payment methods available to the cashier/customer for a particular sale. This is done through the "ParamAdic" parameter present in the functions that initiate the payment process or Banking Correspondent (IniciaFuncaoSiTefInterativo and CorrespondenteBancarioSiTefInterativo). The format of this field is Following:

[<Type of payment method>;<Type of payment method>;...];

where each of the sub-fields contains a numeric code that identifies the menu item that does not apply to the sale in question. For example, if during the sales process has already been negotiated with the customer, which is a sale for payment solely and exclusively with a cash card, the amount of the parameter must be:

[10;17;18;19;27;28;34;35;];

Consult the Table of payment method codes, configurations and menus for the code list in this configuration.

Note: the values ​​in the configuration file, detailed in next items, has no effect when commercial automation uses the runtime restriction described in this item.

Setting default values ​​for payment methods#

In this case, the customer's sales environment does not support a certain type of payment method because it does not apply to your line of business. One An example of this is a commercial establishment where all sales can only be done in plain sight. For this type of application it is possible define this configuration in the CliSiTef parameter file so that, if the retailer chooses in the future to accept other forms of payment, simply change the CliSiTef configuration, without the need change the automation application. This configuration is done through the TransacoesHabilitadas parameter to be placed in the [General] section of the CliSiTef.ini file.

The format of this parameter is as follows:

[General]

TransacoesHabilitadas=<Type of payment method>;<Type of payment method payment>;...

where each of the sub-fields has the same description as the previous item.

Using the same example as the previous item, to limit transactions only those for payment in cash and without a check, the definition will be:

[General]

TransacoesAbilitadas=16;26

Enabling additional transactions#

For reasons of compatibility with previous versions of the library and also due to the fact that some of its functionalities are not usable In general, there are some payment methods that are not enabled by standard, requiring the customer to explicitly inform that they wish to use them. This is done through the configuration file CliSiTef.ini by the parameter TransacoesAdicionaisHabilitadas to be included in the [General] section. The format of this parameter is as follows:

[Geral]

TransacoesAdicionaisHabilitadas=<Tipo do meio de pagamento>;...

Where each of the sub-fields has the same description as the items previous ones.

Consult the Table of payment method codes, configurations and menus for the code list in this configuration.

The menus that are not currently enabled by default are the following:

Electronic Meal Card

Cell phone recharge with debit or credit cards

Payment of Benefits and respective refund

SmartNet reader for SmartVR and Sodexho cards with chip

Correspondent banking

Paggo

Typed Debit

CB Extract

CB Balance Inquiry

CB withdrawal and withdrawal reversal

CB deposit and refund

Bradesco cell phone top-up

Corban SE Cell Phone Recharge

CB Extract

Payment and Reversal of DARF

GPS Payment and Refund

Pre-Approved Loan

Account opening

Prize Change (Surprise)

Vale Gas

Redecard Administrative Option

Fuel Card

Gift Card

For example, to enable the meal card payment menu Electronic the following configuration must be included in CliSiTef.ini:

[General]

TransacoesAdicionaisHabilitadas=20

Disabling transactions#

In a similar way to the additional transactions enabled in the previous item, It is possible to disable some transactions without the need for specify the entire range of operations as in the constraints.

To do so, include the TransacoesDesabilitadas field in the General section, indicating the transactions that will be disabled throughout the flow transactional.

[General]

TransacoesDesabilitadas=<Type of payment method>;...

Consult the Table of payment method codes, configurations and menus for the code list in this configuration.

Enabling transactions from specific networks#

There are some networks that, as they are not in widespread use, are not automatically enabled in CliSiTef. In this case, to enable them, there is a [Networks] section in the CliSiTef.ini configuration file and that must contain the name of the variable corresponding to the network to be enabled with the value 1.

If the establishment works with more than one network as described below, Next, a line must be included for each network.

[Networks]

HabilitaRedexxxx=1

Where xxxx may be, in the current version of CliSiTef, one of the following values ​​below7.

Note that it is possible to enable as many networks as necessary, as long as they are enabled in SiTef in a compatible way.


Network


ACSP

Algorix

Avista

BancoIbi

BancoMercantil

BancoPanamericano

BancoProvincial

BOD

BODDebito

BrazilianCard

CdlPoa

CentralCard

CheckCheck

Cisa

Citibank

ClubCard

CompreMax

Condor

ConsorcioVenezuela

ConsultaValePapel

CooperCred

CredMais

CTF

DDTotal

Dotz

Edenred

Ediguay

Eletrozema

EMS

Fidelize

Formosa

FoxWinCards

Givex

Hiperlife

HotCard

ICards

InfoCard

InComm

JGV

MAR

Mettacard (antigo Consignum)

Neus

Oboe

Omnion

Orbitall

Parati

Platco

PortalCard

Qualicard

Repom

SigaCred

SisCred

Softway

SpcBrasil

SQCF

Starfiche

Sysdata

Telecheque

Teledata

TopCard

Total

Tricard

UpSight

UseCred

Validata

Wappa


Below is the table that lists the types of payment method, settings and menus, with their respective codes, to be used in the previous items8.

Type of payment methodCode
Check consultation or guarantee (all types)10
Consultation Check Serasa/Commercial Association11
Tecban Check Consultation12
Tecban Guaranteed Telecheck13
Tecban Paper Check Guarantee14
Debit card (all combinations) (Discontinued, do not use)15
Cash debit card16
Post-dated debit card17
Debit card in installments18
CDC debit card19
Electronic Meal Card (Except Visanet, in this case use 3014)20
Paper Voucher21
Benefit Card22
SmartVR/Sodexho card with SmartNet reader23
Interest-bearing cash credit card24
Credit card (all combinations) (Discontinued, do not use)25
Cash credit card26
Credit card in installments with establishment financing27
Credit card in installments with financing from the administrator28
Credit card entered29
Magnetic credit card30
Pre-authorization31
Fininvest Card32
Withdraw with Fininvest card33
Pro-rata credit card upfront34
Pro-rata Credit Card in installments35
Check installments on Credit Card36
Cisa Credit37
Cisa Balance/Statement38
Infocard Credit Card39
Canceling a credit or debit card transaction40
AVS Consultation41
Typed Debit42
Magnetic Debit43
Installment Credit44
Private Label Pre-Dated45
Payment Money46
Private Label Payment by Check47
Paggo48
Guarantee Check CDL Rio49
Bill Payment50
Bill payment reversal51
Bill Payment Reprint52
Benefit Payment53
Reversal of Benefit Payment54
Treatment of change when paying bills with cash55
Reprint56
Reprint of the Last Receipt57
Specific Reprint58
Cell phone recharge with Money60
Cell phone recharge with Check61
Recharge your cell phone with a debit card in cash62
Recharge your cell phone with a credit card in cash63
Indicates the Menu for selecting the recharge operator64
Reprint from the shopkeeper70
Cardholder Reprint71
All reprints72
Centralized Credit73
Balance Inquiry - Bank Correspondence74
Withdrawal - Bank Correspondence75
Withdrawal Reversal - Bank Correspondence76
Deposit - Bank Correspondence77
Deposit Reversal - Bank Correspondence78
Current Account79
Savings Account80
Benefit Account81
Salary Account82
Company Account83
Investment Account84
Traveling Employee Account85
Balance Check with Magnetic Card - Corresponde Bancário86
Balance Inquiry with Account Data Entry - CB87
INSS Benefit Withdrawal - Bank Correspondence88
Withdrawal with Magnetic Card - Corresponde Bancário89
Withdrawal by Check - Bank Correspondence90
Withdrawal with Withdrawal Receipt - Corresponde Bancário91
Reversal of INSS Benefit Withdrawal - Corresponde Bancário92
Reversal of Withdrawal by Check - Corresponde Bancário93
Withdrawal Reversal with Withdrawal Receipt - Corresponde Bancário94
Cash Deposit Reversal - Corresponde Bancário95
Reversal of Deposit with Check - Corresponde Bancário96
Reversal of Deposit with Cash + Check – CB97
SPC Brazil Check Consultation98
SPC Brazil Check Guarantee99
Account Type: FAL3000
Account Type: Points3001
SCCard3002
Debit Balance Inquiry3003
Credit Balance Inquiry3004
Bradesco Cell Phone Recharge3005
Specific Reprint Redecard3006
Visanet Specific Reprint3007
Surprise Change (Awarded)3008
Cash payment3009
CB payment by check3010
Payment with TEF Debit3011
Payment with TEF Credit3012
Payment in another form3013
Cielo Voucher Products3014
ValeGás3015
ValeGás Ultragaz3016
ValeGás GetNet3017
Orbitall Account Payment3018
Orbitall Account Payment Reversal3019
Fuel Card3020
Entered Fuel Card3021
Magnetic Fuel Card3022
Prepaid Debit Card3023
Prepaid Debit Card Balance Inquiry3024
Credit Card Bar Code3025
Gift Card3026
Redecard Administrative Option3027
Magnetic Gift Card3028
Digitized Gift Card3029
Barcode Gift Card3030
Redecard Purchase and Withdrawal Option3031
Invoice Payment3032
Agreement Payment3033
IBI Bank Withdrawal3034
IBI Bank Withdrawal Reversal3035
IBI Bank Invoice Payment3036
IBI Bank Invoice Payment Reversal3037
Balance SPTrans3038
SPTrans3039 Recharge
Infocard Check Guarantee3040
Reversal Warranty Check Infocard3041
Guarantee Check CDL-Poa3042
Extract3043
Magnetic Extract3044
Typed Statement3045
Corban SE Refill3046
Credit Withdrawal3047
Credit Withdrawal Reversal3048
Credit Card Inquiries3049
Credit Card Statement3050
Credit Agreement Balance3051
Credit Card Release Consultation3052
Consult Last Credit Card Invoice3053
Change Credit Card Password3054
Release Credit Card3055
SPTrans3056 Products
DARF3057
GPS3058
Simple DARF3059
DARF Black3060
DARF Reversal3061
GPS Reversal3062
Pre-Approved Loan3063
Magnetic Pre-Approved Loan3064
Typed Pre-Approved Loan3065
Account Opening3066
Individual Account3067
Joint Account AND/OR3068
Joint Account E (Solidarity)3069
Infocard Account Payment3070
Infocard Account Payment Reversal3071
Banrisul Account Payment3072
Central Card Account Payment3073
Portal Card Account Payment3074
Softway Account Payment3075
Parati Account Payment3076
Ediguay Account Payment3077
CooperCred Account Payment3078
Validata Account Payment3079
Panamericano Bill Payment3080
SigaCred Account Payment3081
UseCred Account Payment3082
SisCred Account Payment3083
Fininvest Account Payment (Main Menu)3084
Banrisul Account Payment Reversal3085
Fininvest Account Payment Reversal3086
Central Card Account Payment Reversal3087
Portal Card Account Payment Reversal3088
Softway Account Payment Reversal3089
Ediguay Account Payment Reversal3090
CooperCred Account Payment Reversal3091
Panamericano Account Payment Reversal3092
SigaCred Account Payment Reversal3093
UseCred Account Payment Reversal3094
SisCred Account Payment Reversal3095
Transfer CB3096
Administrative CB3097
Administrative CB Banrisul3098
EMS Card Bill Payment3099
EMS Card Account Payment Reversal3100
EMS Summary Code3101
Card Bar Code3102
Entering Carnet Data3103
EMS Consultation Menu3104
Quick Consultation EMS3105
EMS Extract Consultation3106
EMS Miles Consultation3107
EMS Mini-Statement Consultation3108
EMS Occurrence Record3109
EMS Occurrence Cancellation Record3110
EMS3111 Customer Inclusion
Changing EMS3112 Customer Registration Data
Query EMS Customer Registration Data3113
EMS Transaction by Magnetic Card3114
EMS Transaction by Card Typing3115
EMS Transaction by Entering CPF3116
Partial EMS Statement3117
EMS Statement Total3118
Male Sex3119
Female3120
EMS3121 Sales Menus
EMS Card Sale3122
Sell ​​EMS Other Payment Methods3123
Sell ​​EMS for Cash3124
EMS Sale in Interest-Free Installments3125
EMS Sale in Installments With Interest3126
Normal Sale EMS3127
Forced Sale EMS3128
EMS Purchase Linked to Gift List3129
Purchase EMS Other Links3130
EMS Sale - Cash3131
EMS Sale - Cash Check3132
EMS Sale - Pre Check3133
EMS Sale – Debit Card3134
EMS Sale – Credit Card3135
EMS Sale – Ticket3136
EMS Sale – Administrative Check3137
EMS Sale – Traveler Check3138
EMS Sale – Sheet Discount3139
EMS Sale – Vale3140
EMS Sale - Miles3141
EMS Sale - Payroll debit3142
EMS Sale – Voucher3143
EMS Sale – Gift Card3144
EMS Sale – Private Label3145
Rotary Sale A Vista Fininvest3160
Pre-Dated Revolving Sale Fininvest3161
Sale in installments Fininvest3162
Sale in pre-dated installments Fininvest3163
Fininvest Revolving Withdrawal3164
Fininvest Installment Withdrawal3165
Fininvest Withdrawal Consultation3166
Fininvest withdrawal3167
Bank Slip3168
Contract3169
Fininvest Account Payment3170
Fininvest Invoice Payment3171
Provincial Document3172
Non-Provincial Document3173
With Provimillhas3174
Without Provimilhas3175
Debit Equal Installments3176
Provincial Bank Check Consultation3177
BOD Check Consultation3178
Banco Mercantil Check Guarantee3179
Check Consultation Consorcio Venezuela3180
Closing of Current Lot Banco Mercantil3181
Closing of Specific Lot Banco Mercantil3182
Purchase Adjustment3183
Purchase Adjustment Debit3184
Purchase Adjustment Credit3185
Query Purchase Totals Provincial Bank3186
Query Totals Payable Provincial Bank3187
Consultation State Lot Provincial Bank3188
Provincial Bank Lot Closing3189
BOD3190 Lot Closing
Closing of Lot Banco Mercantil3191
Meal Voucher (Except Visanet)3192
Food Voucher (Except Visanet)3193
CooperCred Mileage Sale3194
CooperCred Mileage Sale Cancellation3195
Cisa Balance Inquiry3196
Cisa Statement Consultation3197
Softway Balance Inquiry3198
Softway withdrawal3199
Softway3200 Withdrawal Cancellation
Prepaid Load3201
Pre-Charge Cancellation3202
Run Communication Test3203
Banking Correspondent Transactions3204
Mobile Recharge Transactions3205
SPTrans Transactions3206
SCCard3207
Wappa Provider3208
Box Opening CB3209
CB3210 Cash Closing
Box Bleeding CB3211
Condor card menu3212
Simple installment credit option3213
Condor card payment3214
Condor card payment reversal3215
Condor extract query3216
Cancellation Pay more3217
Starfiche Menu3218
CB Banrisul withdrawal menu3219
UP SIGHT3220 bill payment
Account Payment Reversal UP SIGHT3221
NTPC3222 option menu
NTPC Menu3223
Payment with withdrawal3224
Cell phone top-up with withdrawal3225
PinPad Supervisor Password Change3226
CDC Credit Menu3227
Legal entity account option3228
Payment of network account MAR3229
Reversal payment of network account MAR3230
iCards Network Account Payment3231
iCards network account payment reversal3232
Menu option Credit Release Coopercred3236
Menu option Debit Release Coopercred3237
Menu option Recharge Typed Debit Coopercred3238
Menu Option Magnetic Debit Recharge Coopercred3239
Menu credit option Redemption Points3261
Oboe account payment menu3262
Oboe points accumulation menu3263
Oboe points accumulation cancellation menu3264
Credit sale menu with cash authorization3267
Magnetic card option menu (PBM)3270
Typed card option menu (PBM)3271
Menu option authorization code (PBM)3272
Qualicard account payment menu3276
Qualicard account payment reversal menu3277
Generic Authorization Menu SEM3278
Avista network account payment menu3279
Formosa virtual card menu3280
Neus bill payment menu3281
Account payment reversal menu Neus3282
Algorix bill payment menu3283
Algorix bill payment reversal menu3284
Algorix gift card load menu3285
Algorix Gift Card Load Cancellation Menu3286
Menu sale credit CompreMax3287
CompreMax cancellation menu3288
Fuel Card cancellation menu3289
Bill payment menu SysData3296
Bill payment reversal menu SysData3297
Payment inquiry menu Validata3298
SPTrans recharge payment menu (Management menu)3299
Bill payment menu SQCF3303
Account payment cancellation menu SQCF3304
Quality card menu (ICI Card)3305
Menu option Withdraw Credit Transfer3306
Menu option Cancellation Withdrawal Credit Transfer3307
GetNet withdrawal menu3319
Withdrawal reversal menu GetNet3320
Promotional Platform Redemption (Cielo)3323
Special account menu3324
Loyalty account menu3325
Menu other account3326
Platco batch closing menu3327
Tip register menu3328
Last sale inquiry menu3329
Platco check guarantee menu3330
Platco Return Menu3331
SPTrans recharge payment menu (Specific menu)3334
Payment Menu Account FoxWin Cards3335
FoxWin Cards Account Payment Reversal Menu3336
Payment Menu HotCard Account3337
HotCard Account Payment Reversal Menu3338
Adm Gift Menu3339
Gift Card Balance Inquiry3340
Gift Card Recharge3341
Gift Card Recharge Cancellation3342
Sale with Gift Card3343
Cancellation of Sale with Gift Card3344
Gift Cancellation Menu3345
Account type FAL3346
Main account type3347
Points Issuance Menu3348
Point Issuance Cancellation Menu3349
Points Redemption Menu3350
Points Redemption Cancellation Menu (not used yet)3351
Menu Option Prepaid Card Typed3352
TriCard Payment Menu3353
Menu Statement by Period (CB)3363
Extract Menu – Latest Releases (CB)3364
Extract Menu – Last Days (CB)3365
Check Unblocking Menu (CB)3366
Menu Payment Option with Debit Card CB3367
Account Transfer Menu – CB3368
INSS Password Revalidation Menu – CB3369
Identified Deposit Menu – CB3370
Depositor Name Menu (CB Identified Deposit)3371
Menu Depositor Code (CB Identified Deposit)3372
Payment Card Menu (CB Identified Deposit)3373
Invoice Payment Menu (CB Identified Deposit)3374
Payment option menu with Digitized card (CB)3375
Payment option menu with Magnetic card (CB)3376
Menu option Typed Invoice Payment (CB)3377
Menu option Magnetic Invoice Payment (CB)3378
Generic Invoice Payment Menu3379
Menu option Pre Authorization Fuel Card3389
Gift Activation Menu3390
Money Payment Menu – Gift Activation3391
Check Payment Menu – Gift Activation3392
Debit Card Payment Menu – Gift Activation3393
Credit Card Payment Menu – Gift Activation3394
ClubCard Payment Menu3407
ClubCard Payment Reversal Menu3408
Citibank Payment Menu3409
Menu option Porto Seguro Auto Magnetic Card3410
Menu option Porto Seguro Auto Digitized Card3411
ClubCard Withdrawal Menu3412
Payment Menu CredMais3466
Menu Credit installment consultation3480
Payment Reversal Menu. Ibi Bank Accounts3500
Eletrozema Card Menu3510
Eletrozema Card Cancellation Menu3511
Eletrozema Consultation Menu3512
Generic Invoice Payment Cancellation Menu3515
EGift Card (Hug)3517
Pre-Authorization Change Menu3519
Payment methods menu for Siscred3530 card payment
Withdraw Gift3553
Gift withdrawal cancellation3554
Activation cancellation Gift3556
Loading tables on pinpad3624
Forced loading of tables on pinpad (Local)3625
Forced loading of tables on the pinpad (SiTef)3626
Balance Consultation – Alelo (Cielo)3653
Update Chip -Alelo (Cielo)3654
Alelo Auto Debit (Cielo)3655
Reprint Specifies Others3675
WayUp3700 Administrative Menu
WayUp Points Accumulation3701
WayUp Points Redemption3702
WayUp Withdrawal Consultation3703
WayUp Carrier Prospecting3704
WayUp3705 Cancellations Menu
WayUp Accumulation Cancellation3706
WayUp Redemption Cancellation3707
Barcode Menu (Document type – Debit\Credit for payment slip)3720
CPF Menu (Document type – Debit\Credit for payment of booklet)3721
Card Number Menu (Document type – Debit\Credit for payment slip)3722
Menu Others (Document type – Debit\Credit for payment of carnet)3723
Tricard Insurance Membership Menu3742
Credit Card Recharge Menu3744
Credit card top-up cancellation menu3745
Tricard Balance Inquiry Menu3746
Coopercred debit card recharge menu3772
Coopercred debit card recharge cancellation menu3773
Payment in Cash Ultragáz Resale3900
Payment with TEF Crédito Ultragáz Revenda3901
Payment with TEF Debit Ultragáz Resale3902
IATA Menu in Cash3958
IATA Menu Installment Installment3959
IATA Installment Menu Administradora3960
Credit Simulation Menu3989
Menu Others Cielo4158
Cell Phone Recharge with Digital Wallet4162
Cell phone recharge with PIX4163
Banco Ibi Credit Sale Menu4193
Cancellation Menu Banco Ibi Credit Sale4194

Enabling special settings per transaction#

In certain transactions, it is possible to include new functionalities and characteristics to the transactional flow, allowing greater flexibility of operation without these functionalities are not linked to a medium specific payment.

To do so, simply add a new field to the "ParamAdic" parameter, present in the functions that initiate the payment process or Banking Correspondent (IniciaFuncaoSiTefInterativo and CorrespondenteBancarioSiTefInterativo). The format of this field is Following:

{<Feature1>;<Feature2>;...;<Featuren>;};

Note that in this format the features are enclosed in braces ('{' and '}'), while constraints are enclosed in square brackets ('[' and ']').

Example: in the sales process exemplified in item 5.1, suppose that the sales value can be changed during the flow, and that the sales application automation wants to carry out its treatment, then the value of the parameter "ParamAdic" should be:

[10;17;18;19;27;28;34;35;];{TrataPagamentoExtendido=1;}

Next, we describe the functionalities provided in this field.

FunctionalityDescription
CodigoCliente=xxxxxxCustomer code for a given store, limited to 36 characters, to be linked in SiTef Web reports.
ExecutaAteLeituraCartao=0If a .CHA key file is present on the Sitef server, then CliSiTef behaves as follows: If CliSiTef is not communicating with Sitef, instead of returning a communication error, CliSiTef continues the transaction flow until card reading. To inhibit this behavior, use the functionality below.
HabilitaVendaViaCodigoBarras=1This parameter informs CliSiTef that the option of selling credit through cards engraved in bar codes must be enabled in the current transaction. Remembering that in addition to this configuration, the menu option (3025) must also be enabled.
ItemMenuIdentificado=1The automation application informs CliSiTef that it is prepared to handle the menu command with identified items (command 42).
When this parameter is enabled, CliSiTef replaces the use of command 21 with command 42, in most menus used in navigation.
{MKRede=A,B,C,D}Configuration valid only for CliSiTef Reduced Redecard.
NOTE: This configuration must be passed between curly braces ({}) separately, that is, it must not be concatenated with any other configuration separated by a semicolon (;)Parameters A,B,C,D are key indices Redecard encryption at POS's. These parameters will override the key indexes received in service 3. Parameters C and D will only be implemented from version (4.0.104.1, to be confirmed). If any key is not configured, the parameter must be passed with a value of -1. Example: {MKRede=-1,-1,-1,2} will configure only the key related to DUKPT 3DES encryption.
A = DES master key index
B = 3DES master key index
C = DUKPT DES treatment record index
D = DUKPT 3DES treatment record index
{MKRedeDados=A,B,C,D}Same as MKRede (See description above),
NOTE: This configuration must be passed in braces ({}) separately, that is, it must not be concatenated with any other configuration separated by semicolons (;)except that the encryption keys will be used to encrypt tracks.
NumCartaoCripto=<Encrypted card>Providing the additional field “NumCartaoCripto”, with the encrypted card, disables the capture of the entered card number. This parameter depends on the correct configuration of the .cha key file on the SiTef server, that is, with the corresponding encryption keys.
RedeDestino=nnnnThis configuration allows you to force the transaction to be carried out by a specific network (nnnn = 4 numeric digits). See item 0 - Credit/debit transactions with a card without BIN.
TrataConsultaSaqueComSaque=1Initially designed for Banco Ibi transactions, this parameter allows you to link, in a single transaction, the “Withdrawal Consultation” and “Withdrawal”.
If this parameter is passed, the administrative menu will only offer the option “Withdrawal Consultation”.
TrataPagamentoExtendido=1This function informs that the automation application is prepared to handle minor receipt information (no balance to be received with another form of payment) or excess (change must be returned to the customer).
This function also enables the receipt of fields 137 (Balance to be paid) and 138 (Amount actually received).
ValidadeCartao=<AAMM or MMAA>Delivering the additional field “ValidadeCartao”, with the card's expiration date, disables its capture, however the use of the value passed through the additional parameter is conditioned on the successful passage of the field “ NumCartaoCrypto”.
ValorIncluiTaxa=1This parameter informs that the automation application included the value of the boarding or service tax in the purchase price.
If a fee is requested during the capture flow, the value that was added to the sale must be passed on by the automation.
TipoDocFiscal=xIndicates the type of Tax Document issued by “Commercial Automation”.
Where x:
0 - Tax Coupon (Tax Coupon - Legacy)
1 - NFC-e (Consumer Invoice - Electronic)
2 – SAT-CF-e (Tax Coupon - Electronic)
NOTE: . In the absence of this “functionality”, CliSiTef assumes that the “Tax Document” issued is of type ‘0’ (Tax Coupon - Legacy).
. Any value of 'x' different from those defined, the transaction will be aborted by CliSiTef indicating invalid parameters.
ChaveAcessoDocFiscal=<Key data>Electronic Tax Document access key (size 44 digits). It is necessary to inform when “TipoDocFiscal” is equal to ‘1’ or ‘2’.
NOTE: . In the absence of this “functionality” for “TipoDocFiscal” equal to ‘1’ or ‘2’, or in the presence of the “functionality” for “TipoDocFiscal” equal to ‘0’, the transaction will be aborted by CliSiTef indicating invalid parameters.
Examples:
{TaxDocType=0}
{TypeDocFiscal=1;ChaveAcessoDocFiscal=1111111111222222222233333333334444}
{TypeDocFiscal=2;ChaveAcessoDocFiscal=5555555555666666666677777777778888}
CPFColetado=XXXXXXXXXXXThe default collection of the CPF is carried out by PinPad, when requested in the transaction. If the commercial automation has already captured it previously, or already has it for some reason, and does not want the user to have to re-enter the data on the pinpad, it must be passed via additional parameters.
Initially intended for use with Digital Wallets, the need for use with other products arose.
Example:
{CPFColetado=99966633300;}
SPLITPAY:Estab1=Amount1
IMPORTANT: The main seller's establishment code must not be part of the Split establishments, which must only contain data from secondary sellers.
The establishment code must be a valid CNPJ of maximum 15 digits, and the value, 12 digits, considering the last 2 digits as decimal places. Smaller fields will be completed with leading zeros. Formatted fields will only be considered digits. The associated value is optional.
The character ‘|’ serves as a separator when there are several sets of data.
Examples:
{SPLITPAY:1222555000101=500|111222111000101=000000001000|111.222.333/0001-01=15.00|111.222.444/0001-01;};

Credit/debit transactions with card without BIN#

In certain transactions, where the automation application wants to using a special card (without defined BIN), it is necessary to pass some restrictions, and for this there are two ways:

Indicating the "RedeDestino" configuration in the "ParamAdic" parameter, present in the functions that initiate the payment process (IniciaFuncaoSiTefInterativo) or Banking Correspondent (CorrespondenteBancarioSiTefInterativo), as per the following example:

{RedeDestino=nnnn}

Where nnnn is the code of the network to which the special card belongs (see table below).

Indicating this special network, to which the special card belongs, in the CliSiTef configuration file ("CliSiTef.ini").

To do so, indicate in the Debit, Credit, FuelCard, Gift, WithdrawCredito or DebitWithdrawal, the pairs (Text, Network) corresponding to the text that will be displayed and the network code.

[Debit]

Text1=SomarCard

Network1=172

Text2= StarFiche

Network2=178

TextN=MyNetwork

NetworkN=nnnn

[Credit]

Text1=SomarCard

Network1=172

Text2= StarFiche

Network2=178

Texton=MyNetwork

Networkn=nnnn

[FuelCard]

Text1=FitCard

Network1=263

[Gift Card]

Text1=Condor

Network1=174

TextN=MyNetwork

NetworkN=nnnn

[WithdrawCredito]

Text1= Condor

Network1=174

TextN=MyNetwork

NetworkN=nnnn

[DebitWithdrawal]

Text1= Condor

Network1=174

TextN=MyNetwork

NetworkN=nnnn

Through the configuration file it is possible to define up to 5 networks debit, 5 credit networks, 5 fuel networks, 5 gift, 5 SaqueCrédito networks and 5 SaqueDébito networks. Once this is done, when the automation performs a transaction with one of the modalities described above, CliSiTef will present a menu with all networks defined and with the option of debit, credit, fuel, gift, SaqueCredito or SaqueDebito in which the bins are consulted.

Furthermore, it is necessary to define whether the network in question allows the capture of the card using the magnetic reader or by typing, with the configuration of the following keys:

- HabilitaDigitadoN = 1

- HabilitaMagneticoN = 1

For the [FuelCard] section, reading can also be enabled barcode using the configuration below:

- EnableCodBarN = 1

For Gift transactions, make the following settings below to enable the following input modes:

- HabilitaDigitadoN: Enable EAN 13 input mode.

- EnableCodUnitarioGiftN: Enable EAN 128 input mode.

- HabilitaEgiftDigitadoGiftN: This collection is used when the authorizer issues a virtual number that can be a sent number by email. This number will be used with the card, you will be asked to Gift number input.

Example:

[Debit]

Text1=SomarCard

Network1=172

Text2=StarFiche

Network2=178

Text3=Libercard

Network3=196

EnableDigitado3=1

EnableMagnetic3=0

Text4=VeroPay

Network4=21

EnableDigitado4=1

EnableMagnetic4=0

[Credit]

Text1=SomarCard

Network1=172

Text2= StarFiche

Network2=178

Text3=Libercard

Network3=196

EnableDigitado3=1

EnableMagnetic3=0

[FuelCard]

Text1=FitCard

Network1=263

EnableDigitado1=0

EnableMagnetic1=1

EnableCodBar1=0

[GiftCard]

Text1=Condor

Network1=174

EnableDigitado1=0

EnableMagnetic1=1

EnableCodBar1=0

EnableCodUnitarioGift1=0

EnableEgiftDigitadoGift1=0

[WithdrawCredito]

Text1=Condor

Network1=174

TextN=MyNetwork

NetworkN=nnnn

EnableTypedN=0

EnableMagneticN=1

[DebitWithdrawal]

Text1=Condor

Network1=174

TextN=MyNetwork

NetworkN=nnnn

EnableTypedN=0

EnableMagneticN=1

You can also define additional transactions that will be captured by the network in question. The parameter that determines this characteristic is the TransacoesAdicionaisn, where n is the network index. The values ​​indicated are the functions of item 3.2.2 - Table of function codes, separated by semicolon.

At the moment, only transaction 602 (Credit Card Balance Inquiry) has been implemented.

Example:

[Credit]

Network1=205

Text1=GoldenFarma

TransacoesAdicionais1=602;

Below, we list the code of the networks that have cards in this situation.

Network CodeNetwork Name
21VeroPay (Vero Débito Digitado)
97Cartesys
172SomarCard
178StarFiche
196Libercard
205GoldenFarma
263FitCard

Enabling credit in installments when in a linked payment#

By CliSiTef default, a payment transaction accounts/recharge/activation of a Gift card that has a payment linked will not enable the installment option by default.

However, there is a parameter that, [together with enabling the SiTef of these transactions]{.underline}, can enable this form of payment at the library. The parameter is as follows:

[General]

ModalidadesPermitePagVinculadoCredParcAdm=XXX;

ModalidadesPermitePagVinculadoCredParcLoja=XXX;

Where XXX is the code of the function/modality that will execute the transaction. So, if you want to enable installments in the transaction Gift activation, for example, the code to be used would be 265.

Remembering that it is only possible to enable installments for credit transactions.

IMPORTANT: As installment transactions generally have fees it is important to study whether it is an advantage or not to allow these transactions installments.

Control files#

CliSiTef allows you to configure the directory where your control files. This configuration must be done by item Base Directory of the SaveState section in the CliSiTef.ini file.

On Windows, the default folder used is C:\CliSiTef\ChavesCliSiTef.

On Linux, the default folder is /tmp/ChavesCliSiTef.

[SaveStatus]

Base Directory=<DIRECTORY>

Windows example:

[SaveStatus]

BaseDirectory=C:\Keys

Linux example:

[SaveStatus]

BaseDirectory =/home/user/keys

Note: it is important that a local folder is indicated, and not a network mapping.

Important: the tmp folder was initially chosen in Linux by the fact that, generally, there are no permission problems when using the folder. However, a reboot on the Linux machine may cause the files are deleted.

Therefore, it is recommended that the automation is configured so that the CliSiTef access a folder with read and write permissions. That is, in the system user who will run the automation.

Trace#

CliSiTef typically writes information to a single daily file, with log rotation mechanism. That is, older files are automatically removed.

On Windows, the file is written in the default C:\CliSiTef\CliSiTef.<AAAAMMDD>.dmp.

On Linux, the file is written to the local folder, by default CliSiTef.<AAAAMMDD>.dmp.

On POS equipment, the file is written to the local folder, in the default TRACE.

Configuring history#

In the configuration file "CliSiTef.ini", you can configure the number of days for which the trace will be maintained. By default the trace is enabled for five days.

[GENERAL]

NumeroDeDiasNoLog=n

where n is the number of days. Zero records indefinitely.

Note: this setting is not applied if Rotary Trace mode is enabled.

Directory configuration#

On Windows, the default folder for recording trace files is C:\CliSiTef.

In Linux, the current folder is used.

CliSiTef allows you to configure the directories where your trace files. To do so, change the CliSiTef.ini file as per shown below:

[CliSiTef]

DiretorioTrace=<DIRECTORY>

Windows example:

[CliSiTef]

DiretorioTrace=C:\Trace

Linux example:

[CliSiTef]

DiretorioTrace=/home/user/trace

Trace files per terminal#

To facilitate some analyses, it is possible to configure CliSiTef to generate trace files per terminal (parameter IdTerminal of the function ConfiguraIntSiTefInterativo).

In addition to generating traces per terminal, it is also possible to change the generation of trace files from daily mode to hourly mode, where several fragmented trace files are generated per hour.

When enabling CliSiTef's multi-terminal mode, trace generation is automatically switched to per terminal mode. For adults information about multi-terminal mode, please refer to the specific document "CliSiTef - Configuração Multi-terminal.doc".

If it is not configured in multi-terminal mode and still wants to enable the generation of traces per terminal, just add the item TracePorTerminal in the CliSiTef section of the "CliSiTef.ini" file.

[CliSiTef]

TracePorTerminal=1

To enable the generation of hourly traces, you must add following configuration to the "CliSitef.ini" file:

[CliSiTef]

TracePorHora=1

Rotary Trace#

Starting with version 4.0.112.45 of CliSiTef, it is possible to separate each transaction carried out by automation in its own trace file.

Transaction is understood as the set of message exchanges under the same tax coupon. In other words, tax coupon and tax date, passed as parameter in the function IniciaFuncaoSiTefInterativo (tax time is not considered).

For example: a cell phone recharge transaction followed by a TEF, in same tax coupon, are stored in the same trace file.

In this scenario, the files are written in the form:

Windows Transaction** Linux and mobile platforms (and other non-POS platforms)POS Platforms**
1 (latest)CliSiTef.dmpTRACE
2CliSiTef.dmp.1TRACE.1
3CliSiTef.dmp.2TRACE.2
......
n (older)CliSiTef.dmp.n-1TRACE.n-1

With each new transaction, the files are rotated (renamed), and the older files are removed, maintaining the number of files desired.

This option also allows these files to be sent to the SiTef server, as long as it is configured with the NServices module.

Enabling the rotating trace#

To enable the generation of rotating traces, you must indicate the maximum number of files to be stored in the CliSiTef section, Rotary Trace item.

[CliSiTef]

TraceRotativo=n

Example: store up to 10 transactions

[CliSiTef]

TraceRotativo=10

Note: when enabling the TraceRotativo option, the configuration NumeroDeDiasNoLog will be ignored.

Limiting file sizes#

In situations where there are disk space constraints (POS, for example), you can also limit the size of the trace file. In this case, a The same transaction can be stored in one or more separate files.

To do so, indicate the size (in bytes) of the file limit in the section CliSiTef, TamanhoTraceRotativo item.

For example, to limit the size of each file to around 32Kb:

[CliSiTef]

TraceRotativo=10

TamanhoTraceRotativo=32768

Note: This size limitation is only applied when the option TraceRotativo is enabled.

Sending trace files to the SiTef server#

It is possible to submit trace files from a POS station or terminal POS for the SiTef server. This situation can be especially useful to analyze possible problems in production.

When enabling the TraceRotativo configuration, it will automatically be available in the clisitef administrative menu (function 110) option "Sending trace to the SiTef server".

If the automation wants to disable this option, restrict the menu 3627. For more information, see "Restricting or enabling of payment methods".

It is also possible to command this transaction using function 121, which must be passed in IniciaFuncaoSiTefInterativo.

FunctionDescription
121Sending trace files to the SiTef server.

In the event of a drop in communication, the automation can rerun the function 121 after reestablishing the channel. In this situation, the clisitef will confirm whether you want to continue the previous submission.

When submitting trace files to the SiTef server, make sure that it has the NServices module properly configured.

Development/approval process#

Additional trace file during development phase#

CliSiTefI has an assistance mechanism for application developers that interacts with it in order to simplify the search for problems during the development phase. This mechanism, once enabled, causes a trace file to be generated containing the parameters exchanged between CliSiTef and the application. The file is located in current directory or in C:\CliSiTef, depending on whether the environment is Linux or Windows, respectively. The file name is CliSiTef.AAAAMMDD.txt.

To enable this feature, include the following parameter in the CliSiTef.ini configuration file:

[General]

DataEmAmbienteDeDesenvolvimento=YYYMMDD

Where AAAAMMDD corresponds to the day that the laboratory test is being done.

In a production environment, this configuration MUST NOT EXIST, being that the analysis of problems in this environment must be carried out by Software Expressed by the activation of CliSiTef's internal traces, through settings passed by Support. This option enables automatically select the following option.

Approval process#

As previously described, the flow described in this document must be followed exactly so that no strange errors occur during execution from CliSiTef. To this end, there is a configurable parameter that will be used by Software Express approvers to confirm that the automation application only implements the sales process through printing a receipt or calling the function FinalizaFuncaoSiTefInterativo after the final return of the ContinuaFuncaoSiTefInterativo. This parameter is the following:

[General]

EmAmbienteDeHomologacao=1

By introducing an additional message into the process, it should never be used in a production environment.

Message translation#

It is possible to change part of the messages sent to the automation, to translation effects or, in some cases, to reduce messages.

To enable this feature, simply include it in the TabTraducao section of CliSiTef.ini the item NomeArqTraducao, indicating the name of the translation.

[TabTranslation]

NomeArqTraducao=<File name>

Messages must be in a separate INI format file, under the TabTranslation section.

An example of this file would be:

[TabTranslation]

MsgNovoValor=Provides the new payment amount

MsgEmbosso=Provide the final 4 digits of the card

MsgCodigoSeguranca=Enter Code. Mon, ou\n0 = non-existent\n1 = unreadable

As CliSiTef is constantly adding modules and messages, the complete list of translation items can be found in the document "SiTef - Interface Simplificada com a aplicação - Tabela de Mensagens".

Tables#

Authorizing Network Code#

Authorizing Network CodeDescription
0Other, not defined
1Tecban
2ITAÚ
3BRADESCO
4Visanet - Especificação 200001
5Redecard
6Amex
7SOLLO
8E CAPTURE
9Serasa
10SPC Brasil
11SERASA DETALHADO
12TELEDATA
13ACSP
14ACSP DETALHADO
15TECBIZ
16CDL DF
17Repom
18STANDBY
19EDMCARD
20CREDICESTA
21Banrisul
22ACC CARD
23Clubcard
24ACPR
25Vidalink
26CCC_WEB
27Ediguay
28Carrefour
29Softway
30Multicheque
31Ticket combustível
32YAMADA
33Citibank
34Infocard
35BESC
36EMS
37CHEQUE CASH
38Central Card
39Drogaraia
40OUTRO SERVIÇO
41Edenred
42EPAY GIFT
43Parati
44TOKORO
45Coopercred
46SERVCEL
47Sorocred
48Vital
49SAX FINANCEIRA
50Formosa
51Hipercard
52Tricard
53CHECK OK
54Policard
55Cetelem Carrefour
56LEADER
57Consórcio Credicard Venezuela
58GAZINCRED
59Telenet
60Cheque Pré
61Brasil Card
62Epharma
63Total
64Consórcio Amex Venezuela
65GAX
66Peralta
67SERVIDOR PAGAMENTO
68BANESE
69RESOMAQ
70Sysdata
71CDL POA
72BIGCARD
73DTRANSFER
74VIAVAREJO
75CHECK EXPRESS
76Givex
77Valecard
78Portal Card
79Banpara
80SOFTNEX
81SUPERCARD
82GetNet
83Prevsaude
84BANCO POTTENCIAL
85SOPHUS
86MARISA 2
87MAXICRED
88BLACKHAWK
89EXPANSIVA
90SAS NT
91LEADER 2
92SOMAR
93CETELEM AURA
94CABAL
95CREDSYSTEM
96Banco Provincial
97CARTESYS
98CISA
99TRNCENTRE
100ACPR D
101CARDCO
102CHECK CHECK
103CADASA
104PRIVATE BRADESCO
105CREDMAIS
106GWCEL
107CHECK EXPRESS 2
108GETNET PBM
109USECRED
110SERV VOUCHER
111TREDENEXX
112Bonus Presente Carrefour
113CREDISHOP
114ESTAPAR
115Banco Ibi
116WORKERCARD
117Telecheque
118OBOE
119PROTEGE
120SERASA CARDS
121Hotcard
122Banco Panamericano
123Banco Mercantil
124Sigacred
125Visanet – Especificação 4.1
126SPTRANS
127PRESENTE MARISA
128COOPLIFE
129BOD
130G CARD
131TCREDIT
132SISCRED
133FOXWINCARDS
134CONVCARD
135Voucher
136EXPAND CARDS
137Ultragaz
138Qualicard
139HSBC UK
140Wappa
141SQCF
142INTELLISYS
143BOD DÉBITO
144ACCREDITO
145COMPROCARD
146ORGCARD
147MINASCRED
148Farmácia Popular
149Fidelidade Mais
150ITAÚ SHOPLINE
151CDL RIO
152FORTCARD
153PAGGO
154SMARTNET
155INTERFARMACIA
156VALECON
157CARTÃO EVANGÉLICO
158VEGASCARD
159SCCARD
160ORBITALL
161ICARDS
162FACILCARD
163FIDELIZE
164FINAMAX
165BANCO GE
166UNIK
167TIVIT
168VALIDATA
169BANESCARD
170CSU CARREFOUR
171VALESHOP
172SOMAR CARD
173OMNION
174CONDOR
175STANDBYDUP
176BPAG BOLDCRON
177MARISA SAX SYSIN
178STARFICHE
179ACE SEGUROS
180TOP CARD
181GETNET LAC
182UP SIGHT
183MAR
184FUNCIONAL CARD
185PHARMA SYSTEM
186MARKET PAY
187SICREDI
188ESCALENA
189N SERVIÇOS
190CSF CARREFOUR
191ATP
192AVST
193ALGORIX
194AMEX EMV
195COMPREMAX
196LIBERCARD
197SEICON
198SERASA AUTORIZ CRÉDITO
199SMARTN
200PLATCO
201SMARTNET EMV
202PROSA MÉXICO
203PEELA
204NUTRIK
205GOLDENFARMA PBM
206GLOBAL PAYMENTS
207ELAVON
208CTF
209BANESTIK
210VISA ARG
211AMEX ARG
212POSNET ARG
213AMEX MÉXICO
214ELETROZEMA
215BARIGUI
216SIMEC
217SGF
218HUG
219CARTÃO CONSIGNUM CARTÃO METTACARD
220DDTOTAL
221CARTÃO QUALIDADE
222REDECONV
223NUTRICARD
224DOTZ
225PREMIAÇÕES RAIZEN
226TROCO SOLIDÁRIO
227AMBEV SÓCIO TORCEDOR
228SEMPRE
229BIN
230COCIPA
231IBI MÉXICO
232SIANET
233SGCARDS
234CIAGROUP
235FILLIP
236CONDUCTOR
237LTM RAIZEN
238INCOMM
239VISA PASS FIRST
240CENCOSUD
241HIPERLIFE
242SITPOS
243AGT
244MIRA
245AMBEV 2 SÓCIO TORCEDOR
246JGV
247CREDSAT
248BRAZILIAN CARD
249RIACHUELO
250ITS RAIZEN
251SIMCRED
252BANCRED CARD
253CONEKTA
254SOFTCARD
255ECOPAG
256C&A AUTOMAÇÃO IBI
257C&A PARCERIAS BRADESCARD
258OGLOBA
259BANESE VOUCHER
260RAPP
261Monitora POS
262SOLLUS
263FITCARD
264ADIANTI
265STONE
266DMCARD
267ICATU 2
268FARMASEG
269BIZ
270SEMPARAR RAIZEN
272PBM GLOBAL
273PAYSMART
275ONEBOX
276CARTO
277WAYUP
296SAFRA
301CTF Frota
303SIPAG

Flag Code#

Below are some of the values ​​that can be returned in the FieldType 132, through the routine ContinuaFuncaoSiTefInterativo.

The complete list of flag codes is available in the document "Bandeira Padrao SiTef.pdf".

Flag CodeDescription
0Other, not defined
1Visa (Credit)
2Mastercard (Credit)
4American Express (Credit)
11JCB (Credit)
10014Discovery (Voucher)
20001Maestro (Debit)
20002Visa Electron (Debit)
20137Telenet (Debit)

Supported platforms#

The CliSiTefI and CliSiTef libraries are currently available for following platforms:

Operating SystemEnvironmentsArchitectures
WindowsDesktop / EmbeddedIntel x86 / x64
Windows CEEmbedded/MobileIntel x86,
ARM 32
Windows PhoneMobileARM 32
Mac OSDesktopIntel x64
LinuxDesktop / EmbarcadoIntel x86 / x64,
ARM 32 (v4, v5tej e v6-Raspberry)
AndroidMobileIntel x86 / x64,
Mips, Mips64,
ARMEABI / ARMEABI-v7a
ARM 32 (v7a),
ARM 64 (v8a)
IOSMobileIntel x86 / x64,
ARM 32 (v7/v7s),
ARM 64 (v8a)

Discontinued routines#

Old RoutineNew Routine
LeCartaoInterativoLeCartaoSeguro
LeCartaoInterativoALeCartaoSeguroA
LeCartaoDiretoLeCartaoDiretoSeguro
LeCartaoDiretoALeCartaoDiretoSeguroA
LeCartaoDiretoExLeCartaoDiretoSeguro
LeCartaoDiretoExALeCartaoDiretoSeguroA
FinalizaTransacaoSiTefInterativoFinalizaFuncaoSiTefInterativo¹
IniciaFuncaoAASiTefInterativoIniciaFuncaoSiTefInterativo
IniciaFuncaoAASiTefInterativoAIniciaFuncaoSiTefInterativoA

Comments:

1 -- The function FinalizaFuncaoSiTefInterativo receives one more parameter than its predecessor, FinalizaTransacaoSiTefInterativo (see item 0). If the automation does not need to use this additional parameter, the same must be passed as empty/NULL.

Change History#

Document VersionDateCliSiTef minimum versionDescription
26/08/20040.98.z.8Corrected the documentation of parameters in the LeCartaoDiretoExA function
0.98.nv.14Adjustment in the numbering of the minimum versions and in the descriptive text of the functions and correction of the previous version that was NOT 0.99
09/09/20041.00.a.4Modified the way of numbering versions. Returned the default form V.VV[.release]
Included the generation of unencrypted traces to be used in the development environment
Included CentralCard and InfoCard transactions
09/09/20041.00.a.5Included the necessary field types to handle the collection of telephone numbers for checking checks
1.00.to.20
11/19/20041.00.a.5Return of barcode for which payment was approved
1.00.a.42
12/28/20051.00.a.5Inclusion of TipoCampo 518 and 519 in the value tables for TipoCampo.
04/04/20061.00.a.20Inclusion of the possibility of generating open traces to assist in the development of the interface with CliSiTef
08/17/20061.01.a.138Now returns SiTef and Authorizing Host NSUs when a top-up transaction is paid by card
He started to return the Branch Code that authorized the cell phone recharge
08/11/2006????Inclusion of new fields for handling fuel cards (GoodCard and PortalCard).
01/15/20061.01.c.55Inclusion only in the EMV FULL version of the possibility of adding a secondary IP in CLISITEF.INI.
Trace recording is now enabled by default and the storage period is configurable.
08/17/2007Added authorizing network codes to the existing table.
06/02/20081.01.c.080.1Inclusion of TipoCampo 1131 and menus 3063,3064,3065.
18/03/20081.01.c.082.1Description of special settings in the ParamAdic parameter.
28/03/20081.01.c.082.2Inclusion of TipoCampo 1049.
17/07/20081.01.c.089.1Inclusion of fields for the Condor, Starfiche and SEM networks
01/06/20091.01.c.094.57Inclusion of special EMS configurations.
Inclusion of Qualicard card payment fields.
08/06/20091.01.c.094.63Inclusion of EMS generic authorization.
01/07/20091.01.c.094.71Inclusion of the Pharma System network
23/07/20091.01.c.094.31Inclusion of the Oboé network
23/07/20091.01.c.94.xxInclusion of the Avista network
11/08/20091.01.c.94.xxInclusion of the credit sale menu with cash authorization
12/08/20091.01.c.94.105Inclusion of the Formosa virtual card.
20/08/20091.01.c.94.109Inclusion of the Neus card.
27/08/20091.01.c.94.113Inclusion of the Algorix network
14/09/20091.01.c.94.129Inclusion of PBM Fidelize
09/30/20091.01.c.94.135Inclusion of the CompreMax network
07/10/20091.01.c.94.137Inclusion of generic fuel card cancellation
01/12/20101.01.c.94.191Inclusion of field 537 (area code of the city of the check)
27/01/20101.01.c.94.195Documentation of field 2054 for the CDC Credit type.
28/01/20101.01.c.94.201Inclusion of the SQCF network
11/02/20101.01.c.94.207Inclusion of the Gridcard Card option
06/14/2010-Reserved the Range from 8000 to 9999 for the TipoCampo table for IntPos.dll.
07/06/20101.01.c.94.254Inclusion of GetNet withdrawal/withdrawal reversal menus
06/08/20101.01.c.94.259Inclusion of the Query Withdrawal function with Saque Banco IBI
09/21/20101.01.c.94.265Change in identification of fields Hopi-Hari Product Code (from 2049 to 2120), Hopi-Hari Product Description (from 2050 to 2121), Maximum Quantity of Hopi-Hari products (from 2051 to 2122), Hopi-Hari Products (from 2052 to 2123).
10/21/2010Included field 3334 (SPTrans Payment) and modalities 700 and 701 (Oi Paggo)
11/11/20101.01.c.95.13Inclusion of FoxWinCards invoice payment/refund, menus 3335 and 3336; Inclusion of RedeAbilitadaFoxWinCards.
Inclusion of functions 702 (Bill Payment) and 703 (Benefit Card Payment Cancellation).
06/12/2010-Added descriptions of error codes -43, -50 and -100. Events 5011, 5012 and 5013.
28/01/2011-Inclusion of field 2301.
Created table of Modalities, for better visualization.
02/18/2011Inclusion of fields 2125 and 2126 (HotCard invoice).
11/05/20114.0.102.3.r1Inclusion of fields 3337 to 3352.
Inclusion of functions (modalities) Points Redemption (665 modality), Points Issuance (667), Cancel. Issuance Points (668), 669 (Prepaid Load), 670 (Cancel. Prepaid Load) and 680 (Cons. Prepaid Balance)
05/27/20114.0.102.6.r1Parameter EnableTricardRede
13/06/20114.0.102.7.r1Inclusion of fields 3339 to 3345.
Inclusion of functions (modalities): Sale with Gift Card (modality 15), Gift Balance Consultation (modality 152), Cancellation of Sale with Gift Card (modality 213), Cancellation of Gift Card Recharge (modality 257) and Recharge of Gift Card (mode 264).
07/08/20114.0.102.9.r1Inclusion of field 5501.
12/07/2011-Corrected the name of the InfoCard network in enabled networks.
01/08/20114.0.102.10.r1Inclusion of the TopCard network and the Generic Invoice Payment transaction (3379)
09/22/20114.0.102.12 r1Inclusion of “2:” mode (CMC-7 Typing) in check capture
25/10/20114.0.102.12 r14Inclusion of fields 3407 and 3408; Inclusion of the ClubCard Network
15/12/2011-Change in the description of field 178 which was wrong.
05/09/20124.0.104.6 b6Inclusion of TipoCampo 3409; Inclusion of the Citibank Network
14/11/2012-General review of the document; inclusion of parameter types (input/output and value/reference).
21/12/20124.0.106.18 r1Parameter HabilitaRedeDotz
02/01/20134.0.106.18 r1Inclusion of the description of fields 1 and 2, in addition to the details of field 100.
01/18/20134.0.106.18 r1Inclusion of modality 420, type field 2355 and change in the text of field 1122.
02/26/20134.0.106.20 r1Inclusion of the ConexaoObrigatoria parameter in the “SiTef” section
06/03/2013-Inclusion of TipoCampo 5050 in the events table.
03/13/2013-v119 - Editorial review of the PinPad Information item, and field 2355.
Included clarifications on the Message Download process.
29/04/2013-v120 – Correction in the description of specific ACSP fields that are returned in other networks, making them generic.
14/06/2013-v121 – Inclusion of TipoCampo 2362 and rectification of TipoCampo 131 in the Table of Values
17/09/2013-v122 – Correction in the description of TipoCampo 112.
(Gift) Included fields 3553, 3554 and 3557 in the menu options table (5.7)
02/10/2013-v123 - Rectification of the field for Cancellation of Gift activation.
10/18/2013-v124 – Review of the LeCartaoDireto item.
02/01/2014-v125 – Included reference to Translation Table document.
01/13/2014-v127 – Moved settings between clisitef and sitef of the “Special Settings” document, now extinct.
Note about the need to call the ConfiguraIntSiTefInterativo(Ex) routine.
Included functions 770, 771 and 772 for loading pinpad tables.
Included function 775 (pinpad information)
29/01/20144.0.111.3 r1v128 – Included ‘AUTO_USB’ pinpad port configuration for Windows platform.
11/02/20144.0.111.4 r1Inclusion of the Consignum network
02/27/2014-Updated description of field 3014.
02/04/2014Updated error codes returned by routines.
04/03/2014Inclusion of field 2369 (Brazilian Card).
04/09/2014Inclusion of the description for the 205x field and differentiation between it and the 203x field, as both are fields referring to Hash.
05/14/2014Change in the description of Type Field 1190 from Off-Line Goal Embossment to Embossment (last 4 digits) of the card.
06/10/2014Change in the description of Type Field 110.
06/17/2014Update of the Authorizing Networks Code Table.
23/06/20144.0.111.16 r1Change in the configuration from HabilitaRedeConsignum to HabilitaRedeMettacard, as the Consignum authorizer is now called Mettacard.
07/22/2014Included LeTrilhaChipInterativo functions and ASCII derivations
18/08/20144.0.111.18 r1Change in the description of item 4.1.1 for configuring the pinpad for automatic USB port recognition. Before version 4.0.111.18 r1, it was only enabled for Windows. From this version onwards it also allows configuration for Linux 32, starting with kernel 2.6.
08/21/2014Inclusion of TipoCampo 1321.
08/28/2014- Inclusion of configuration to carry out transactions with a fuel card forcing the network (for example FitCard).
- Inclusion of return -21 for possible return codes. Item 3.2.1.
05/09/2014Inclusion of Type Fields 3270, 3271 and 3272 which are menu options for TrnCentre PBM.
11/09/2014Updating the list of enabled networks.
23/09/2014Details of functions/modalities 10 and 11 including information that is specific to the Wappa network.
10/16/2014Removed legacy fields 141 and 142.
10/29/2014Included modalities/functions 675 and 676.
10/31/2014Inclusion of the LeCartaoDiretoSeguroEx and LeCartaoDiretoSeguroExA routines.
11/28/2014Updated description of field 731.
02/24/2015Inclusion of the reprint menu specific to others 3675.
26/03/20154.0.112.26 r1Inclusion of modality 658 to be able to carry out the Credit Withdrawal transaction directly.
Inclusion of fields 5027, 5028, 5029, 5030, 5031, 5036, 5037, 5038, 5039, 5040, 5041, 5042, 5043, 5044 in the event table.
09/04/2015Inclusion of fields 587 and 588, will be returned in recharge transactions.
04/15/2015Inclusion of the Loyalty Card payment method to the TipoCanpo 100.
05/27/2015Inclusion of menu codes 3624, 3625 and 3626.
Inclusion of item 3.18 Loading Tables on PinPad without changing Automation;
Inclusion of item 4.1.2 Configuration when Automation does not use a pinpad;
Inclusion of item 4.2.7 How to pass a new transaction purchase value on CliSiTef
29/05/2015Inclusion of item 4.1.3 Configuring a second pinpad
08/27/2015Clarification for item 3.4, Payment Confirmation or Not. The transaction confirmation must have the same tax coupon number and the same date as the transaction carried out to be confirmed successfully.
14/09/20154.0.112.42 r1- Inclusion of configuration to carry out transactions with Gift cards forcing the network (for example Condor).
01/10/2015- Inclusion of fields 2467, 2468 and 2469.
10/19/2015- Inclusion of topic Specific Prefix Sent by Automation
11/10/20154.0.112.45 r1Additional notes for defining the control file storage folder.
Inclusion of settings for rotating trace.
11/11/2015- Inclusion of Supported Platforms topic.
02/12/2015Changing the description of fields 3720, 3721, 3722, 3723
12/10/2015Updated Gift Card transaction - Type 262, exclusive use of Carrefour.
12/14/2015Change in the maximum size for field 134 from 15 to 20.
01/14/2016Inclusion of TipoCampo 2470 and item 4.2.8 Floating point
21/01/2016Inclusion of the card expiration date format (YYMM) returned by the LeCartaoDiretoSeguro routine.
02/03/2016Rectification in the item How the automation informs CliSiTef that it knows how to treat floating point fields.
05/02/2016Change in item How automation tells CliSiTef that it knows how to handle floating point fields
02/24/2016Included “Observation” in the treatment of command 23 (item 3.3.1)
03/09/2016Inclusion of: Cancellation Menu Withdrawal Credit Transfer (3307), Cash Credit Option Menu Redemption Points (3261) and NFCE Authorization Number field (952).
03/22/2016Inclusion of the FinalizaFuncaoSiTefInterativo function to the detriment of FinalizaTransacaoSiTefInterativo; Added explanation about additional parameters from the first.
03/24/2016Change in the description of the IdTerminal field of the ConfiguraIntSiTefInterativo function, including important observations.
05/04/2016TypeField 596 and 596 have been made obsolete.
15/0/20164.0.113.12.r2Inclusion of modalities 117 – Pre-authorization adjustment and 118 - Pre-authorization consultation.
06/14/2016Update item 5.6. Included Cielo transactions (3323, 3653, 3654 and 3655)
08/19/2016Update 5.7, improving the description of the CodigoCliente configuration.
09/31/2016Changes ref. implementation of the modalities below:
- Modalities:
430 – Le Cartão Seguro (LeCartaoSeguro)
431 – Le Trilha Chip Seguro (LeTrilhaChipEx)
- Added “Note” to the item:
3.8 Card reading - secure capture routines
- Inclusion of fields:
FIELD_MESSAGE_PINPAD 2601
FIELD_SEED_HASH 2602
FIELD_MODALITY_LECARD_INSURANCE 2603
02/09/2016Inclusion of modality 354 Ultragaz Revenda, Menus 3900, 3901, 3902. Type Field 4076 (Store Identification).
09/27/20165.0.114.6 r1. Inclusion of Modality for Insurance Subscription - 422.
. Inclusion of TipoCampos 3742 (Tricard Insurance Subscription Menu) and 3746 (Tricard Balance Inquiry Menu).
10/10/2016Inclusion of parameters that enable payment in installments in transactions that have linked payment
07/11/2016. Inclusion of modality 908 (change of fuel debit password).
11/11/20165.0.114.13 r1Inclusion of menus 3744 (Credit card recharge) and 3745 (Credit card recharge cancellation).
6.1.114.13 r1Inclusion of functions 899 (Credit card recharge) and 900 (Credit card recharge cancellation).
09/01/2017Insertion of “TipoCampos” for processing the registered bill:
- 4095 CPF/CNPJ Transferor;
- 4096 CPF/CNPJ Drawer;
- 4097 CPF/CNPJ Payer.
02/17/2017Increased the size of the track2 return field in LeCartaoSeguro*, from 64 to 80.
04/04/2017Inclusion of pre-authorization change transaction modality and menu.
04/04/2017Inclusion of IMPERATIVE PREREQUISITE AFTER INSTALLING THE .CHA FILE ON SITEF in item 3.8 Card reading - secure capture routines.
05/04/2017Correction in observation IMPERATIVE PREREQUISITE AFTER INSTALLING THE .CHA FILE ON SITEF in item 3.8 Card reading - secure capture routines.
04/27/2017Inclusion of TipoCampo 4058
24/05/2017Inclusion of configuration for Vero Typed Debit (VeroPay) in item 5.8.
05/25/2017In item 1.1 Brief Description Initial step The terminal identification formatting rule two letters + 000 + Sales Terminal number is no longer mandatory
06/06/2017In item 5.7, “CodigoCliente” functionality, the number of digits allowed for the field was changed from 31 to 32 digits. To this end, there will be a change in gerpdv. There is no change to CliSiTef.
06/09/2017Inclusion of a list of pinpads that support AUTO_USB configuration in Item “4.1.1 Port configuration”.
06/22/2017Included error “-13” and observation in the IniciaFuncaoSiTefInterativo function about replacing the current sales data when starting a new transaction.
07/12/20175.0.114.31 r1Update regarding “Electronic Tax Document”
6.1.114.31 r1Item inclusion:
3.2.3 Additional Parameters
Items update:
3.1.1 General special settings
3.11 Banking Correspondent (Bill Payment)
5.7 Enabling special settings per transaction
08/08/2017Editorial review
09/08/2017In item 6.11 (former item 5.7), “CodigoCliente” functionality, the number of digits allowed for the field changed from 31 to 36 digits. There was no change in CliSiTef. There is a need for gerpdv to have the minimum version 5.0.0.30/6.1.3.30 (from 08/04/2017) which was the version where the change was made to accept the 36 digits of the Customer Code. In addition, SiTef Web must also be updated to correctly display the 36-digit field.
08/18/2017Edited the name of TipoCampo 4095 from Assignor to Beneficiary.
08/23/2017Inserted Modality 928 – Cancellation of Payment of Forced Network Debit Card.
08/25/2017Moved field codes for specific documents: ACSP, Aura, Conductor/Softway, SmartNet, Ticket Car, Prepaid Cell Phone Recharge
10/11/2017Updating the event table
14/11/2017The Self-Service functions IniciaFuncaoAASiTefInterativo and IniciaFuncaoAASiTefInterativoA have been made obsolete.
14/11/20176.1.114.40 r1Change in the treatment of confirmations, allowing consultation of pending issues in previous tax documents.
Added modalities 130 (query of all pending issues in the terminal) and 131 (query of pending issues in a specific tax document).
TipoCampo 210 – Number of pending transactions in the terminal
TypeField 211 – “Function” code of the transaction.
01/10/2018Added comment in field 2355
23/01/2018Changed reference to HSBC name to Corban SE
03/26/2018Improvement in explanations about payment method restrictions.
02/04/2018Inclusion of IATA Menus (in cash, estab installments and admin installments)
06/15/2018Inclusion of types 3 and 4 in ParmsClient
06/27/2018Change in Pinpad port information
07/25/2018Inclusion of the FinalizaFuncaoSiTefInterativoA function
04/09/2018Details of field 2090 (card type read) including additional information about contactless cards and NFC applications.
03/10/2018Greater detail of the fields: 161, The entire range from 800 to 849, 950, 951,953, 1002, 1003, 2364, 4100, 5049 and 5074.
12/12/2018Inclusion of observation about field 2124 (Amount of the Cell Phone Recharge Fee).
12/17/2018Removed exclusivity description of TipoCampo 2321 (Customer Code) for CorBan. TipoCampo was already in use by non-CorBan 19, 29 and 782 modalities.
21/01/2019Created 3 new fields to indicate whether Customer/Establishment coupons will be available to be consulted, or reprinted, via back office, and the number of days they will be stored
(first used by Drogaria São Paulo)
03/12/2019Inclusion of modality 17 (Credit for payment of booklet) and field 2363 (indicates that a Credit for Payment of Carnet transaction was carried out).
05/10/2019Inclusion of fields 3772, 3773, 3774 and 4077
05/23/2019Inclusion of PinPads: Gertec PPC930, Ingenico Lane3000 and VERIFONE P200 in the list of pinpads that support AUTO_USB configuration
05/06/2019Inclusion of fields 2925 and 2965
07/06/2019Inclusion of field 3152: Payment of Senff Account with Change (formerly: Parati)
18/06/20196.2.115.30 r1Exclusion of field 3152: Payment of Senff Account with Change (formerly: Parati).
The solution was redone as follows: Created the HabilitaColetaFormaPagSenff key in the [PagamentoFaturaGenerico] section - when turned on, change will be processed.
06/26/2019Inclusion of code 05 (Crediário) in the description of the TipoCampo (100).
07/11/2019Deletion of field 3774; fields 3772 and 3773 became exclusive to the Coopercred Network; included 3236, 3237, 3238 and 3239
07/16/2019Change of document: item 11.2.
- Reference to the document “Bandeira Padrao SiTef.pdf”.
07/23/20196.2.115.31 r4Included description of the additional parameter “CPFColetado” in section 6.7.
Initially intended for use in transactions with Digital Wallets, the need arose for use in transactions with other products
30/072019Included description of the Field 2699 type, used by the SQCF module. Indicates whether the transaction is a Gift Activation/Recharge.
02/08/2019Inclusion of menus 3988 and 3989.
VRS 22808/10/20196.2.115.35.r1Inclusion of configuration 3989 and changed Neus network to Market Pay.
VRS 22902/03/2020Adjustment of the maximum number of server addresses allowed to 4.
VRS 23002/21/2020·       It has become relevant to inform HoraFiscal when calling the IniciaFuncaoSiTefInterativo function.
·       Included details and more information about the need for Tax Coupons to be a growing number.
VRS 231 and 23209/03/20207.0.116.5.r1Amended section 6.8 - Credit/debit transactions with cards without BIN. Creation of [SaqueCredito] and [SaqueDebito].
In version 232, adjustments were made to the text regarding the changes described above.
VRS 23303/27/2020Created additional parameter to indicate payment division between a maximum of five companies. Changed item 6.7 - Enabling special settings per transaction.
VRS 23403/04/2020Correction of return code -43 when an error occurs in the PIN pad routines (it has been deleted)
Added the minimum version of CliSiTef for P200 with AUTO_USB
Some table formatting and some spelling corrections.
VRS 23504/27/2020Inclusion of menu code 3481.
VRS 23605/26/2020Inclusion of the SAFRA Authorization network code (296) and SIPAG (303). Changed description of code 296 from FIRST DATA to BIN
VRS 23703/09/20207.0.116.17.r2Inclusion of field 4158, making it possible to restrict this option from the Administrative menu.
VRS 23803/09/2020Inclusion of the description of fields 2974,2975,2976.
VRS 23910/27/2020Documentation of modality 698 (Debit Withdrawal)
VRS 24003/05/2021Update of item 5.4.3 of the description of fields 731 and 732, including new Ids for the NFPAG prefix. Main motivation: information on transactions for Pix and Digital Wallets.
VRS 24105/14/2021Inclusion of the description of the LeTeclaPinPad and EscreveMensagemPinPad routines.
VRS 24221/05/20217.0.117.11.r1Inclusion of new payment methods in item “6.6 Table of payment method codes, settings and menus”: 4162 and 4163.
VRS 24305/08/2021Inclusion of a menu option in item “6.6 Table of payment method codes, settings and menus”.
- 4192: Enables the “Bradescard Partnerships” option in the credit sale cancellation menu.
VRS 24403/09/2021Inclusion of a menu option in item “6.6 Table of payment method codes, settings and menus”.
- 4193: Enables the “Banco Ibi” option in the credit sales menu.
- 4194: Enables the “Banco Ibi” option in the Credit Sales Cancellation menu.
VRS 24509/21/2021Removed the menu option in item “6.6 Table of payment method codes, settings and menus”.
- 4192: Enables the “Bradescard Partnerships” option in the credit sale cancellation menu. This option should not be used (It has been cancelled).
VRS 24601/08/2021Inclusion of function codes 943 and 944.
VRS 24708/11/2021Correction in the description of the SPLITPAY prefix
VRS 24801/02/20227.0.117.41.r3Inclusion of direct modalities to transact directly with the Quality card (ICI Card): 28 (Sale) and 101 (Cancellation).

  1. See specific product documents for other product codes function
  2. See item 5.11 - PinPad Information for more information information.
  3. See item 5.12 - Loading Tables in PinPad for more information information.
  4. See specific product documents for other product codes field.
  5. See specific product documents for other code numbers. networks
  6. See specific product documents for other code numbers. restrictions