Let's say you have two devices, a Mac Mini and a black box that has a cash-input slot and a credit card reader.
- What is the make and model of that black box?
- How does software running on that Mac have the dialog:
"Dear user, give me two dollars now" →
"Oh, I see that you have, hooray."
I have done a bit of searching on said black boxes, and there are many of them, but I can't determine what the interface to any of them is, whether it's "pin goes +5v" or what. Something less caveman than that would be nice, obviously.
a quick google turned up cheapkiosks.com, where the devices act as USB keyboards. Or you could use old-school readers plus an off the shelf micro-duino USB keyboard emulator.
From there, almost anything that throws a dialog can set its keyboard accelerators to match what the device throws.
Man, I bet jwz wishes he'd only thought to google the question before asking!
If you truly have a black box with no identifying information, you're likely better off getting a known model acceptor.
The Apex 5000 is a popular mocel. There are newer models, but it's easy to find a 5000. It's easily configured and has a decent manual. The company also seems more than happy to help with support. You can have it talk in pulses (either for one quarter or one dollar) or serial.
Two examples of black boxes, the MEI CASHFLOW Combo Validator and the Coinco Vantage VC6, are both described as using MDB, which I believe refers to the Multi-Drop Bus/Internal Communication Protocol (PDF) published by the National Automatic Merchandising Association.
The MDB protocol defines, among other things, how a vending machine controller (your Mac mini) communicates with a bill acceptor/card reader (the black box). I don't think MDB is used for the card authorization itself, however—the black box is assumed to have its own interface (like the EASITRAX Advance 5000 telemeter) to the payment gateway.
Related DEFCON talk: Please Insert^W Inject More Coins
That covers the protocol of one popular brand of bill reader.
I don't see a Perl implementation of ccTalk. That aught to be remedied.
Apparently there used to be a device family called "MoneyTalk" which supported talking to all kinds of payment devices using either "ccTalk, Pulse, Parallel, SSP, MDB and iButton". It came with an SDK for ANSI C, support for OS X and ports for USB, RS232 and Ethernet. Unfortunately their manufacturer no longer seems to offer them officially, but maybe if you contact them (www.tsien.com) they can help you still. I have no experience with it and can't answer any questions you might have.
PDF brochure: ttp://www.sitekiosk.de/Product/DeviceDocuments/moneytalk-productflyer.pdf
YouTube demo: ttps://www.youtube.com/watch?v=KS1jx7g1bz0
How do you intend to proof your photobooth against vandalism and urine?
Probably by making it non-porous, for starters.
Sparkfun's Coin Acceptors are certainly way less cavemanly, but alas, they only cover the coins part, not the CC part: https://www.sparkfun.com/products/11636
Handling Credit Cards however would require much more regulatory stuff, I'd expect.
Generally the payment processor handles the credit card regulatory stuff. Mainly, from a hardware perspective you want it a) easy to use b) built like a tank and c) easy to detect skimmers on.
Having read all the comments now, if it were me, I'd do it with something like that.
Get a token maker to press custom tokens. They are relatively cheap in bulk, less than a quarter each. Have the bartender sell photo tokens. (There's an instant profit here in people who buy tokens and then don't use them.) Use tokens in easily hardened coin slot.
You only think this because you don't run a bar.
In the fine lazyweb tradition of answering a different question than you are asking: can you combine the money-handling part of the kiosk with some existing money-handling infrastructure you already have? Like, maybe people go to the booth, take some photos (live preview and "yes I want this one" button), then they go over to the bar, plunk down their money, the bartender presses "print" and while it's printing they can offer to sell
some fries with that an extended warrantyanother drink. Or pizza or whatever. Also this way the printer is a little farther away from the urine, I guess.
As for your actual question, the bill acceptors I've messed with have had relay outputs / contact closures, but that was a while ago.
I'd wager half the fun of a photobooth is the spontaneity, and relative anonymity. Nobody wants the bartender to judge their photos.
No, but we want the bartender to publically and humorously judge everyone else’s photos. Duckface from the lady on her fifth Lemon Drop, what a surprise.
Photobooth Roulette - 16% chance that your photo will end up on a big monitor over the bar, with a humorous caption.
(Of course, if you pay an extra dollar, we can guarantee that it doesn't happen...)
JWZ I thought: "arcade games have this problem". Maybe their supply chain is full of clues? E.g., Google say: http://www.idealamusementsoftware.com/products/game-card-readers
The Santa Cruz Beach Boardwalk just installed this system everywhere, including arcade games and rides. You get a barcoded card filled with value and take it everywhere. No refunds.
Nice system. Uses a cardboard barcoded card and no fee for the card. You can recharge the card or get a new one.
Lists the change in real dollars instead of the weaselly "credit" systems like Dave and Buster's uses.
Does it NEED to be cash? More and more vending machines are getting this doodad to augment cash taking: https://www.usatech.com/products-services/cashless-acceptance/eport
Reduces the chance of stealing the cashbox.
We have these on our vending machines at work. They are much flakier than just putting coins in.
That may have to do with how strong the cellular network connection is where they are installed or their relatively unintuitive interface (which may be a side effect of driving a vending machine with variable item cost), but whatever the reason I certainly would not consider them robust...
And certainly they seem a bit flimsy, physically. Not hardened in the way Jaimie requires.