public
Description: An API for using the Amazon Flexible Payment Service (FPS).
Homepage: http://rubyforge.org/projects/remit/
Clone URL: git://github.com/tylerhunt/remit.git
Click here to lend your support to: remit and make a donation at www.pledgie.com !
Jeff Seibert (author)
Fri May 15 23:19:09 -0700 2009
tylerhunt (committer)
Wed Jul 29 11:53:37 -0700 2009
commit  481a7a4b1d6002a207830f15092fa61d0b741ae6
tree    d917020e787e89ffc25fa8ed69a9a0a9e2c7a91f
parent  345f752f0f7757686fc317cd7b2e3f190c0ac953
remit /
name age message
file .gitignore Wed Oct 15 07:45:00 -0700 2008 Updated Rakefile to add rake spec, rake doc, an... [nbibler]
file CHANGELOG Mon Apr 27 11:58:19 -0700 2009 Updated changelog. [tylerhunt]
file LICENSE Tue Feb 03 11:14:54 -0800 2009 Updated documentation. Converted README to Mar... [tylerhunt]
file README.markdown Tue Feb 03 13:44:15 -0800 2009 Fixed another typo in the documentation. [tylerhunt]
file Rakefile Mon Apr 27 09:47:12 -0700 2009 Updated Rakefile to use Jeweler. [tylerhunt]
file VERSION.yml Mon Apr 27 11:58:38 -0700 2009 Version bump to 0.0.4 [tylerhunt]
directory lib/ Loading commit data...
file remit.gemspec Mon Apr 27 11:59:04 -0700 2009 Regenerated gemspec for version 0.0.4 [tylerhunt]
directory spec/ Mon Apr 27 11:56:13 -0700 2009 Fixed the ipn request to finally work correctly... [tylerhunt]
README.markdown

Remit

This API provides access to the Amazon Flexible Payment Service (FPS). After trying to get the SOAP version of the API written, I began working on this REST version to provide a cohesive means of access to all of the functionality of the FPS without having to get dirty dealing with SOAP requests.

I hope you enjoy using it as much as I've enjoyed writing it. I'm interested to hear what sort of uses you find for it. If you find any bugs, let me know (or better yet, submit a patch).

Sandbox

Amazon provides a testing environment for the FPS called a sandbox. You may (and should) use the sandbox while testing your application. It can be enabled by passing a value of true to the last argument of the API constructor.

Getting Started

The following example shows how to load up the API, initialize the service, and make a simple call to get the tokens stored on the account:

gem 'remit'
require 'remit'

ACCESS_KEY = '<your AWS access key>'
SECRET_KEY = '<your AWS secret key>'

# connect using the API's sandbox mode
remit = Remit::API.new(ACCESS_KEY, SECRET_KEY, true)

response = remit.get_tokens
puts response.tokens.first.token_id

Using with Rails

To use Remit in a Rails application, you must first specify a dependency on the Remit gem in your config/environment.rb file:

config.gem 'remit', :version => '~> 0.0.1'

Then you should create an initializer to configure your Amazon keys. Create the file config/initializers/remit.rb with the following contents:

config_file = File.join(Rails.root, 'config', 'amazon_fps.yml')
config = YAML.load_file(config_file)[RAILS_ENV].symbolize_keys

FPS_ACCESS_KEY = config[:access_key]
FPS_SECRET_KEY = config[:secret_key]

Then create the YAML file config/amazon_fps.yml:

development: &sandbox
  access_key: <your sandbox access key>
  secret_key: <your sandbox secret key>

test:
  <<: *sandbox

production:
  access_key: <your access key>
  secret_key: <your secret key>

To instantiate and use the Remit API in your application, you could define a method in your ApplicationController like this:

def remit
  @remit ||= begin
    sandbox = !Rails.env.production?
    Remit::API.new(FPS_ACCESS_KEY, FPS_SECRET_KEY, sandbox)
  end
end

Sites Using Remit

The following production sites are currently using Remit:

  • http://www.storenvy.com/
  • http://www.obsidianportal.com/

Copyright (c) 2007-2009 Tyler Hunt, released under the MIT license