1
\$\begingroup\$

I am considering doing a project that involves a machine that can accept credit card payment automatically from customers. Think of it as a vending machine, that accept credit card.

I want to out-source the credit card part and just buy a terminal that my machine can interact with. Problem is that I have no idea how this interaction works?

I have seen that in stores, the cash register interact with the credit card terminal when the cashier "sends" the transaction amount to the terminal. Also when the transaction is done, the terminal sends some kind of acknowledge back to the cash register, so that it can log it for sales reports.

It is the same kind of interaction I want my machine to do. Question is which buses and software protocols credit card terminals use (to interact with cash registers for example)? Is there a standard? Or is it different from manufacture to manufacture?

\$\endgroup\$
4
  • 1
    \$\begingroup\$ First select the terminal of your choice and then look up the documentation on the website of the manufacturer. There are many different terminals out there and it's rather likely that different terminals have different interface. \$\endgroup\$
    – user17592
    Jan 6 '15 at 19:14
  • 1
    \$\begingroup\$ For my credit card development(s) I found it easier to just buy a card swiper, read the data off the card and process it myself through my payment gateway. I used authorize.net because they had a nice API. Granted my boxes all had some kind of network connection. \$\endgroup\$ Jan 6 '15 at 19:29
  • \$\begingroup\$ @Some Hardware Guy - yes, I've actually just looked into authorize.net, it looks pretty sweet! But what about the card reader? As far as I can see they only support IDTech card swipers? And I really want to use the card chip instead? \$\endgroup\$
    – Jolle
    Jan 6 '15 at 19:59
  • \$\begingroup\$ @SomeHardwareGuy ^^ \$\endgroup\$
    – Jolle
    Jan 6 '15 at 20:12
4
\$\begingroup\$

The terminals you see in retail outlets are called POS terminals (Point of sale). There is a standard protocol for it (called OPOS) but it is more like a programming project given that the devices (cash register, barcode scanner, rfid reader, card reader, printer) are all standard, and all can be connected via usb or serial port to the terminal PC. The terminal's user interface program needs to be programmed to use the POS protocol. In .net (C# for example) Microsoft has standard OPOS libraries you can use to code your project, but that is not really related to electronics.

You should read up on the OPOS standards for better understanding.

\$\endgroup\$
2
  • \$\begingroup\$ OK, thanks. Maybe I'll post another question on Stackoverflow instead :) \$\endgroup\$
    – Jolle
    Jan 6 '15 at 19:35
  • \$\begingroup\$ Speak to e.g. Verifone about their PIN pads. You'll probably have to implement PCI-DSS somehow. The pin pads are just serial devices; if you can avoid OPOS it may be easier. \$\endgroup\$
    – pjc50
    Jan 6 '15 at 22:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.