Please note that the comments on this page are not monitored in real time. For assistance with the Integration email at integration(.at.)


Which PAX devices can be integrated with a POS device (ECR, computer, etc.) – Which PAX devices can be integrated with a POS device (ECR, computer, etc.) – S300, MT30, SP30.  D210 and D200, Px5 and Px7.  Also some standalone terminals such as S500 can be used in integration setups. 

How does the POS communicate with the processing host when integration terminals are employed? – The POS doesn’t communicate with the processing host. The only communication it has is with the PAX device. The PAX integrated terminal handles all of the host communications.  

How do I set up for Network Connection vs. Direct Connection to a POS? – Here’s how:

  • First, make sure that the server is on the same network as the POS units
  • Set communication for Ethernet
  • Install POSLink on the server only – no integration is required on the POS units themselves 

The POSLink SDK supports

  • Android
  • PC
  • Java
    • Cloud: Imported into the POS
  • Semi-integration
    • Removes the POS from PCI/EMV compliance
    • PAX device handles all of the communication with the processor host
  • Full integration
    • Same SDK
    • Different cloud
    • API
      • MSR
      • EMV
      • NFC
      • PIN pads and Signature Capture devices with Direct To Host
    • PAX Device acts as peripheral only
      • Data entry only
  • Payment done on POS

Which communication types are available between the POS and the PAX device? – Serial (RS232), USB and Ethernet, WIFI (D210).

Does the POSLink need to be installed for the developer to work with the PAX device? Does the DLL need to be registered? – The POSLink installation process is not mandatory, you can just copy the dll file to your project. If theDLL is installed, registration is not normally required. BTW, regsvr32 will not work, all our dll’s are based on the .net. , please use this command to register the dll: “regasm poslink.dll”.

Can the RS232A and B port be used to connect two computers to 1 PAX S300 device? – The S300 can only listen on one RS232 for command and use the other RS232 for peripherals such as a modem for dial. To share one S300 among multiple PCs, just use TCP/IP to talk to the S300.

If my app is sitting on Amazon AWS somewhere, it needs to talk through the Internet and firewalls to a PAX device attached to a PC in a shop somewhere, right?  We don’t have any software installed on the local network where that device is and don’t have a way to reach that IP. In a cloud environment, does the server have to be on the same network as the PAX device? If not, how do they communicate? – Web based POS systems need to know the terminal’s IP address and port. It can be manually or automatically configured. You can have a web service running and have the terminal report its IP address to their server, with client POS system automatically acuiring the corresponding terminal IP from the server.

The client POS system and the PAX terminal must be at the same location and on the same network. The Client POS must know the IP address of the PAX terminal. The client POS can use the HTTP GET protocol to send the payment request to the payment terminal. 

In the SDK development guide there is example of the of the HTTP GET protocol. You can copy and pasted the sample to the web browser URL and test it. You will also need the low level message specification.

I have some success with TCP/IP via java, but also want to try http get. Is there configuration that I have to change somewhere? – Yes, there is. You need to change the ECR Comm Type to HTTP on terminal and change the Comm Type on POSlink Test.

Does the terminal support split pay (Split Tender – one amount on one payment method and a balance on another) or Partial Approval? Or does the POS need to do this?- The POS should check the approved amount and, if the approved amount is less than total amount, should send another sale command with the remaining amount. If the partial approval is not desired, the POS can send a void command to the terminal. 

Is it possible in the API request to push to the PAX device all the items being purchased so they display on the screen. – Yes, we have an API called “SHOWMESSAGE”, and should be called separately for each item.

Or you can try HTTP get on web browser. You can find the sample on page 26 of thePAX_Interface_Between_ECR_PC_and_Terminal V1.30(V20140806) manual.

Can the service port to Telnet, SSH, HTTP, etc. on the D200 be disabled?  If so how? – The terminal does NOT support SSH, Telnet. It only supports HTTP to communicate to the POS system, and is only enabled when the ECR comm type is set to LAN/IP. 

My MT and SP30s work fine for Credit transactions, but they display the message “Cashback Not Allowed” on every Debit transaction and won’t allow Debit transactions to complete. Cashback and the Cashback prompt are disabled in the terminal –  This has been seen when the CAP software is older than the release of 3/20/2014. Update the CAP software. This should fix the issue.

How can I disable the “Debit or Credit” prompt? – You can disable the prompt in the terminal download record on the “Debit” EDC page:


My terminal is displaying “Invalid Batch Sequence” or “. I can’t do transactions – Advance the batch number in the terminal by one:

  • Press the “Menu” key
  • Select Option 5 ( System Settings)
  • Select Option 2 (Batch Number)
  • Enter the Password
  • Select the EDC Host from the list
    • The current batch number will be displayed
  • Enter the new batch number and press “Enter”
  • Press “Enter” to save the change or “Cancel” to discard the change.

I have an SP30 connected to a Casio VR100 Cash Register and I’m getting the Error message  “PAX EFT Application Has Crashed”. –  This can be fixed by reloading the application on the SP30.

Can you describe the how to connect the SP30 to a POS System? Does it connect via USB? – There are two cables you can use to the SP30 to a POS device:

  • There is the download cable which is what everyone uses to connect to POS Systems.  And
  • The Casio cable to connect to Casio ECRs 

We do not have a USB cable that will connect the SP30 (there is a USB cable use for powering the device.  However, any RS232 to USB converter cable will work for USB connectivity.

200204030000160 Casio Cable
200204030000027 Download /Injection Cable

If I set up a WiFi router and connect the Casio VR100 to it via an Ethernet cable, will the D210 be able to work WiFi with a VR100 device? – Yes, as long as the VR100’s application supports the Ethernet ECRComm setting. MoleQ supports it, but Casio’s native payment application may not.

Is there a USB driver available for MAC? – No. PAX supports a USB driver for Windows and Linux, but not MAC.

How does the POS share card data with the MT30 or SP30? – It doesn’t. The POS only sends the MT30 or SP30 the dollar amount. The PAX device handles all communication with the processing host and stores all of the transaction data. The PAX device only sends the authorization and the last four digits of the pan back to the POS. This removes the POS from the PCI loop. Are these devices dual com? – The MT30 is dual com, the SP30 requires a separate adapter for dial communications. The communications/power adapter is part number 200204030000039. AC power adapter alone is part number 200310110000025.

Can the S300 do Store and Forward (SAF)? – Store and Forward is not currently available in Semi-Integrated mode. 

There is the requirement that  card data encryption be done in the terminal’s TRMS.  Where does Voltage encryption occur with the PAX devices? – Voltage encryption occurs inside the TRSM in our terminals. The whole unit is considered TRSM, it complies with all three requirements.

Manual Entry – is that the responsibility of the calling application to capture and handle, or does the terminal allow them to request a manual entry flow where you type the account number in on the terminal? – We support both, if the POS/Cashier does not want to pass in the manual PAN entry request, the customer can simply start typing in his/her  card number on the terminal.

I’m getting an immediate “Unsupported Transaction” response when I initiate a Gift Card Issue transaction. I’ve checked the settings in the BroadPOS download record and on the host and they are all correctly set- Check the transaction code being sent by the ECR/POS device to the terminal when the Gift Activation key is pressed. Make sure the correct code is being sent to the terminal.

I’m trying to load my PAX device and message I am receiving is:  “this terminal has not registered”. – This indicates that there is no terminal record built for that terminal in BroadPOS. 

I have a PAX SP30 and am receiving immediate transaction failure responses for any Gift card Issue (activation). It is instantly rendering Unsupported Transaction despite being enabled for gift. – The SP30 may be passing an Invalid transaction date when the gift activation transaction is being attempted and transaction attempts could be being denied at the for invalid transmission date. Check the date on the SP30 and correct it if it’s wrong. This should clear up the issue.

Casio sends either “08” or “09” to activate/issue a gift card.  If you set the Issue Gift Card key programming to “1”, it sends “08”. If you leave at default it sends “09”. It sends a “10” to add. Make sure that the “Issue Gift key” on the cash register is set at  “1”.

Can we change the idle screen image on the MT30? – Yes, this can be done in POSLink with an API call (UPDATEIMAGE). 

Are there SDKs for the MT30 and SP30 terminals? – Yes. Both terminals share the same SDK. 

How do you set a static IP in the SP30? – Do this:

  • Press the “F”key to access the menu
  • Select Option 6 (Communication)
  • Select Option 7 (LAN Parameters)
  • Select Option 1 (LAN Type)
  • Select Option 2 (Static)
  • Back to LAN Parameters
  • Select Option 2 (IP Address)
  • Input the IP address and press “Enter”
  • Back to LAN Parameters
  • Select Option 3 (Subnet Mask)
  • Input the Subnet Mask and press “Enter”
  • Back to LAN Pasrameters
  • Option 4 (Gateway IP)
  • Input the Gateway IP and press “Enter”
  • Back to LAN Parameters
  • Option 5 (DNS IP)
  • Back to LAN Parameters
  • Press “Cancel” to return to the idle screen

* Make sure you make the changes in BroadPOS so that they don’t get erased the next time you update your terminal.

How do you set a static IP in the MT30? – Do this:

  • Press the “Enter” key to access the menu
  • Select Option 6 (Communication)
  • Select Option 7 (LAN Parameters)
  • Select Option 1 (LAN Type)
  • Select Option 2 (Static)
  • Back to LAN Parameters
  • Select Option 2 (IP Address)
  • Input the IP address and press “Enter”
  • Back to LAN Parameters
  • Select Option 3 (Subnet Mask)
  • Input the Subnet Mask and press “Enter”
  • Back to LAN Pasrameters
  • Option 4 (Gateway IP)
  • Input the Gateway IP and press “Enter”
  • Back to LAN Parameters
  • Option 5 (DNS IP)
  • Back to LAN Parameters
  • Press “Cancel” to return to the idle screen

* Make sure you make the changes in BroadPOS so that they don’t get erased the next time you update your terminal.

I have an MT30 that can do transactions, but gets a host response code of  “RB” and the message is “Unknown Error” when I attempt to settle. The result Code is 000100 and the resulting text in the message is “Declined”. TSYS doesn’t see the attempt on their end. – Check to make sure that the TSYS Agent Chain Number is correct in the terminal.

When we try to process a transaction – we’re getting a “MUST BALANCE NOW” error. This means that the batch must be settled before any more transactions can be entered into the terminal.

Does the API have a way to put advertising on the idle screens – similar to a “screen saver”? – Yes, you can upload three images as logo and/or advertising content with an API call (UPDATEIMAGE). 

You can set the interval Time through setVar:


Do the MT30 and the S300 allow for the customer to enter in their phone number and or email address on the device itself and send it to the POS? – Yes, there is an API call (INPUTTEXT) for customer to key in information.

Is signature capture available?  If so, how does it work?  Where are the signatures stored? –  Yes, the MT30 and S300 are signature signature capture capable devices. If the payment processor supports signature upload, the device uploads it automatically to the gateway. Additionally, the POS system can retrieve the signature.

What happens when there is a dispute over a charge? Is there a way to recall a signature from a previous transaction to display? Or is there another way to deal with disputed transactions? – PAX terminals will only store the most recent signature. The POS can send GETSIGANATURE command to retrieve the signature and store it in your POS database for later retrieval.

Does the terminal system support allowing the customer to choose type of payment from the terminal instead (such as Credit, Debit or Gift Card)? – To a certain extent. The only options presented are Debit and Credit, and can be enabled in BroadPOS. If you want to display Gift also, you can use the SHOWDIALOG command.

I can’t seem to get the cable seated on the connector when I try to attach it to the S300 – Check for a bent pin on the connector. If there is one, straighten it out and try again.

Does PAX support recurring billing (tokenization)? – Tokenization is supported, however it is host dependent. The terminal will return the token to the POS, the POS can store the token and perform re-sale or return without card holder data.

What is the process to refunding a credit card based on the token passed during the original transaction? – You can send the token in extData to do a return.

return ext data

We have a semi-integration to the Pax MT30 and if we send the terminal a request for say $100 and the credit card only has $50 remaining, the terminal will accurately send that information back to the POS BUT it prompts the customer “Thank you for shopping with us!” which makes the customer think that the transaction is complete and they walk away, when in reality, there is still $50 more dollars to pay. – You can disable the “Thank you” message during the authorization and call the “Thank you” API once the payment is in full. You can disable the “Thank you” message using the setVar(hostRspTimeout) command to ‘0’.

Does the MT30 support NFC and Apple Pay? – Yes but MT30 requires an external R50 NFC reader. The SP30, S300 and S80 all have a built in NFC reader. 

I have the older version of the MT30 and I want to connect R50, but the ports don’t match the connectors. – You will need to replace the cable on the R50 with PN 200204030000083 (you need to physically open the R50 and replace the cable).

Is “pre-auth” supported (for example, in cases of merchants who rent goods)? – Yes, “pre-auth” and “post-auth” are both supported. 

Can the receipt be mailed to the customer (with copy of signed “contract”)? – If you have the customer email address, the POS can easily send the e/copy receipt.

Is it possible to get PAX to add an allow-origin header to the devices response headers?   The reason is that all the browsers now block cross site scripting and won’t give the return data to the javascript library without this header.   Right now we are adding the device to the trusted sites and enabling cross site scripting. – Cross Scripting can be enabled in the BroadPOS record:

cross script

How do you test the Touch Screen on MT30? – Do this:

  • Cycle the power 
  • While the terminal is powering up, press the “Enter” button repeatedly
  • This will bring you to the Main Menu
  • Select Option 7 (Module Check)
  • Select Option 7 (Touch Screen)
  • Touch the box in the middle of the screen
  • When the screen changes, start writing on the screen

How do you test the MSR on MT30? – Do this:

  • Cycle the power 
  • While the terminal is powering up, press the “Enter” button repeatedly
  • This will bring you to the Main Menu
  • Select Option 7 (Module Check)
  • Select Option 2 (Mag Reader)
  • Swipe a credit card through the Mag Strip Reader

When I am doing a Debit transaction on my MT30, the PIN prompt just flashes by and displays an error 100022. I am not able to enter the PIN number – This indicates the MT30 is not injected with a PIN Key.  It will have to be injected before it can be used for PIN debit.

I am testing with a device and when it boots up, has the following on the screens: Verify error:Cert: scriptcert.pem – The application loaded in your terminal is a debug version. You can just bypass this error message by press the cancel button. There is nothing wrong with the application itself and you can continue your testing.

How do I provision a terminal with Datawire? – Once the correct application has been downloaded into the terminal via IP, follow these steps:

  • Access the “Menu”
  • Select Option 4 (Host Settings)
  • Enter the password (today’s date in the mmddyyyy format)
  • Select Option 6 (Host Register)
  • Select Option 1 (Provision)
    • Upon completion, the terminal will display (Provision Successful)
  • Select Option 2 (Service Discovery)Press the “Cancel” key to return to the idle screen
    • Upon completion, the terminal will display “Discovery Successful”

When I tried to Provision my terminal through Datawire I got a “Status Error AU” message. – Two probabilities:

  • The Datawire ID is not ready yet
  • The MID/Device ID don’t match what Datawire Provisioned for the terminal

How can we make the terminal time out after a card swipe for situations where the cardholder changes his mind and wants to use another form of payment? The ECR seems to store that information and send it to the terminal when the next transaction is initiated and this can cause issues. – *That is supported already. Here’s how:

  • Automatic timeout after card swipe, the default timeout is set to 30 seconds. 
  • If the customer swipes the card and decides to pay with Cash, there is a message on the terminal and the customer should cancel the transaction.
  • There is an API the POS that can call to clear the buffer.

*Not supported with the “Swipe Anytime” feature.

I have MT30 terminals set up in a relayed network environment and am having issues with DHCP – There is a  version of the monitor (basically, the terminal OS) specifically designed to work in DHCP Relay Network environments. Here is the information on that:

  • MT30 monitor release version: MT30 V1.07 
  • SP30 monitor release version:  SP30 V1.78 

Load the device appropriate version of the monitor into your terminal to fix your issue.

My terminal is getting DHCP errors – Make sure you have an Ethernet cable plugged into the Ethernet Port on one end and your router on the other. Sometimes the phone cable is mistaken for the Ethernet cable. Also, power down the router, wait 20 seconds and power it back up again. Even if other devices on the router are working fine (PC etc.), the specific port you use for your terminal may need to be reset.

My terminal is getting connection errors and is not “DHCP”ing. It’s connected to the same switch as my computers. – A network switch does not assign IP addresses to the devices connected to it, so DHCP will not happen. If you want to use a switch, you will need to create a static IP address for your terminal.

Also, it is possible that when the cable was attached to the PIN pad, pins may have been bent. Check to make sure that is not the case. 

My terminal is getting an error when doing transactions to TSYS “ENCR NOT CONFIGD “. – The terminal is attempting to do E2EE and it is not configured for that on the host. Needs to be configured at the host, or disable E2EE. Also, see “Gen2” below.

I am getting Receive Errors when I run transactions due to the device not sending the Genkey.  How can I force my device to send a authentication request so that I can get the proper genkey into my device? – In the menu, you can activate the Gen2 

  • Menu
  • Select Option 4 (Host Settings)
  • Scroll to and select Host Register
  • Select Option 1 (Activation)

My terminal is getting an error when doing transactions to Heartland (XLATE ERR-20016) – this is a decryption error from the host. Make sure the teminal record on the host is set up to take E2EE transactions (Votlage).

We do some troubleshooting on clients’ networks. If someone changes the firewall or IP schema without letting us know, we may not be able to find the pax units on the network. Are there any utilities that would find any MT30 units on a network? – PAX has no utility like that, however any generic tool ping the device, although the units will not specifically identify themselves as MT30s.

Can we do semi-integration to a Mac-based POS?  Yes. For IOS or any other OS it will work. You can do direct integration to our terminal without the poslink SDK. SDK is just a development/integration tool. Simply talk straight to a TCP server running in the pinpad. 

We have SDK for PC and Android (use Java for Android). If the integrator is using a Mac computer, they can use HTTP protocol to communicate with our device.

Can the PAX device connect via MAC address instead of IP? – No, MAC address is not usable.

We are getting lang delays between the time the POS sends a command to the terminal and the time it actually kicks in to allow card swipe/insert/tap/key. Takes about 6 seconds before it’s ready. – Make sure you are not sending extra commands along with the transaction request. for example, don’t send requests for MID and BIN with each transaction. It’s not necessary. 

I just updated the application on my S300 and now I am getting an “Error Firmware Lookup ReEntry” message. – The so files and Monitor need to be updated to support the new application. Please contact the PAX Help desk to get that update setup.

We are experiencing issues with POSLink timeout setting. No matter what value we set or not set, it always times out after 30 second or so. We are setting the timeout at “500000”. – This setting is too high for POSLink. There are too many “zeros”, and the system is reverting to the default “30000” (30 seconds). The setting is made in 1 ms increments. Make your setting “50000” (50 seconds) to “90000” (90 seconds). (You can actually go up to “99999”). Here’s how to set that in POSLink:


I am receiving “TIMEOUT INVALID” error when trying to run an INPUTACCOUNT command using POSLinkTest.  I have tried entering all kinds of formats including “9000,” and “9000.”  I even tried “[200,600]’” as advised by the POSLink Guide.  Please advise as how to fix this error. – Setting the timeout between 200 and 600 [200,600] will work as long as you format it correctly. For instance, don’t input ‘200,600’, enter 200 or 600 or something in between.:


How do I set a static IP? – Set DHCP to “N” (No)


Set the IP address


Set the Port


We’re able via your API/SDK to send commands to device and add a tip to a previous transaction, but when we adjust the tip by sending a command to the terminal, the terminal shows a listing to search for transactions, select and adjust the tip. Can we adjust the tip without having the search function show on the screenIf not, can we select the appropriate sale via commands and bring up the sale for them to confirm? – Call OrigRefNum which is transaction number of the transaction that you want to do the tip adjust.


Is there a way to have the terminal prompt for a tip at the time of sale? For example,

  • Customer swipes their card
  • Terminal Prompts “Tip?”, or something like that
  • Customer enters the tip and the transaction goes to TSYS for processing

 This could either be on Restaurant or Retail. – Yes, there is. Enable the Tip on broadPOS and send the tip request flag (<TipRequest>1</TipRequest>)in extData with the sale.

What is the terminal asking for when I try to process a void and the terminal asks me ‘Enter Trans. #:’? – It’s asking for the Transaction Number to void:


Below are parameters you will need to send to device to void a transaction.

  • TenderType = Credit
  • TransType = Void
  • OrigRefNum = RefNum
  • ECRRefNum = It’s a mandatory field, if you don’t need it, you can hard code it as 1.

When I attempt a void transaction, I am getting an “Amount Not Allowed” error. – The “Void” transaction does not require an amount, just the original transaction reference number.

We have been trying to do a Reversal (Void) to a Credit Sale using a token. If the transaction is in the open batch, we are able to void it but, if the batch has been closed, we are not able to. The S300 reports ‘NOT FOUND’. – Once a transaction has been settled, it is no longer available for voids or other edits directly to the transaction. In those cases, perform a “Return” using a token.

How can I make the idle screen display “READY” instead of “SWIPE ANY TIME”? – In SetVar, to disable swipeAnyTime, empty the field or populate it with “READY”. Also, remember to change the parameter in BroadPOS.


Do DOSIGNATURE and GETSIGNATURE work together? Do you call one and then the other? – Yes, you can also do signature with the credit transaction then call GETSIGNATURE.


I’m implementing signatures for the MT30 device. The signature screen is displaying but I’m having trouble capturing the signature. Is there a command to capture the signature? – You can call GETSIGNATURE.


Click “Detail” to see the Signature:


* The MT30 terminals don’t have a printer and, so, don’t have print logic. But they can send the signature to the POS and the POS can use that data to create a receipt if the ISV has created the code to do so.

We are sending SignStatusNum as 1 to force signature on the PAX device and signing on the device, but no signature is being returned in the response data. Could you advise why? – You have to retrieve the signature in a separate API call. That would be GetSignature.

When I try to initialize the PAX device through POSLink I get an “Open Port Failed” error. – 

open port failed

This is likely because the port setting in the PIN Pad does not match the port setting in POSLink. For example, in the screen above, POSLink is set to communicate with COM4 while the PIN pad is set to communicate with COM1. Change the setting in POSLink to match the setting in the terminal.

ECRRefNum – this field is required. We do not have a reference number to pass it. Will it matter if we pass in the same number every time, such as 12345? If it has to be unique, when does this reset where a number can be reused again? – The ECRRefNum is a mandatory field but the value can be any value. This number is used to identify the POS and will be echoed back to your POS. For example: You can use it as a POS domain when you are using multiple POS’s to communicate with one terminal. You can just hard code it as 1 if you don’t need it. 

What should we do if the ticket amount changes before it is closed (adjusted) with a TIP? For example, the customer decides to add (or remove) items from their ticket after the authorization. Currently, if the amount changes in any way from the original authorization amount, we void the original authorization and get a brand new authorization with the new amount. – Keep doing what you are doing, void that transaction then send a sale with a new amount.

How do we get the chip reader slot on the MT30 to work? I can get the swiper to work without any issues but I’m not able to get it to acknowledge the chip reader slot. – Your application currently doesn’t support EMV. Once we have completed and certified the EMV application, the chip reader will work. You don’t need to worry about EMV, our terminal handles all of the payment logic.

In EMV mode (with a card inserted, that is), we sometimes  – intermittently – get a message that says “No App” on the device, and it eventually says “Fallback – Swipe Card”. – “No App” refers to the AID matching, or lack thereof, between card and terminal. When there is not an Application Identifier (AID) that both the terminal and card have, it will resort to MSR Fallback.

How do I disable the prompt on a debit card to give cash back? – You can disable it on BroadPOS or on the terminal: Main Menu->Merchant settings->Additional Prompt-> CashBack Prompt. 

I am getting “CASHBACK NOT ALLOWED” error when I run a debit transaction with cashback. I am saving the requested cashback amount into the payment request’s cashback amount property, then issuing a processTransaction call. Am I missing something? I have checked the cashBack configurable parameter, and it is set to 10000,20000,30000,50000. I’m thinking these are default values. Please let me know what I need to do to get this to work. – You can enable the Cashback feature, either in BroaPOS or at the terminal level. Here’s how:

In BroadPOS:


At the terminal Level:

  • Press the “Menu” key
  • Select Option 2 (Merchant Settings)
  • Scroll down to and select “Additional Prompts”
  • Select Option 1 (CashBack Prompt)
  • Select Option 2 (On)

How do I enable signatures on a charged transaction? – You should send SignatureCapture flag = 1


What happens to the signature once the transaction is submitted? Should we be grabbing this signature for any reason or is it sent to the payment gateway? – We have an API called GETSIGNATURE, the terminal can return the signature back to your POS system. We don’t need to send the signature to the processor.


The LOCALTOTALREPORT WORKS. But I have to specify the card there is no
ALL for the CardType??? – If you don’t select the card type, the result will be all. Just like this:

Card Type all

I see a Reset command (A16) and also a ResetMSRBuffer command (A32).  I would assume that since the terminal’s payment application handles the transaction, it will manage the MSR buffer, and I shouldn’t need to call ResetMSRBuffer myself? – A16 is to reset the terminal and display message for you customized message. If you are not using those APIs (ShowMessage, ShowDialog) you do not need to reset it. ResetMSRBuffer can be used when “Swipe Any Time” is enabled. After a short timeout, the terminal will clear the buffer. You do not need to call this API, but if the customer walks away after card swipe you can send this command to clear the buffer.

What is the proper transaction flow for a simple credit sale?  Would Init (A00), then DoCredit (T00), then Reset (A16) work?   DoCredit transaction (Txx) is all that is required. You don’t need to call A00 before each transaction, once per day is enough. A16 will not work, you can use A14.

In the interface documentation, in section 2.1.1, I see it written that POS (ECR) collects AVS & CVV information before sending transaction data to the terminal. I do see later in the document that the AVS information is an Optional field, but it is not explicitly stated that the terminal will collect this data itself if necessary. – Those fields are optional, if the user is doing a manual entry on the terminal and if the CVV/AVS parameter config is enabled the terminal will prompt for it. The terminal will only prompt the data (AVS/CVV) if required and missing.  

What comes in the box with the MT30, SP30 and S300 terminals?


SP30 Corrected PN

S300 parts

MT30 Menu Options


1. AUTHORIZATIONS Enables/disables different card and transaction types.

2. SECURITY SETTINGS Sets security levels for different operations. Sets the User Password.

3. SET BATCH TIME  (Host Capture/Autobatch terminals)

4. ADDITIONAL PROMPTS  (Cash Back Prompt)

    • Enable
    • Disable


1. BUZZER SETUP (Terminal Beep)

    • Enable
    • Disable

2. OPERATION MODE (Toggles between Normal and Demo Modes)

  • Normal
  • Demo

3. HALO SETUP Maximum dollar limit for 

  • Sale
  • Return or
  • Cash Back


1. Host Parameters  (Allows access to the various Host Parameters for viewing or editing)

2. Host URL Params  (Allows access to the various Host IP Parameters for viewing or editing)

3. AutoDial Setup  (Allows the merchant’s terminal to automatically contact the Host and settle the transactions)


1. DATE / TIME SETUP  (Sets terminal’s date (mm/dd/yyyy) and time (hh:mm:ss): Clock is 24 Hour/Military time)

2. WORKING MODE  (Set  Tip options for EDC tip Fraud Control Options)

3. KEYS INJECTION  (Injects PIN key)

4. APP MANAGEMENT ( Application Updates)


1. MAIN COMM  (Set or view the primary method of communication)

2. MAXIMUM TRIES  (Sets maximum tries for connection. Or view current setting.

3 CONNECT TIMEOUT  (Set or view timeout connection)

4. RECEIVE TIMEOUT  (Set or view receiving messages timeout)

5. LAN PARAMETERS  (Set or view LAN settings on Ethernet/IP enabled terminals)

6. ECR COMM. TYPE  (Set or view ECR Communication Type)


16 thoughts on “Integration

  1. Hi! I have here a S80 device, what is the best way to integrate this in our ECR system we our using linux OS for ECR.

  2. Would you please let me know if PAX MT30, can be connected to the,

    1) cash register which uses the software called Microsoft Retail Management System Store Operation,

    2)Which part of cash register this terminal has to be connected,

    3) What is the name of the cable which connects the terminal to the cash register so all the info’s will be transferred from the cash register to the terminal.

    4) What is the email address which allows agents to put a request with PAX for an application to be build for PAX MT30.

  3. Pingback: Download Firmware Swipe Halo Walk N Talk - Apkxyz

  4. We receive an error message ” Unable to get Transaction Reference. Please make sure the Unique Transaction Reference was Entered Correctly” on our PAX S300 while trying to adjust the tip amount. What does this mean?

  5. Hi,
    I would like to implement the S80 terminal for my POS system with HTTP communication. TCP/IP communication works for me but HTTP/HTTPS is not working and having a communication error (CONNECTION CLOSED). How to find the DestIP and DestPort of the S80 simulator(terminal)

  6. Is there a way to Buypass manually confirming a tip on the paxS300?
    We want the software to send the tip adjust to the Pax automatically.

  7. Hi Sir,

    I’m using A920.
    Where I can get the download link of PaxNeptuneApi_V2.X (which compatible with NeptuneService V2.02.01_20180109) ? Thank You.

    Best Regards,
    mbsysde99 at gmail dot com

  8. S300 PAX Terminal

    For VOID SALE operation, the response is
    result Txt: Decline,
    Server code: SERV NOT ALLOWED

    Please suggest if requires any other parameters in request


  9. Why native debugger does not work on A920, but java-debugger is working normally? I get error as follows:

    03/30 23:03:01: Launching app
    $ adb install-multiple -r -t E:\Task10\app\build\intermediates\instant-run-apk\debug\app-debug.apk E:\Task10\app\build\intermediates\split-apk\debug\slices\slice_8.apk E:\Task10\app\build\intermediates\split-apk\debug\slices\slice_3.apk E:\Task10\app\build\intermediates\split-apk\debug\slices\slice_2.apk E:\Task10\app\build\intermediates\split-apk\debug\slices\slice_9.apk E:\Task10\app\build\intermediates\split-apk\debug\dep\dependencies.apk E:\Task10\app\build\intermediates\split-apk\debug\slices\slice_0.apk E:\Task10\app\build\intermediates\split-apk\debug\slices\slice_1.apk E:\Task10\app\build\intermediates\split-apk\debug\slices\slice_4.apk E:\Task10\app\build\intermediates\split-apk\debug\slices\slice_7.apk E:\Task10\app\build\intermediates\split-apk\debug\slices\slice_6.apk E:\Task10\app\build\intermediates\split-apk\debug\slices\slice_5.apk
    Split APKs installed
    $ adb shell am start -n “id.ctech.task10/id.ctech.task10.MainActivity” -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
    Waiting for application to come online: id.ctech.task10.test | id.ctech.task10
    Connecting to id.ctech.task10

    Now Launching Native Debug Session
    $ adb shell cat /data/local/tmp/lldb-server | run-as id.ctech.task10 sh -c ‘cat > /data/data/id.ctech.task10/lldb/bin/lldb-server && chmod 700 /data/data/id.ctech.task10/lldb/bin/lldb-server’
    $ adb shell cat /data/local/tmp/ | run-as id.ctech.task10 sh -c ‘cat > /data/data/id.ctech.task10/lldb/bin/ && chmod 700 /data/data/id.ctech.task10/lldb/bin/’
    Starting LLDB server: /data/data/id.ctech.task10/lldb/bin/ /data/data/id.ctech.task10/lldb unix-abstract /id.ctech.task10-0 platform-1522425792325.sock “lldb process:gdb-remote packets”

    failed to get reply to handshake packet

    Process finished with exit code 0

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s