/aws_fps

Rails Plugin for interfacing with Amazon's Flexible Payment Service (FPS)

Primary LanguageRubyOtherNOASSERTION

aws_fps
=======

WELCOME -----------------------------------------------------------------------

This adapted plugin was written by C. Scott Andreas of Phoreo, LLC. 
Contact: scott@phoreo.com | http://www.sunago.org | http://github.com/cscotta

This code is based on sample code provided by Amazon Technologies, Inc written
by "Philip@AWS" on 10/26/2007.  See here for the original example:
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1021


WARNING -----------------------------------------------------------------------

This plugin is not yet recommended for production use.  You're looking at a
very early release that should be considered either a sample implementation,
or a 'starter kit' for building a robust implementation of Amazon's FPS payment
service.

As such, you are STRONGLY encouraged to review the code within this plugin
before using it in any manner whatsoever.  If you find a bug, please report it
to the author, or better yet, write and submit a patch for the good of the
community.


DESCRIPTION -------------------------------------------------------------------

Provides methods for interfacing with Amazon's Flexible Payments Service (FPS).

Executing a successful Amazon FPS payment requres three tokens:
	- Caller token (your web application)
	- Sender token (person sending the payment)
	- Receiver token (person receiving the payment - you, or a third party)

This plugin allows you to generate caller and sender tokens via the FPS API
in addition to preparing a request for a receiver token using Amazon's
FPS Pipeline (a.k.a., CBUI/Co-Branded User Interface).  The plugin also
provides a method for executing a payment via the Query module.

Implementation of this plug-in is controller-heavy.  As such, a sample
controller with accompanying views is provided in the example/ folder.  To
see these examples in action, copy the contents of this folder to your
RAILS_ROOT/app folder, being careful not to overwrite your existing controllers
and views.  Once you're ready, browse to: http://localhost:3000/payment/


IMPLEMENTATION ----------------------------------------------------------------

1) Set up config/amazon_fps.yml.

After installing this plugin, you must first place a file called amazon_fps.yml
in your applications config directory (located at RAILS_ROOT/config).  See the
sample file located in examples/amazon_fps.yml.


2) Implement a payment controller.

Next, set up a controller to handle checkout and payment processing.  For an
example, see example/controllers/payment_controller.rb.  This example shows
how to generate tokens that can be used to process a recurring monthly
subscription.  Note that while a recurring subscription authorizes recurring
monthly transactions, you must process subsequent transactions yourself.
See here for more information:  http://is.gd/h6ae


3) Implement the appropriate views.

Along with your controller actions come views.  This is up to you as well, but
is not difficult.  See the example views provided in example/views/ for more
information.


LICENSE INFO ------------------------------------------------------------------

This code is based on sample code provided by Amazon Technologies, Inc written
by "Philip@AWS" on 10/26/2007.  See here for the original example:
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1021

This adapted plugin was written by C. Scott Andreas of Phoreo, LLC. 
Contact: scott@phoreo.com | http://www.sunago.org | http://github.com/cscotta

This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
OF ANY KIND, either express or implied.  Use of this plugin is entirely at your
own risk and discretion.  Neither Amazon nor Phoreo, LLC assume any
responsibility for misuse, fraud, financial or material loss, or loss/damages
of any other kind.  See the License for the specific language governing
permissions and limitations under the License.

See the LICENSE file for more information.