Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
PaySMS is a gateway for performing OpenTransact payments via SMS
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
public/stylesheets
views
.gitignore
Gemfile
Gemfile.lock fixed problems with opentransact integration
LICENSE added license and short initial readme
README.textile
config.ru
paysms.rb

README.textile

PayS.MS a OpenTransact SMS gateway

PaySMS allows you to send money via text messages (SMS). It is created using OpenTransact and is released as open source on GitHub.

As a proof of concept this version currently can transfer PicoMoney DevCredits. Please sign up and click the button to issue yourself some devcredits.

Installation

PayS.MS is written in Ruby and Sinatra. It uses Redis. Both are available on Heroku so you should be able to get a customized version up and running in less than an hour.

SMS service is done using Twilio. Feel free to fork and customize it to use another service.

Configuration

You need your credentials from Twilio and from your chosen OpenTransact provider.

For local development I recommend Pow which allows you to place the following in a .powenv file.


# OAuth credentials for OpenTransact provider eg https://picomoney.com/apps
export OPENTRANSACT_KEY="..."
export OPENTRANSACT_SECRET="..."

# OpenTransact url for asset you wish to use
export OPENTRANSACT_URL="http://picomoney.dev/devcredits"

# Display name of Asset
export OPENTRANSACT_NAME="DevCredits"

# Register at http://twilio.com for these
export TWILIO_KEY="..."
export TWILIO_SECRET="..."
export TWILIO_NUMBER="..."

# Optional AdSense account id
export ADSENSE="..."

On Heroku use:

heroku config:add OPENTRANSACT_KEY:... OPENTRANSACT_SECRET:... etc.

Future plans

Small plans

  • I want to modularize most of the business logic into a Phone class.
  • An installation should be able to support more than one OpenTransact asset at a time.
Something went wrong with that request. Please try again.