Frequently asked questions
In this guide, you can find answers to frequently asked questions about SPI.
Find more answers in the frequently asked questions for Spice but note that some are not relevant to SPI.
General
How to download the latest version of SPI?
The latest version of the SPI library (@mx51/spi-client-js) can be installed in your JavaScript project using npm.
npm install @mx51/spi-client-js
Is there a sample application made using SPI?
Yes, you can download the sample application’s code at the link below.
SPI sample application | Latest version |
---|
EFTPOS pairing
How to check if SPI is paired and connected with an EFTPOS terminal?
Listen for the ‘StatusChanged’ event as it contains this information.
Can SPI pair with multiple terminals at once?
This is possible when using Pay at table.
What causes the 'NAME_NOT_RESOLVED' error when pairing?
This error is caused when spi.SetTenantCode(...)
is used to set a tenant code that is not in the list of available tenant codes. To get this list, call SpiClient.GetAvailableTenants(...)
. Learn more
POS Steps to reconnecting the EFTPOS terminal after POS crash and relaunch
In case of POS App crash/closer and relaunch, to reconnect with the already paired EFTPOS terminal POS need to pass in the stored secret and other info when initiating a new Spi object before calling the .start() ,
it would be something like below
const spi = new Spi('posId', 'serialNumber', 'eftposAddress', storeSecret)
spi.start().
Transactions
How to make transaction receipts print from the EFTPOS terminal?
You will need to set spi.Config.PromptForCustomerCopyOnEftpos
as true
. Learn more
What happens if internet connection is lost during a transaction?
If there is a network outage or internet disconnection during a transaction, SPI can recover the transaction and return the result.
Signature transactions
What causes a transaction to require a signature?
Whether a transaction requires a signature is determined by the customer's card or bank account. It is not determined by the merchant or SPI. For instance, international cards often require a signature when used overseas.
How to handle the 'SignatureFlowOnEftpos' setting?
No additional logic is needed for your SPI integration to handle the spi.Config.SignatureFlowOnEftpos
setting. This is because when this setting is enabled, the EFTPOS terminal handles the signature workflow, allowing your POS to handle it as a normal transaction.
When this setting is enabled and a signature is required for a transaction, a 'signature required' message will not be returned. Instead, a standard 'TxFlowStateChanged' event will be returned (but only after the EFTPOS terminal completes the signature workflow).
Updated about 1 year ago