Hi,
I've been hacking away every now and then on an open source bitcoin payment service (BPS -
https://github.com/matholroyd/bps), where the intention is that individuals or small businesses can use it to accept payments.
Currently its not useable as some key features for a v1 release are missing, but I figure I should announce it rather than just sitting on it.
You can see a demo BPS setup at https://bps.herokuapp.com. It is running in "demo" mode so you can log in as admin, etc.Here's a breakdown of the key features and limitations:
Features:- Designed from ground-up to be hosted on Heroku (http://heroku.com) using their free plan. Consequently should be trivial for someone familiar with Rails to get it running on another host.
- Has simple API 3rd parties can use to make payments.
- With small knowledge of Heroku/Rails/Ruby, anyone can setup a payment service for themselves + friends. Step-by-step instructions are given on github page.
- Automated backups.
Missing features - would want in v1 release:- Automatic forwarding of payments, e.g. to personal wallet on desktop computer.
- Sending bitcoins to someone else.
- Admin interface looks ugly.
Future features:- Private keys stored encrypted on server.
- Encrypting of private keys before they even hit the server - aka Blockchain.info style.
- Email notifications of payments.
- Emailing of backups.
- Instructions on hosting besides Heroku.
Limitations - due to Heroku free plan- Rails apps hosted on the free plan are "hibernated" by Heroku if they have not been accessed for some time, hence the first person to use the service after a while has to wait ~15 seconds before the app will give a response.
- Automatic checking of payments can only be done every ~1 hour on the free plan at most. Any more frequently and you have to start paying.
Goals of projectI realize there are many bitcoin payment services out there, many fantastic. My motivations for hacking on BPS, besides being a bit of fun, were:
- Make it easy for bitcoin enthusiasts to get their friends into accepting bitcoin payments. BPS is designed to be setup on Heroku by one person, then "locked" to another person.
- Only have to remember a domain name when paying someone, rather then copy/paste bitcoin addresses. E.g. if a friend has a BPS setup for themselves, you can go to their site to get a unique bitcoin address while leaving a description of the payment, e.g. "Payment for dinner last night".
- 3rd parties can take advantage of the API to make sending bitcoins to customer's trivial. For example on http://bitpiggy.com, customers buying bitcoins currently have to type in their bitcoin address. However, if someone has a BPS setup for themselves, and BitPiggy was altered to understand the API, then customers could instead just type in their BPS domain name, e.g. bps.bobsmith.com.
- Continuing on from the previous point, bitcoin clients could be altered to understand the API, and thus when using them to pay someone, you could type in their BPS domain.
- Reduce reliance on 3rd parties for shops to accept bitcoin payments.
Also one final note. I suspect there's some projects out there with the similar intentions. Thus hopefully there's something unique about this BPS project that is of benefit to people out there.