The buy action happens via javascript, so no handler is required in the webapp
Added check for required parameters at runtime
Tweaks to the required command line args message
Enabled user contributions for unknown barcode scans