Author

Topic: BPS - open source bitcoin payment service - Ruby on Rails (Read 2690 times)

edd
donator
Activity: 1414
Merit: 1002
Mat was kind enough to set me up with his BPS and I can guarantee I'll be using it as soon as I can get it customized a bit more.

Anyone wanting to try it out is welcome to send me bitcoins at https://bps-edd.herokuapp.com/  Wink
member
Activity: 67
Merit: 10
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 project
I 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.
Jump to: