nbs credit server
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
[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.