What is the approval process for custom USB devices?

Hi there!

We are developing an app for merchants in Brazil, and we need to communicate with a specific equipment that only exists here: SAT (Sistema Autenticador e Transmissor / Authenticator and Transmitter System). Examples here and here (sorry, I only found documents in brazilian portuguese)

But then, a question arose: SAT is a USB device, that connects to another network (via ethernet cable). What if Poynt does not approve/allow this equipment to be connected to a Poynt Terminal?

We want to know what are the rules of the approval processs for USB devices, specifically:

  • What is strictly forbidden to do;
  • Restrictions in data content that is being transmitted;
  • Restrictions in data protocols;

Thx in advance :smile:

Ricardo,

We haven’t defined the rules around using USB devices yet, so it would be helpful if you could describe what your device is going to do after connecting to the Poynt terminal.

@dennis, SAT is an obligatory device to everyone who want to emit invoices in the state of São Paulo. Basically it’s an contingency device made to operate in offline moments, allowing the merchant to emit the invoice and, when back online, it synchronizes with SEFAZ (government entity which regulates invoice emission) webservice.

SEFAZ has defined a protocol that consists in SAT operating via USB, client application can communicate with it by using some kind of driver provided by the manufacturer. The manufacturer has only to provide the “driver” (shared library, mostly) with the SEFAZ interface (couple of callable functions).
Driver part is not actually important to this question, probably; but USB is, since Poynt has it’s own homologation process to USB devices connected to the terminal.

If Poynt do not approves the usage of SAT, the terminal would only be usable during online moments AND in stable internet moments, which is somehow not that easy to find in São Paulo’s stores.
To offline moments, another application (PC, probably) would be needed.

Hi Gabriel,

Based on what you have described I don’t see an issue with you developing an app to connect SAT to Poynt terminal. Any transaction data that would need to be transmitted by your app to SAT will require your app to get a corresponding Android permission and the terminal users will be notified that you app is using that data.

1 Like

Hi Dennis!

I’m Jonathan, and i’m developing an application that uses the SAT device. The problem is: when the device is connected, the Android creates a serial port named /dev/ttyACM0, but we can’t use that because of permissions. The Poynt Accessory Manager does not support this device and does not give us the permission.

Hi Jonathan,

Do you only need to interface with the device when your app is in the foreground? Can you share some more information about the device you are working with?