nbs credit server

57
Introducing the NBS Credit Server The NBS Credit Server interfaces with The Pinnacle Corporation's Palm system to process card transactions for: Credit, including EMV Debit/EBT Fleet Loyalty Prepaid Private Label

Upload: others

Post on 18-Mar-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Introducing the NBS Credit Server

The NBS Credit Server interfaces with The Pinnacle Corporation's Palm system to process card

transactions for:

Credit, including EMV

Debit/EBT

Fleet

Loyalty

Prepaid

Private Label

Getting started with the NBS Credit Server

With the NBS Credit Server, you can process transactions using The Pinnacle Corporation's

Palm system.

Basic Setup

NBS recommends creating a separate directory on your computer system for the credit server,

such as:

C:\Program Files\Pinnacle

Copy the PINNACLE.EXE and REPORT.EXE program files into this directory. Also, extract

the files in DLL.ZIP into this directory. Then, create either a PINNACLE.XML or

PINNACLE.INI file in your Windows directory. On Windows XP/7/Vista systems, the default

Windows directory would be:

C:\Windows

On Windows 2000 systems, the default Windows directory would be:

C:\WINNT

To start the credit server, simply run PINNACLE.EXE from whichever directory you placed it

in. Since the credit server does not run as a service under Windows NT or Windows 2000, on

those systems you would first need to login before starting the credit server.

Upgrading

To upgrade the credit server software, simply close the current batch, shut down the credit

server, replace the Pinnacle.exe, and start the credit server. If you are upgrading to use new

features, you may need to review your settings and make desired changes before starting the

credit server.

Upgrading the encryption key is simple, provided the key in the software you’re upgrading from

isn’t retired. The credit server will transition any transaction files for you. Please upgrade at

least annually to ensure you’re using the latest encryption key.

When you download the NBS credit server, you can check the validity of the Pinnacle.exe file by

using the digital signature on the web site with a SHA-1 hash utility such as sha1sum.exe.

Encryption

The credit server uses AES-256 encryption to secure its data files. The key is updated yearly (or

immediately if suspected of compromise) with a software update. Pinnacle Corp will notify you

when software updates are available and where to get them. The key is not published by the

software or on our web site.

Windows Registry

The credit server makes use of the Windows Registry to store certain values. When the credit

server is run by an administrator, it will use keys starting here:

HKEY_LOCAL_MACHINE\SOFTWARE\NBS

Otherwise, it will use keys starting here:

HKEY_CURRENT_USER\SOFTWARE\NBS

Credit Server Display

The display features communications counters and a status line. The status line shows the

communications status when communicating with the NBS host via modem or TCP/IP

connection.

Communications Counters

Requests Queued: The number of requests queued for authorization/transmission to the NBS

host.

Packets Sent: The number of packets sent to the NBS host. Generally, there is one packet sent

for each authorization request or batch close entry, plus response acknowledgement packets and

a logoff packet.

Packets Received: The number of packets received from the NBS host. Generally, there is one

packet received for each authorization or batch close request, plus request acknowledgement

packets and a logoff response packet.

Requests in Queue: The number of requests waiting to be transmitted.

Pending Requests: The number of requests pending responses.

Dialing attempts: The number of calls made by the credit server to the NBS host.

Connections: The number of successful connections made by the credit server to the NBS host.

Hangups: The number of connections ended prematurely between the credit server and the NBS

host.

Last Call Length: The length of the last call, in seconds.

Avg. Call Length: The average call length, in seconds.

Transactions Stored: The number of transactions stored for batch close.

Files

There are a number of files that the credit server creates and/or uses, as outlined below.

Backup-098.enc

This is the encrypted transaction file for the pending captures.

Batch.txt

This is the batch close report file, showing transactions from all batches, whether or not the batch

close requests succeed. In effect, this file shows what transactions the credit server will attempt

to transmit.

Closing-098.enc

This is the encrypted transaction file for the current or interrupted batch close. When a batch

close request is processed and there is a trans.enc but no closing.enc, the trans.enc file is renamed

to closing.enc and transmitted to the host. This file is deleted after a successful batch close.

Closing.txt

This is the unencrypted transaction file for the current or interrupted batch close. When a batch

close request is processed and there is a trans.txt but no closing.txt, the trans.txt file is renamed

to closing.txt and transmitted to the host. This file is deleted after a successful batch close.

Dup-098.enc

This is the encrypted transaction file for the last 100 preauths or so, used for duplicate checking.

Online-098.enc

This is the encrypted transaction file for online (Debit, cash card, etc.) transactions.

Ridlist.txt

A list of registers the credit server knows about. Registers are added to the list as the credit

server receives requests from them. If the credit server does not hear from a known register

within 30 days, the register will drop off the list.

Trans-098.enc

This is the encrypted transaction file for the current batch in progress. As transactions are

completed, they are stored in this file. When a batch close request is processed, this will be

renamed to closing.enc.

Trans.txt

This is the unencrypted transaction file for the current batch in progress. As transactions are

completed, they are stored in this file. When a batch close request is processed, this will be

renamed to closing.txt.

Configuration

There are two configuration file formats available for use: XML and INI. We recommend using

the XML format because it’s more flexible and has already allowed us to add more configuration

features, such as ZIP code prompting by card type and via pump or register.

You can migrate from PINNACLE.INI to PINNACLE.XML by placing ConvertINI=1 in the

[Misc.] section of your PINNACLE.INI file and starting the credit server. A PINNACLE.XML

file will then be produced using your current settings.

A downloadable configuration supplement may be used when supported by the host. These may

contain configuration settings to be distributed through the NBS host to running credit servers, as

opposed to manual site-by-site configuration. Not all configuration options can be supplemental.

To activate downloadable configuration supplements, indicate the configuration name in the

PINNACLE.XML file using the name attribute in the <config> section. The next time the credit

server contacts the host, if the host has a configuration file available, it will be downloaded and

used.

TAG File

A TAG file is a text file that is used to format TAG or LPT data in credit server responses.

Currently, only loyalty TAG files are supported.

Here's a sample TAG file:

Store # @STORE@

ACCT# @FAN@

Balance of Total Points: @POINTS@=$@VALUE@

Total Points Exp @EXPD1@: @PTS1@

Total Points Exp @EXPD2@: @PTS2@

TAG variables have the format @name@ where name is the name of the variable. The

following variables are supported:

@EXPD1@

Expiration date for points expiring this year.

@EXPD2@

Expiration date for points expiring next year.

@EXPD3@

Expiration date for points expiring in two years.

@FAN@

Formatted account number. This is the card account number with all but the last four digits

replaced with asterisks. For example, an account number of 1234567890123456 would generate

a FAN of ************3456.

@FLAG@

Unlimited shower status: YES or NO.

@POINTS@

This is the total number of points in the card account.

@PTS1@

Points expiring this year.

@PTS2@

Points expiring next year.

@PTS3@

Points expiring in two years.

@STATUS@

Number of points needed to achieve unlimited shower status.

@STORE@

Store number. This is the six digits from the TID following the first six characters. For

example, a TID of PC1078123456601 would generate a store number of 123456.

@TAG1@

Line 1 of optional response text.

@TAG2@

Line 2 of optional response text.

@TAG3@

Line 3 of optional response text.

@TOTAL@

Total points in account.

@TRANS@

Points earned/lost in this transaction.

@VALUE@

This is the total number of points in the card account multiplied by the Redeem Value (in cents)

from the [Loyalty] section. For example, given 500 points and a Redeem Value of 1, the value

would be 5.00.

Batch Close

The credit server will process types IB and IBB (end-of-day), IHB (end-of-shift), and IPB (POS-

initiated) as a normal batch close. The batch ID number will be returned in the REF field and the

batch total will be returned in the AMT field.

Types IBE, IBT, and IBQ are not currently supported.

During a batch close, if a closing.txt file exists, it will be sent to the network. Otherwise, if a

trans.txt file exists, it will be renamed to closing.txt and sent to the network.

The batch.txt file will receive a report consisting of the transactions that will be sent to the

network. However, should the batch close fail and another batch close request sent, the same

batch report will go into batch.txt again.

Special Functions

The only special function implemented so far is shutdown (TYP=IZS). This function will

receive an approval response, then shut down the credit server.

Troubleshooting

If you have a problem with the credit server, the cause may involve the configuration of the

credit server or Pinnacle Automation's Palm system, the hardware running the credit server, the

modem or TCP/IP connection used by the credit server, or the NBS host system.

Often times, if there's a modem or TCP/IP connection problem, there can be many causes. It

could be the hardware itself, or it could be your phone or satellite connection or anything in-

between the site and NBS. Typically, if the credit server state goes to idle while there are

pending requests, or if the hangup counter goes up, there is some sort of a connection problem.

You may also be able to tell what type of problem you have by the response Pinnacle

Automation's Palm system receives from the credit server. Here are some typical error responses

and their possible causes:

APPLICATION TERMINATED: Someone has terminated the credit server application, possibly

by shutting down the machine running the credit server.

AUTH UNAVAILABLE: NBS auth host is down, or NBS link to auth host is down.

CALL ATTEMPTS EXCEEDED: Modem or TCP/IP connection problem.

HOST UNAVAILABLE: NBS host is unavailable.

INVALID CUST ID: Tid entry in PINNACLE.INI is not configured correctly.

TERMINAL ERROR: NBS host has terminated the connection due to some unforeseen error.

UNABLE TO ROUTE: NBS host has terminated the connection due to some unforeseen error.

Support

At this time, we do not have a published support plan to put into this help file. Unless you are

told otherwise, for all support issues please contact your corporate office.

PINNACLE.XML File

Introduction

The PINNACLE.XML file should be placed or created in the Windows directory on the machine

that will be running the credit server. For tips on how to find your Windows directory, see:

Getting started with the NBS Credit Server

Here's a minimal PINNACLE.XML file showing what's necessary to process using a modem:

<?xml version="1.0"?>

<!-- Created on 05/06/2004 at 14:10:34 by PINNACLE.EXE -->

<config Logging="Y" LogDays="8" WorkDir="c:\Program Files\Pinnacle">

<cards>

<card>AMEX</card>

<card>DISCOVER</card>

<card disable=”Y”>FLEETONE</card>

<card disable=”Y”>JCB</card>

<card>MASTER</card>

<card disable=”Y”>MCFLEET</card>

<card>VISA</card>

<card disable=”Y”>VISAFLEET</card>

<card>VOYAGER</card>

</cards>

<misc>

<RespFormat>2</RespFormat>

<Tid>PC9999123456X01</Tid>

</misc>

<modem baud=”2400” bits=”8” port=”COM2”>

<dial>ATDT18005551212</dial>

<init><![CDATA[

AT&FE0N0Q0V1X4&C1&D2&K1&Q6S0=0S2=255S37=6

]]>

</init>

</modem>

<requests>

<register id="5">\\Palm\Requests\request.5</register>

</requests>

</config>

Here's a more advanced PINNACLE.XML file for use with both TCP/IP and a modem and

showing most of the sections and settings:

<?xml version="1.0"?>

<!-- Created on 05/06/2004 at 14:10:34 by PINNACLE.EXE -->

<config Encrypt=”N” Logging="Y" LogDays="8" BatchDays=”10” Masking=”N”

WorkDir="c:\Program Files\Pinnacle" Database=”N”>

<cards capture=”N” CID=”N” commercial=”N” ZIP=”N”>

<card>AMEX</card>

<card limit=”50”>DEBIT</card>

<card CID=”Y”>DISCOVER</card>

<card disable=”Y”>FLEETONE</card>

<card disable=”Y”>FUELMAN</card>

<card disable=”Y”>JCB</card>

<card>MASTER</card>

<card limit=”75”>MCFLEET</card>

<card>VISA</card>

<card limit=”75”>VISAFLEET</card>

<card>VOYAGER</card>

<card>WEX</card>

</cards>

<crypto>

<dll>C:\DPALM\Crypto.dll</dll>

</crypto>

<emv contactless=”N” fallback=”N” update=”N” />

<files>

<products>C:\Program Files\Pinnacle\products.txt</products>

</files>

<ip TLS=”N” SkipIP=”0”>

<hunt>N</hunt>

<ip1>127.0.0.1:5003</ip1>

<ip2>127.0.0.1:5003</ip2>

</ip>

<loyalty>

<AFN>3</AFN>

<ProfitCenter>4</ProfitCenter>

<BalanceTag>ltybal.txt</BalanceTag>

<PointsLpt>ltypts.txt</PointsLpt>

<SaleTag>ltysale.txt</SaleTag>

<RedeemValue>1</RedeemValue>

<Prompt>0</Prompt>

</loyalty>

<misc>

<AmountFlag>Y</AmountFlag>

<Capabilities inside=”CKPRS” outside=”CPRS” />

<CreditAFN>1</CreditAFN>

<DebitAFN>1</DebitAFN>

<Fuel></Fuel>

<FuelmanEncrypt>Y</FuelmanEncrypt>

<Interval>1</Interval>

<MaxAuthProd>5</MaxAuthProd>

<MaxCallRetry>2</MaxCallRetry>

<MaxCaptProd>5</MaxCaptProd>

<MaxDupList>100</MaxDupList>

<MaxPktRetry>3</MaxPktRetry>

<MaxProd>5</MaxProd>

<PreauthAmt>100</PreauthAmt>

<PreauthType>DEFAULT</PreauthType>

<PriceFlag>N</PriceFlag>

<Protocol>SMTS</Protocol>

<PRS>N</PRS>

<Replies>0</Replies>

<RespFormat>2</RespFormat>

<TaxProdCode>98</TaxProdCode>

<Tid>PC9999123456X01</Tid>

<TrackPrompt>N</TrackPrompt>

</misc>

<modem baud=”2400” bits=”8” port=”COM2”>

<dial>ATDT18005551212</dial>

<init><![CDATA[

AT&FE0N0Q0V1X4&C1&D2&K1&Q6S0=0S2=255S37=6

]]>

</init>

</modem>

<notify host=”smtp.myisp.com”>

<event>restart</event>

<to>[email protected]</to>

</notify>

<requests PrepaySplitTender=”N”>

<register id="5">\\Palm\Requests\request.5</register>

</requests>

<timeout>

<Connect>15</Connect>

<Dial>30</Dial>

<Dtr>1</Dtr>

<Enq>10</Enq>

<Init>10</Init>

<Packet>10</Packet>

<Quiet>4</Quiet>

<Reset>10</Reset>

</timeout>

</config>

Comments

You can add comments simply by putting “<!--“ before and “-->” after your comment text:

<!-- Hi there! -->

<Config> Section

General layout:

<config [batchdays=”days”] [database=”Y|N”] [encrypt=”Y|N”] [logging="Y|N"]

[logdays="days"] [masking=”Y|N”] [workdir="directory"] [name=”config”]

[version=”version”]>

</config>

The <config> section encloses all other sections.

The batchdays attribute in <config>: How many bid*.txt and bat*.txt files to keep. The default

is 10; the minimum is 2.

The database attribute in <config>: If “Y”, the credit server will store transactions in an

encrypted database instead of using encrypted flat files loaded into memory.

The encrypt attribute in <config>: If “Y”, the credit server encrypts transaction data files and

masks card data in log files. Used for CISP compliance.

The logdays attribute in <config>: How many log files to keep. The default is 8; the minimum is

2.

The logging attribute in <config>: If “Y”, the credit server produces log files.

The logsize attribute in <config>: Maximum size of a log file generated by the credit server. If

the value is 0, then there is no maximum size and log files receive a dated file name of the format

YYMMDD.log where YY is the last two digits of the year, MM is the month, and DD is the day

of the month. The credit server will keep up to eight of these log files. If the value is non-zero,

then an a.log file is generated up to the specified size (in bytes), after which it's renamed to b.log

and a new a.log is started (the old b.log is lost).

The masking attribute in <config>: If “Y”, cardholder data will be masked (track data and credit

server-to-host protocol); if “TRACK”, account number will not be masked but track data will be

masked. Used for CISP compliance.

The name attribute is used for downloadable configuration supplements. The name should be 7

characters or less and determined through discussion with NBS.

The version attribute is only to be used in downloadable configuration supplements and indicates

the version number of the configuration supplement.

The workdir attribute in <config>: Tells the credit server where to find configuration files and

create log files. Typically, this will be the directory where you installed the PINNACLE.EXE

and REPORT.EXE files.

<Cards> Section

General layout:

<cards [capture=”Y|N|HBC”] [CID=”Y|N”] [commercial=”Y|N”] [elist=”elements”]

[ZIP=”Y|N|RFID|Fallback|EMV|Any”]>

<card [disable=”Y|N”] ISO=”digits|low-high” length=”digits” [crd=”crd”] [fleet=”Y|N”]

[limit=”dollars”] [elist=”elements”] [checkdigit=”type” [checkoff=”offset”]] [checktype=”type”]

[CID=”Y|N”] [driver=”pump|register|both|none”] [mod10=”value”] [mid=”value”

phone=”phone”] [version=”version”] [ZIP=”pump|register|both|none”]>name</card>

</cards>

The capture attribute in <cards>: If “Y”, batched transactions will be copied to the host

immediately for backup purposes. If “HBC”, the credit server will use host-based capture,

updating the batch on the host. Only set this to “Y” or “HBC” if you know your client host

supports these features.

The CID attribute in <cards>: If “Y”, a card ID will be prompted for in all manually-entered

bankcard sales. This is always true for Discover, regardless of the setting.

The commercial attribute in <cards>: If “Y”, Visa/MC transactions will be treated as commercial

cards by default. Only set this to “Y” if you know your client host supports this.

The ZIP attribute in <cards>: Settings per the table below. Typically, ZIP code prompting is not

needed for secure methods of payment such as RFID (Apple/Google/Samsung Pay) or EMV, so

the most common values are “Y” or “Fallback”.

N Y Fallback RFID EMV Any

Manual N Y Y Y Y Y

Swiped N Y Y Y Y Y

Fallback N N Y Y Y Y

RFID N N N Y N Y

EMV N N N N Y Y

Zero or more <card> entries in <cards>: Optional. If not specifically disabled, all Bankcard

cards are enabled.

The checkdigit attribute in <card>: Optional for cards that are not pre-defined. Specify “mod10”

to use the standard MOD10 (Luhn) calculation, or “sum” to specify a simple summation

algorithm. Use the checkoff attribute, if necessary, to specify the starting offset for the

calculation.

The checktype attribute in <card>: If “insane”, perform no sanity checking on the card’s track

data. If “mod10”, use MOD10 checking on the account number. If “sum”, use a simple

summation algorithm on the account number. Default is to leave it up to other settings.

The CID attribute in <card>: If “Y”, a card ID will be prompted for in all manually-entered sales,

provided the card is a bankcard (major credit). This is always true for Discover, regardless of the

setting.

The crd attribute in <card>: If “MASTFLT” for MCFLEET or “VISAFLT” for VISAFLEET,

the credit server will check the CRD data element in a Palm Visa/MC request and if there’s a

match, will treat the card as a fleet card, overriding the credit server’s fleet card range checking.

This has no effect on other card types.

The disable attribute in <card>: If “Y”, the card is disabled.

The driver attribute in <card>: Optional for proprietary cards. Specify “pump” for driver ID

prompting at the pump, “register” for driver ID prompting at the register, “both,” or “none”.

The elist attribute in <cards> and/or <card>: A list of data element names, delimited by “|”, to

include in a packet to the host following the account info.

The ISO attribute in <card>: Required for cards that are not pre-defined. Specify either a six-

digit number or a range of six-digit numbers. For example: “123456” or “123400-123499”.

The length attribute in <card>: Required for cards that are not pre-defined. Specify the number

of digits in the card number.

The fleet attribute in <card>: Optional for cards that are not pre-defined. Specify “Y” if the card

is a fleet card.

The limit attribute in <card>: Optional for all cards. Specifies the default approved pre-auth

amount in dollars.

The mid attribute in <card>: Optional for all cards, specifies the merchant ID to display in the

voice authorization prompt text, maximum 15 characters. Must be accompanied by the phone

attribute.

The mod10 attribute in <card>: If “Y”, use MOD10 checking on the account number. If “N”,

use no checking on the account number. If a numeric value is specified, use that as the starting

account number offset for the MOD10 check. If “I”, do no sanity checking on the card’s track

data. The checkdigit attribute is preferred over the mod10 attribute.

The phone attribute in <card>: Optional for all cards, specifies the 10-digit phone number (digits

only, example: 8005551212) to display in the voice authorization prompt text. Must be

accompanied by the mid attribute.

The version attribute in <card>: Optional for WEX, indicates the I-Spec version number. The

default with no version specified is legacy WEX support, while “2” indicates I-Spec version 2.x

support. Please only use “2” if supported by your host.

The ZIP attribute in <card>: Optional for Amex, Discover, Visa, Visa Fleet, MasterCard,

MasterCard Fleet, and Bankcard. Specify “pump” for ZIP code prompting at the pump,

“register” for ZIP code prompting at the register, “both,” or “none”.

The name text in <card>: Required. You may choose any name, but the following are pre-

defined cards: AMEX is for American Express; DEBIT is for Debit; DISCOVER is for

Discover; MASTER is for MasterCard; VISA is for Visa; BANKCARD is for all preceding;

FLEETONE is for Fleet One; FUELMAN is for Fuelman; JCB is for Japanese Credit Bureau;

MCFLEET is for MasterCard Fleet; VISAFLEET is for Visa Fleet; VOYAGER is for Voyager;

WEX is for Wright Express.

Note: If you decide to enable MasterCard Fleet or Visa Fleet, then you must first close your

batch, otherwise you could end up settling MasterCard Fleet or Visa Fleet cards that were

authorized as regular MasterCard or Visa purchasing cards. The reverse is also true: close your

batch before turning off MasterCard Fleet and/or Visa Fleet. If you don't take this precaution,

transactions may be downgraded or rejected by MasterCard and/or Visa.

Also note: The limit for proprietary and prepaid cards is virtually meaningless since at this time

the authorized amount from the host is used and the limit is ignored.

Here's a sample <cards> section:

<cards CID=”N” ZIP=”N”>

<card>AMEX</card>

<card limit=”50”>DEBIT</card>

<card>DISCOVER</card>

<card disable=”Y”>FLEETONE</card>

<card disable=”Y”>FUELMAN</card>

<card disable=”Y”>JCB</card>

<card>MASTER</card>

<card disable=”Y”>MCFLEET</card>

<card>VISA</card>

<card disable=”Y”>VISAFLEET</card>

<card limit=”500”>VOYAGER</card>

<card version=”2”>WEX</card>

<card ISO=”415807” length=”16” checkdigit=”mod10”>Sprint Spree</card>

<card ISO=”708326” length=”16” checkdigit=”mod10” fleet=”Y”>MyFleet</card>

</cards>

What this means is that the ZIP code field will not be sent; Debit has a pay-at-the-pump limit of

$50; American Express, Discover, MasterCard, Visa, Voyager (pay-at-the-pump up to $500),

Wright Express (I-Spec version 2.x), Sprint Spree, and MyFleet cards are enabled, while

FleetOne, Fuelman, and JCB cards are disabled; Visa Fleet and MasterCard Fleet cards are

treated like regular Visa and MasterCard purchasing cards (disabled). Typically, your corporate

center will have made arrangements with NBS with regard to which card types will be supported.

<Crypto> Section

General layout:

<crypto>

<dll>file</dll>

</crypto>

The <crypto> section is optional.

The <dll> entry in <crypto> is optional.

The file text in <dll>: Specifies the path to a DLL used in encrypted communication with Palm

registers; please contact Pinnacle for more information.

<EMV> Section

General layout:

<EMV [contactless=”Y|N”] [fallback=”Y|N”] [update="Y|N"] [config=”PALMCONF”]

[flags=”PALMFLAGS”] />

The <EMV> section is optional.

The config attribute in <EMV>: Specifies the prefix of the EMV config file for downloading,

default is “PALMCONF”.

The contactless attribute in <EMV>: If “Y”, contactless EMV transactions are allowed. Enable

this for locations that are processing contactless EMV transactions.

The fallback attribute in <EMV>: If “Y”, the credit server checks whether a bankcard is a chip

card and if swiped, requires that the request is a fallback request. Enable this for locations that

are processing EMV transactions.

The flags attribute in <EMV>: Specifies the prefix of the EMV flags file for downloading,

default is “PALMFLAGS”.

The update attribute in <EMV>: If “Y”, check for EMV config/CAPK updates after each batch

close. The credit server does this by requesting a new/existing “palmconf.*” file from the host.

If a new file is retrieved, or if a file is already present and the credit server hears from a new

register, the config file is pushed out to the registers known to the credit server.

<Files> Section

General layout:

<files>

<products>file</products>

</files>

The <files> section is optional.

The <products> entry in <files> is optional.

The file text in <products>: Specifies the path to a product code translation table file. This file

translates products by card type from one code to another code for processing. If this file is

needed, Pinnacle Automation will provide it. The format of each entry in the file is as follows:

Card,PalmCode,NBScode

"Card" is the name of the card type that the Palm system sends in the CRD data element.

PalmCode is the five-character product code sent by Palm. This MUST be five characters in

length, because that's what Palm sends! NBScode is the numeric product code to send to NBS.

For example, if the card were a Wright Express card and the CSTOR product code needed to be

translated to product code 23, the following entry would have to be added to the file:

WEX,CSTOR,23

Note: if the special file name LOCAL is used, the credit sever will expect the standardized

Pinnacle Palm product codes to be sent. Translation will not be performed on the standardized

product codes. Set this value only if Palm has been configured to send the standardized product

codes and if the client host supports them!

<IP> Section

General layout:

<ip [certificates=”Windows|filename”] [TLS=”Y|1.1|N”] [SkipIP=”minutes”]>

<hunt>yesno</hunt>

<client certificate=”certfile” key=”keyfile” />

<ip1>address|host[:port]</ip1>

<ip2>address|host[:port]</ip2>

</ip>

The <ip> section is optional and would only be used for a connection requiring TCP/IP, such as

DSL, frame relay, or VSAT.

The certificates attribute in <ip>: Optional. If set to “Windows”, will use the certificates

provided by Windows. If set to a filename such as “cacert.pem”, will use the certificate(s) in the

file. The certificates will be used when validating a TLS server by host name. Default is no

certificates will be used for validation, which will cause validation by host name to fail.

The TLS attribute in <ip>: Optional. Should be set to “Y” (TLSv1.2) or “1.1” (TLSv1.1) for

connections over the Internet. Do not set this value for non-Internet connections!

The SkipIP attribute in <ip>: Optional value in minutes. Default is 0 (never skip). If non-zero,

IP connectivity will be skipped after the specified number of minutes to fall back to modem

connectivity to periodically test the modem. The test occurs on the next transaction after the

specified number of minutes, so the test could actually take place after a longer period than

specified if transaction volume is low.

The <hunt> entry controls “hunting” to the optional other IP address. Normally, this should not

be used or it should be set to N. This has the effect of only using the other IP address if a

connection to the first has aborted, provided there is no outstanding batch settlement request. If

set to Y, the other IP address will be used if there are outstanding non-batch-settlement requests,

perhaps from a time-out or from a lost connection.

The <client> entry is optional. NBS or your service provider may provide you with client-side

certificate and key files, both in PEM format, for you to use to authenticate the site with a TLS

server.

The <ip1> and <ip2> entries in <ip> are optional. NBS or your service provider will assign a

primary server IP address and port number, and this information would be used in the <ip1>

entry. The <ip2> entry is optional, and is only needed if the site has a secondary link to an NBS

server.

The address, host, and port text in <ip1> and <ip2>: The format of each address is:

a.b.c.d

Where:

a: First octet of IP address.

b: Second octet of IP address.

c: Third octet of IP address.

d: Fourth octet of IP address.

The host text should include a host name plus a fully qualified domain name. When a host name

is specified, the certificates attribute above must be used.

If not specified, port is assumed to be 5003.

<Loyalty> Section

General layout:

<loyalty>

<AFN>afn</AFN>

<ProfitCenter>profitcenter</ProfitCenter>

<BalanceTag>file</BalanceTag>

<PointsLpt>file</PointsLpt>

<SaleTag>file</SaleTag>

<RedeemValue>value</RedeemValue>

<Prompt>prompt</Prompt>

</loyalty>

The <loyalty> section and all entries in the section are optional.

By default, ProfitCenter holds a value of 4, so this entry isn't necessary unless you need to

deviate from the default. Contact NBS for the value this setting should hold for different types

of profit centers.

The BalanceTag value is the name of a TAG file that will be used to generate the TAG/LPT data

in a balance inquiry response.

The PointsLpt value is the name of a TAG file that will be used to generate the TAG/LPT data in

a point accumulation/earning response.

The SaleTag value is the name of a TAG file that will be used to generate the TAG/LPT data in a

sale/redemption response.

By default, RedeemValue holds a value of 1, so this entry isn't necessary unless you need to

deviate from the default. This value affects the @VALUE@ variable in TAG files, and is

multiplied by the total number of points to give a redeemable dollar value. Thus, a value of 1

means the redeemable dollar value is one cent per point.

The Prompt value, when set to 1, prompts the cashier when an inside loyalty sale is performed,

asking whether to earn or redeem points. This prompt is unnecessary with Palm v8.

Note: If loyalty transactions are to be processed, the Protocol value in the <Misc> section must

be set to SMTS.

<Misc> Section

General layout:

<misc>

<AmountFlag>yesno</AmountFlag>

<Capabilities inside=”inside” outside=”outside” />

<CreditAFN>afn</CreditAFN>

<DebitAFN>afn</DebitAFN>

<Fuel>codes</Fuel>

<FuelmanEncrypt>yesno</FuelmanEncrypt>

<Interval>interval</Interval>

<MaxAuthProd>nbr</MaxAuthProd>

<MaxCallRetry>retries</MaxCallRetry>

<MaxCaptProd>nbr</MaxCaptProd>

<MaxDupList>maxduplist</MaxDupList>

<MaxPktRetry>retries</MaxPktRetry>

<MaxProd>nbr</MaxProd>

<PreauthAmt>cents</PreauthAmt>

<PreauthType>type</PreauthType>

<PriceFlag>yesno</PriceFlag>

<Protocol>protocol</Protocol>

<PRS>yesno</PRS>

<Replies>replies</Replies>

<RespFormat>format</RespFormat>

<TaxProdCode>code</TaxProdCode>

<Tid>TID</Tid>

<TrackPrompt>yesno</TrackPrompt>

</misc>

The AmountFlag entry specifies whether the amount field should be echoed back for inside

transactions that require re-prompting. The default is Y.

The Capabilities entry specifies the inside/outside card entry capabilities. The inside attribute is

for inside capabilities (cash register), while the outside attribute is for outside capabilities (pay-

at-the-pump). Each set of capabilities is a string of characters where each character represents a

capability. Valid capabilities are CKPRS, where C=contact EMV, K=keyed/manual,

P=contactless EMV, R=RFID (Apple/Google/Samsung Pay), and S=swipe (magstripe entry).

Common values are CKPRS for inside where contact/contactless EMV, keyed, RFID, and

magstripe are supported, and CRS for outside where contact EMV, RFID, and magstripe are

supported.

The CreditAFN entry specifies the agreement format number for credit transactions, which is

used when printing the receipt. The default is that Palm uses whatever AFN it's configured to

use.

The DebitAFN entry specifies the agreement format number for debit transactions, which is uses

when printing the receipt. The default is that Palm uses whatever AFN it's configured to use.

The Fuel entry specifies a comma-separated list of product codes to be treated as fuel codes. If

not specified, the credit server does not differentiate between fuel and non-fuel products.

Pinnacle Automation will supply this value if necessary for your configuration.

The FuelmanEncrypt entry specifies whether to encrypt the Fuelman driver ID (default Y). This

should only be set to N if the host supports unencrypted Fuelman driver IDs.

The Interval entry specifies how often (in seconds) to check for new requests. If not specified,

the credit server checks for new responses at one-second intervals.

The MaxAuthProd entry specifies the maximum number of products (default & minimum 5,

maximum 20) to send for preauth requests.

The MaxCallRetry entry specifies the number of retries on attempts to connect. If not specified,

the credit server retries a maximum of two times, which is a total of three connect attempts.

The MaxCaptProd entry specifies the maximum number of products (default & minimum 5,

maximum 20) to send for inside sales and completed transactions.

The MaxDupList entry specifies the number of transactions the duplicate checking buffer will

hold. The default is 100, which should be more than enough. If transactions are being resent by

Palm hours after they've been completed, do not adjust this value to hide the problem. Instead,

contact Pinnacle and have them review the Palm or DPT settings.

The MaxPktRetry entry specifies the number of attempts to send request packets or receive

response packets to or from the NBS host. If not specified, the credit server tries a maximum of

three times to send or receive a packet.

The MaxProd entry specifies the maximum number of products (default & minimum 5,

maximum 20) to send.

The PreauthAmt entry is the amount in cents to preauthorize for instead of the requested amount

for non-debit transactions. If not specified, the credit server uses 100 cents, or a dollar.

The PreauthType entry is the type of preauth amount to send. The default behavior is to use

PreauthAmt, but you can specify “HOST” to send $1, which will cause the host amount to be

used; “LIMIT” will cause the limit value for the card type to be sent; “REQUEST” will cause the

requested amount to be sent.

The PriceFlag entry should only be set to Y if the host can accept optional product prices for card

types that do not normally require product prices to be sent.

The Protocol entry defines the communication protocol used with the NBS host system. The

default is MTS. However, SMTS must be specified if loyalty transactions will be processed.

Note that there may be card type restrictions when SMTS is turned on, so check with NBS before

setting this entry to SMTS.

The PRS entry should only be set to Y if running Palm v7.5 or greater and support has been

added to your host. It handles MPD support. It may be set to MERCH instead of Y if non-fuel

products (excluding tax) are desired for inside pre-pays.

The Replies entry specifies whether replies should be appended to the REPLIES.TXT file. If

Replies is 1, then replies will be appended; if replies is 0, then replies won't be appended. If not

specified, replies will not be appended.

The RespFormat entry specifies the response format to be used for Format 1 requests. If not

specified, the credit server sends a Format 1 response to a Format 1 request.

The TaxProdCode entry specifies the numeric product code to send for tax products. If not

specified, the credit server uses a product code of 98. If standardized Pinnacle Palm product

codes are sent, this value will be ignored and TAX will be sent.

The Tid entry specifies an NBS terminal identifier. This entry is mandatory, and will be supplied

by NBS, although your corporate office may have this value for you.

The TrackPrompt entry should only be set to Y if running Palm v8 or greater with encryption

turned on. Otherwise, it should be set to N or not specified.

<Modem> Section

General layout:

<modem baud=”baud” bits=”bits” port=”port”>

<dial>string</dial>

<init><![CDATA[

string

]]>

</init>

</modem>

Although the baud attribute can be set to any valid baud rate, NBS recommends 2400 because

although it connects somewhat slower than 1200, the batch settlement procedure will be faster

overall. NBS recommends against setting this entry to a value above 2400.

The bits attribute should be 8, although another valid value is 7. If 8 is used, then all

communication between the credit server and the NBS host system will use a 16-bit CRC for

error checking, which is essential for connections where line noise may be an issue. If 7 is used,

then a 7-bit LRC will be used for error checking, which is not as good as a 16-bit CRC but is

nonetheless used by many POS systems.

The port attribute should be set to the COM port that your modem is using or is connected to.

You can usually find out which COM port is assigned to your modem by using the Windows

Modem control panel. If you're not using a modem at all set port to NONE. NBS recommends

using a modem as fallback even if the <ip> section is used.

The dial entry will be set to ATDT followed by a toll-free phone number assigned by NBS.

The init entry depends on the make and model of the modem you're using, and what it's used for

is turning on and off certain features for communication with the NBS host system. This sample

init string is for a US Robotics 56K V.90 modem:

AT&FE0N0Q0V1X4&C1&D2&K1&Q6S0=0S2=255S37=6

And here's what it's doing:

AT Gets the modem's attention.

&F Start with factory settings.

E0 Turn off command echo.

Q0 Displays result codes.

V1 Verbal result codes.

X4 Extended result codes.

&C1 Normal carrier operations.

&D2 Normal DTR operations.

&K0 Data compression disabled.

&M0 Normal mode, error control disabled.

&N3 Maximum connection speed is 2400.

&U2 Minimum connection speed is 1200.

S0=0 Auto answer is disabled.

S2=255 Disables escape code.

<Notify> Section

General layout:

<notify host=”smtp.myisp.com” [port=”port”] [domain=”mydomain.com”]

[from=”[email protected]”] [subject=”subject”]>

<to>recipient</to>

<event>event</event>

</notify>

The <notify> section is optional, but requires network access to a mail server for delivery of

notifications.

The host attribute in <notify>: Required. Should be set to the host name or IP address of a mail

server that can deliver the notifications. Note that most Internet Service Providers require you to

use their mail server for outgoing mail, and other service providers will reject mail that is not

from another mail server or one of their customers. You may certainly use an in-house mail

server; check with the mail server administrator for details. Also, if you decide to use a host

name for an in-house mail server, make sure the credit server has access to a DNS for resolving

the name to an IP address.

The port attribute in <notify>: Optional. The default is SMTP port 25.

The domain attribute in <notify>: Optional. The default is “foo.bar”, but you may set it to

whatever works best with your mail server.

The from attribute in <notify>: Optional. The format is: “[email protected]”. By default, the

“name” portion is the TID and the “domain.com” portion is whatever is set for the domain

attribute.

The subject attribute in <notify>: Optional. The default is "Credit Server Notification".

The to value is the recipient. The format is: [email protected]. There must be at least one

recipient (maximum of 100), and the first recipient will be the one that shows up in the “To:”

line of the message. The rest of the recipients, if any, will be “Bcc:”.

The event value is the type of event for notification. Currently only two are defined: modem and

restart. The modem event (<event>modem</event>) causes a notification to be sent if modem

testing is enabled and the modem fails the test. The credit server will not send more than one of

these notifications per half hour. The restart event (<event>restart</event>) causes a notification

to be sent when the credit server is started or stopped.

<Requests> Section

General layout:

<requests PrepaySplitTender=”Y|N”>

<register id="number">path</register>

</requests>

The <requests> section is optional. By default, the credit server will check the request.txt file in

the working directory.

The register entries specify a register number via the id attribute and a file path via the path

value.

If necessary, Pinnacle Automation will supply the <requests> section information.

The PrepaySplitTender attribute in <requests>: If “Y”, allow split tender for inside pre-pays. By

default, split tender for inside pre-pays is disallowed.

<Timeout> Section

General layout:

<timeout>

<Connect>seconds</Connect>

<Dial>seconds</Dial>

<Dtr>seconds</Dtr>

<Enq>seconds</Enq>

<Init>seconds</Init>

<Packet>seconds</Packet>

<Quiet>seconds</Quiet>

<Reset>seconds</Reset>

</timeout>

The <timeout> section and all entries are optional.

The Connect entry specifies how long the credit server waits for a TCP/IP connection. If not

specified, the credit server waits up to 15 seconds.

The Dial entry specifies how long the credit server waits for a modem connection. If not

specified, the credit server waits up to 30 seconds.

The Dtr entry specifies how long the credit server keeps DTR dropped for hanging up modem

calls. If not specified, the credit server waits up to 1 second.

The Enq entry specifies how long the credit server waits for an ENQ on modem connections

before sending the initial request packet. If not specified, the credit server waits up to 10

seconds.

The Init entry specifies how long the credit server waits for modem initialization. If not

specified, the credit server waits up to 10 seconds.

The Packet entry specifies how long the credit server waits for a response packet. If not

specified, the credit server waits up to 10 seconds.

The Quiet entry specifies how long after hanging up a modem connection the credit server waits

for a quiet line. If not specified, the credit server waits up to 4 seconds.

The Reset entry specifies how long after resetting the modem a credit server waits for an OK

response from the modem. If not specified, the credit server waits up to 10 seconds.

PINNACLE.INI File

Introduction

The PINNACLE.INI file should be placed or created in the Windows directory on the machine

that will be running the credit server. For tips on how to find your Windows directory, see:

Getting started with the NBS Credit Server

Here's a minimal PINNACLE.INI file showing what's necessary to process using a modem:

[Cards]

AMEX=Y

DISCOVER=Y

FLEETONE=N

JCB=N

MASTER=Y

MCFLEET=N

VISA=Y

VISAFLEET=N

VOYAGER=Y

WEX=Y

[Files]

WorkDir=C:\Program Files\Pinnacle

[Modem]

ModemBaud=2400

ModemBits=8

ModemPort=COM2

ModemDial=ATDT18005551212

ModemInit=AT&FE0N0Q0V1X4&C1&D2&K1&Q6S0=0S2=255S37=6

[Requests]

\\Palm\Requests\request.5=5

[Misc.]

Format=2

Tid=PC9999123456X01

Here's a more advanced PINNACLE.INI file for use with both TCP/IP and a modem and

showing all the sections and settings:

[Cards]

AMEX=Y

DISCOVER=Y

FLEETONE=N

FUELMAN=N

JCB=N

MASTER=Y

MCFLEET=Y,75

VISA=Y

VISAFLEET=Y,75

VOYAGER=Y

WEX=Y

[Crypto]

DLL=C:\DPALM\Crypto.dll

[Files]

Products=products.txt

WorkDir=C:\Program Files\Pinnacle

[IP]

Hunt=0

IP1=127.0.0.1:5003

IP2=127.0.0.1:5003

TLS=0

[Loyalty]

ProfitCenter=4

BalanceTag=ltybal.txt

PointsLpt=ltypts.txt

SaleTag=ltysale.txt

RedeemValue=1

LoyaltyPrompt=0

[Modem]

ModemBaud=2400

ModemBits=8

ModemPort=COM2

ModemDial=ATDT18005551212

ModemInit=AT&FE0N0Q0V1X4&C1&D2&K1&Q6S0=0S2=255S37=6

[Requests]

\\Palm\Requests\request.5=5

[Responses]

5=\\Palm\Responses\response.5

[Misc.]

AmountFlag=1

BankcardAVS=0

Commercial=0

CreditAFN=1

DebitAFN=2

Encrypt=0

Format=2

Fuel=

FuelmanEncrypt=1

Interval=1

Logdays=8

Logging=1

Logsize=0

Masking=0

MaxAuthProd=5

MaxCallRetry=2

MaxCaptProd=5

MaxDupList=100

MaxPktRetry=3

MaxProd=5

PreauthAmt=100

Price=0

Protocol=MTS

PRS=0

Replies=0

TaxProdCode=98

Tid=PC9999123456X01

TRACE0=1

TRACE1=1

TRACE2=1

TRACE3=1

TRACE4=1

TRACE5=0

TrackPrompt=0

[Timeout]

Connect=15

Dial=30

Dtr=1

Enq=10

Init=10

Packet=10

Quiet=4

Reset=10

[Cards] Section

The general format of a pre-defined card entry is:

<name>=<enable>[,<limit>]

Where <name> is one of the card names below, <enable> is Y for enabled or N for disabled, and

optionally <limit> for the pay-at-the-pump authorized amount. Noe that <limit> is only used

when the SMTS protocol is set.

Here's a sample [Cards] section:

[Cards]

AMEX=Y

DISCOVER=Y

FLEETONE=N

FUELMAN=N

JCB=N

MASTER=Y

MCFLEET=N

VISA=Y

VISAFLEET=N

VOYAGER=Y,500

WEX=Y

What this means is that American Express, Discover, MasterCard, Visa, Voyager (pay-at-the-

pump up to $500), and Wright Express cards are allowed (=Y), while FleetOne, Fuelman, and

JCB cards are not allowed; Visa Fleet and MasterCard Fleet cards are treated like regular Visa

and MasterCard purchasing cards (=N). Typically, your corporate center will have made

arrangements with NBS with regard to which card types will be supported.

A special card entry name of BANKCARD allows you to enable (and set the limit for) American

Express, Discover, MasterCard, and Visa in a single card entry, assuming you want all bankcard

types enabled or disabled and with the same limit.

Other card types can be added as needed, using the following format:

<name>=<enable>,<low ISO>,<high ISO>,<length>,<flags>[,<limit>[,<elist>]]

For example, the Sprint Spree card is a phone card that can be added as the following entry to the

[Cards] section:

SPREE=Y,415807,415807,16,Y

What this means is that the card type SPREE is allowed and has an ISO range from 415807

through 415807 (inclusive), a length of 16 digits, and has a mod10 check digit (<flags>=Y)

calculated starting with the first card digit. If you need to add other card types in this way, this

information will be available from your corporate center, Pinnacle Automation, or NBS support

personnel.

The <flags> parameter should include at least one of the following with no spaces or commas

between any of the flags:

N Do not perform check digit checking.

Y Use mod10 (Luhn) check digit.

I Do not perform sanity checking on the card’s track data.

S Use summation check digit.

# Check digit start of calculation offset; default is 0 for the first card digit.

F Card is a proprietary fleet card.

For example, a proprietary fleet card with a mod10 check digit calculated starting from the first

card digit:

MyFleet=Y,708326,708326,16,YF

Note: If you decide to turn on MasterCard Fleet (MCFLEET=Y) or Visa Fleet

(VISAFLEET=Y), then you must first close your batch, otherwise you could end up settling

MasterCard Fleet or Visa Fleet cards that were authorized as regular MasterCard or Visa

purchasing cards. The reverse is also true: close your batch before turning off MasterCard Fleet

and/or Visa Fleet. If you don't take this precaution, transactions may be downgraded or rejected

by MasterCard and/or Visa.

Also note: The <limit> for proprietary and prepaid cards is virtually meaningless since at this

time the authorized amount from the host is used and the <limit> is ignored.

The <elist> parameter: A list of data element names, delimited by “|”, to include in a packet to

the host following the account info.

[Crypto] Section

Here's a sample [Crypto] section:

[Crypto]

DLL=C:\DPALM\Crypto.dll

The optional DLL entry specifies a DLL for use in encrypted communication with Palm

registers; please contact Pinnacle for more information.

[Files] Section

Here's a sample [Files] section:

[Files]

Products=products.txt

WorkDir=C:\Program Files\Pinnacle

The optional Products entry specifies a product code translation table file. This file translates

products by card type from one code to another code for processing. If this file is needed,

Pinnacle Automation will provide it. The format of each entry in the file is as follows:

Card,PalmCode,NBScode

"Card" is the name of the card type that the Palm system sends in the CRD data element.

PalmCode is the five-character product code sent by Palm. This MUST be five characters in

length, because that's what Palm sends! NBScode is the numeric product code to send to NBS.

For example, if the card were a Wright Express card and the CSTOR product code needed to be

translated to product code 23, the following entry would have to be added to the file:

WEX,CSTOR,23

The WorkDir entry tells the credit server where to find configuration files and create log files.

Typically, this will be the directory where you installed the PINNACLE.EXE and

REPORT.EXE files.

Note: if the special file name LOCAL is used, the credit sever will expect the standardized

Pinnacle Palm product codes to be sent. Translation will not be performed on the standardized

product codes. Set this value only if Palm has been configured to send the standardized product

codes and if the client host supports them!

[IP] Section

Here's a sample [IP] section:

[IP]

Hunt=0

IP1=192.168.50.11:5003

IP2=192.168.51.13:5003

TLS=1

This section is optional and would only be used for a connection requiring TCP/IP, such as DSL,

frame relay, or VSAT. NBS or your service provider will assign a primary server IP address and

port number, and this information would be used in the IP1 entry. The IP2 entry is optional, and

is only needed if the site has a secondary link to an NBS server.

The Hunt entry controls “hunting” to the optional other IP address. Normally, this should not be

used or it should be set to 0. This has the effect of only using the other IP address if a connection

to the first has aborted, provided there is no outstanding batch settlement request. If set to 1, the

other IP address will be used if there are outstanding non-batch-settlement requests, perhaps

from a time-out or from a lost connection.

The format of each IP entry is:

IPx=a.b.c.d:p

Where:

x: Can be 1 or 2, but if there is an IP2, there should be an IP1.

a: First octet of IP address.

b: Second octet of IP address.

c: Third octet of IP address.

d: Fourth octet of IP address.

p: Port number, typically 5003.

The TLS value should be set to 1 for connections over the Internet. Do not set this value for

non-Internet connections!

[Loyalty] Section

Here's a sample [Loyalty] section:

[Loyalty]

ProfitCenter=4

BalanceTag=ltybal.txt

PointsLpt=ltypts.txt

SaleTag=ltysale.txt

RedeemValue=1

LoyaltyPrompt=0

By default, ProfitCenter holds a value of 4, so this entry isn't necessary unless you need to

deviate from the default. Contact NBS for the value this setting should hold for different types

of profit centers.

The BalanceTag value is the name of a TAG file that will be used to generate the TAG/LPT data

in a balance inquiry response.

The PointsLpt value is the name of a TAG file that will be used to generate the TAG/LPT data in

a point accumulation/earning response.

The SaleTag value is the name of a TAG file that will be used to generate the TAG/LPT data in a

sale/redemption response.

By default, RedeemValue holds a value of 1, so this entry isn't necessary unless you need to

deviate from the default. This value affects the @VALUE@ variable in TAG files, and is

multiplied by the total number of points to give a redeemable dollar value. Thus, a value of 1

means the redeemable dollar value is one cent per point.

The LoyaltyPrompt value, when set to 1, prompts the cashier when an inside loyalty sale is

performed, asking whether to earn or redeem points. This prompt is unnecessary with Palm v8.

Note: If loyalty transactions are to be processed, the Protocol value in the [Misc.] section must

be set to SMTS.

[Misc.] Section

Here's a sample [Misc.] section:

[Misc.]

AmountFlag=0

BankcardAVS=0

Commercial=0

CreditAFN=1

DebitAFN=2

Encrypt=0

Format=2

Fuel=

FuelmanEncrypt=1

Interval=1

Logdays=8

Logging=1

Logsize=0

Masking=0

MaxAuthProd=5

MaxCallRetry=2

MaxCaptProd=5

MaxDupList=100

MaxPktRetry=3

MaxProd=5

PreauthAmt=100

Price=0

Protocol=MTS

PRS=0

Replies=0

TaxProdCode=98

Tid=PC9999123456X01

TRACE0=1

TRACE1=1

TRACE2=1

TRACE3=1

TRACE4=1

TRACE5=0

TrackPrompt=0

The AmountFlag entry specifies whether the amount field should be echoed back for inside

transactions that require re-prompting. The default is 1.

The BankcardAVS entry specifies whether to prompt for a ZIP code at the pump for American

Express, Discover, MasterCard, or Visa transactions. A value of 0 (the default) disables this

feature.

The Commercial entry specifies whether to treat Visa/MC cards as corporate purchasing cards by

default. Only set this to 1 if you know your client host supports this.

The CreditAFN entry specifies the agreement format number for credit transactions, which is

used when printing the receipt. The default is that Palm uses whatever AFN it's configured to

use.

The DebitAFN entry specifies the agreement format number for debit transactions, which is uses

when printing the receipt. The default is that Palm uses whatever AFN it's configured to use.

The Encrypt entry specifies whether to encrypt transaction data files and mask card data in log

files, for CISP compliance. If Encrypt=1, files will be encrypted.

The Format entry specifies the response format to be used for Format 1 requests. If not

specified, the credit server sends a Format 1 response to a Format 1 request.

The Fuel entry specifies a comma-separated list of product codes which are considered to be fuel

codes. If not specified, the credit server does not differentiate between fuel and non-fuel

products. Pinnacle Automation will supply this value if necessary for your configuration.

The FuelmanEncrypt entry specifies whether to encrypt the Fuelman driver ID (default 1). This

should only be set to 0 if the host supports unencrypted Fuelman driver IDs.

The Interval entry specifies how often (in seconds) to check for new requests. If not specified,

the credit server checks for new responses at one-second intervals.

The Logdays entry specifies how many log files to keep. The default is eight; the minimum is

two.

The Logging entry specifies whether or not to produce log files, where a value of 1 means

produce log files and a value of 0 means don't produce log files. If not specified, the credit

server produces log files.

The Logsize entry specifies the maximum size of a log file generated by the credit server. If the

Logsize vaue is 0, then there is no maximum size and log files receive a dated file name of the

format YYMMDD.log where YY is the last two digits of the year, MM is the month, and DD is

the day of the month. The credit server will keep up to eight of these log files. If the Logsize

value is non-zero, then an a.log file is generated up to the specified size (in bytes), after which

it's renamed to b.log and a new a.log is started (the old b.log is lost).

The Masking entry specifies whether to mask account and track (and credit server-to-host

protocol) data, for CISP compliance. If Masking=1, card holder data will be masked. If

Masking=2, only track data will be masked.

The MaxAuthProd entry specifies the maximum number of products (default & minimum 5,

maximum 20) to send for preauth requests.

The MaxCallRetry entry specifies the number of retries on attempts to connect. If not specified,

the credit server retries a maximum of two times, which is a total of three connect attempts.

The MaxCaptProd entry specifies the maximum number of products (default & minimum 5,

maximum 20) to send for inside sales and completed transactions.

The MaxDupList entry specifies the number of transactions the duplicate checking buffer will

hold. The default is 100, which should be more than enough. If transactions are being resent by

Palm hours after they've been completed, do not adjust this value to hide the problem. Instead,

contact Pinnacle and have them review the Palm or DPT settings.

The MaxPktRetry entry specifies the number of attempts to send request packets or receive

response packets to or from the NBS host. If not specified, the credit server tries a maximum of

three times to send or receive a packet.

The MaxProd entry specifies the maximum number of products (default & minimum 5,

maximum 20) to send.

The PreauthAmt entry is the amount in cents to preauthorize for instead of the requested amount

for non-debit transactions. If not specified, the credit server uses 100 cents, or a dollar.

The Price entry should only be set to 1 if the host can accept optional product prices for card

types that do not normally require product prices to be sent.

The Protocol entry defines the communication protocol used with the NBS host system. The

default is MTS. However, SMTS must be specified if loyalty transactions will be processed.

Note that there may be card type restrictions when SMTS is turned on, so check with NBS before

setting this entry to SMTS.

The PRS entry should only be set to 1 if running Palm v7.5 or greater and support has been

added to your host. It handles MPD support. It may be set to 2 instead of 1 if non-fuel products

(excluding tax) are desired for inside pre-pays.

The Replies entry specifies whether replies should be appended to the REPLIES.TXT file. If

Replies is 1, then replies will be appended; if replies is 0, then replies won't be appended. If not

specified, replies will not be appended.

The TaxProdCode entry specifies the numeric product code to send for tax products. If not

specified, the credit server uses a product code of 98. If standardized Pinnacle Palm product

codes are sent, this value will be ignored and TAX will be sent.

The Tid entry specifies an NBS terminal identifier. This entry is mandatory, and will be supplied

by NBS, although your corporate office may have this value for you.

The TRACE0, TRACE1, TRACE2, TRACE3, TRACE4, and TRACE5 entries specify whether

those trace logging levels are enabled. If the value is 1, the level is enabled. If the value is 0, the

level is disabled. If not specified, any level except the TRACE5 logging level is enabled.

The TrackPrompt entry should only be set to 1 if running Palm v8 or greater with encryption

turned on. Otherwise, it should be set to 0 or not specified.

[Modem] Section

Here's a sample [Modem] section:

[Modem]

ModemBaud=2400

ModemBits=8

ModemPort=COM2

ModemDial=ATDT18005551212

ModemInit=AT&FE0Q0V1X4&C1&D2&K0&M0&N3&U2S0=0S2=255

Although the ModemBaud entry can be set to any valid baud rate, NBS recommends 2400

because although it connects somewhat slower than 1200, the batch settlement procedure will be

faster overall. NBS recommends against setting this entry to a value above 2400.

The ModemBits entry should be 8, although another valid value is 7. If 8 is used, then all

communication between the credit server and the NBS host system will use a 16-bit CRC for

error checking, which is essential for connections where line noise may be an issue. If 7 is used,

then a 7-bit LRC will be used for error checking, which is not as good as a 16-bit CRC but is

nonetheless used by many POS systems.

The ModemPort entry should be set to the COM port that your modem is using or is connected

to. You can usually find out which COM port is assigned to your modem by using the Windows

Modem control panel. If you're not using a modem at all set ModemPort to NONE. NBS

recommends using a modem as fallback even if the [IP] section is used.

The ModemDial entry will be set to ATDT followed by a toll-free phone number assigned by

NBS.

The ModemInit entry depends on the make and model of the modem you're using, and what it's

used for is turning on and off certain features for communication with the NBS host system. The

sample init string is for a US Robotics 56K V.90 modem, and here's what it's doing:

AT Gets the modem's attention.

&F Start with factory settings.

E0 Turn off command echo.

Q0 Displays result codes.

V1 Verbal result codes.

X4 Extended result codes.

&C1 Normal carrier operations.

&D2 Normal DTR operations.

&K0 Data compression disabled.

&M0 Normal mode, error control disabled.

&N3 Maximum connection speed is 2400.

&U2 Minimum connection speed is 1200.

S0=0 Auto answer is disabled.

S2=255 Disables escape code.

[Requests] Section

Here's a sample [Requests] section:

[Requests]

\\Palm\Requests\request.5=5

In this example, the credit server looks for cash register 5 requests in the file:

\\Palm\Requests\request.5

Pinnacle Automation will supply the [Requests] section information.

[Responses] Section

Here's a sample [Responses] section:

[Responses]

5=\\Palm\Responses\response.5

In this example, the credit server stores responses for cash register 5 in the file:

\\Palm\Responses\response.5

The current version of Pinnacle Automation's Palm system sends a response file name in each

requests, so it's possible the [Responses] section is unnecessary for your configuration. Pinnacle

Automation will configure this section if it is required.

[Timeout] Section

Here's a sample of the [Timeout] section:

[Timeout]

Connect=15

Dial=30

Dtr=1

Enq=10

Init=10

Packet=10

Quiet=4

Reset=10

The Connect entry specifies how long the credit server waits for a TCP/IP connection. If not

specified, the credit server waits up to 15 seconds.

The Dial entry specifies how long the credit server waits for a modem connection. If not

specified, the credit server waits up to 30 seconds.

The Dtr entry specifies how long the credit server keeps DTR dropped for hanging up modem

calls. If not specified, the credit server waits up to 1 second.

The Enq entry specifies how long the credit server waits for an ENQ on modem connections

before sending the initial request packet. If not specified, the credit server waits up to 10

seconds.

The Init entry specifies how long the credit server waits for modem initialization. If not

specified, the credit server waits up to 10 seconds.

The Packet entry specifies how long the credit server waits for a response packet. If not

specified, the credit server waits up to 10 seconds.

The Quiet entry specifies how long after hanging up a modem connection the credit server waits

for a quiet line. If not specified, the credit server waits up to 4 seconds.

The Reset entry specifies how long after resetting the modem a credit server waits for an OK

response from the modem. If not specified, the credit server waits up to 10 seconds.