Home » Uncategorized

Amazon FPS

3 August 2007 One Comment

I came across this one from amazon. Looks like this is beneficial (to both amazon and the customers). However I will try to find out more about it before supporting it..


Amazon Flexible Payments Service (Amazon FPS) – Limited Beta

Amazon Flexible Payments Service (Amazon FPS) is the first payments service designed from the ground up specifically for developers. The set of web services APIs allows the movement of money between any two entities, humans or computers. It is built on top of Amazon’s reliable and scalable payment infrastructure.

Amazon FPS offers developers unmatched flexibility in how they can structure payment instructions, including standing instructions that can remain in place for multiple transactions. These instructions impose conditions and constraints on money movements and can be set by both senders and receivers of funds. For example, a sender might set a spending limit per week for a particular named recipient. Only that named recipient would be able to withdraw funds and only up to an amount per week equal to the spending limit. A piece of FPS functionality called the GateKeeper automatically enforces the constraints you set with payment instructions. When the sender or receiver is a computer system, payment instructions are set programmatically using APIs. FPS also provides a simple set of user interfaces that humans can use. From the users’ point of view, they simply see terms of service and a request to accept those terms.

Developers are free to set up an unlimited number of payment instructions. This makes it possible, for example, to have a different set of payment instructions for each counterparty with which you do business.

Developers can create payment instructions that are as simple or complex as they desire. For example, creating a relatively complex business model around micro-payments is easy to do with Amazon FPS. Our aggregation feature lets you track and aggregate micro-payments into a single payment transaction, saving on transaction processing costs and avoiding having to build complex ledger functionality into your own applications. Without this capability micro-payments would be difficult or cost-prohibitive.

Additionally, Amazon FPS exposes a different fee structure for each of the underlying payment methods enabled: credit cards, bank account debits, and Amazon Payments balance transfers. Amazon’s cost to process a payment through a bank account debit is less than our cost via credit card. Our cost for processing an Amazon Payments balance transfer is less still. By exposing different fees for each of these three methods, we can pass on savings from bank account debits and balance transfers, allowing developers to save money. In each case, we take on the complexity of managing security and fraud protection.

Importantly, Amazon FPS also provides developers with the easiest way to charge Amazon’s tens of millions of customers (with their permission, of course!). Amazon customers can pay using the same login credentials and payment information they already have on file with us. This helps Amazon customers keep their payment information secure and removes the friction you would face if you needed to get customers to enter their payment information before they could make a purchase.

Amazon FPS Functionality
You can use the extensive feature set of Amazon FPS to conduct a wide variety of transactions under virtually any set of constraints. Key features include:

* Send and receive money using credit card, bank account or Amazon Payments balance transfer as payment methods.
* Create “Payment Instructions” to define conditions and constraints desired for a given transaction, and programmatically obtain payment authorizations or “tokens” that represent these Payment Instructions from customers.
* Execute one-time, multiple, or recurring payments on behalf of customers.
* Aggregate micro-transactions into a single larger transaction using Prepaid and Postpaid capabilities.
* Build payment applications where you are neither the sender nor the recipient of funds. Rather, you can build marketplace applications that enable the movement of money between two third parties.
* View account balances, transaction histories, and transaction details on the Amazon Payments web site.
* Utilize the Amazon FPS sandbox to build and test applications without using real money or incurring any transaction charges.

Service Highlights

Flexible: Amazon FPS provides developers with a new level of flexibility in how they can execute payments.

Every FPS transaction has a sender (party making payments), a recipient (party receiving payments), and a caller (party making the API calls to Amazon FPS). Callers are the same as recipients if the developer is the party receiving funds, but developers can also act as third-party callers enabling a transaction between a sender and a recipient (and taking a cut of transactions if desired).

Each party to a transaction might want the flexibility to place conditions or rules around that transaction (such as “allow only five transactions or $50 per month,” or “refuse payment after August 1”). Typically, developers have not had an easy mechanism for allowing senders and recipients to express these preferences. Amazon FPS uses a feature called Payment Instructions to make it easy to set whatever constraints each party desires. Developers can use the Gatekeeper language to programmatically describe whatever instructions are needed – virtually without limitation.

Developers can simplify the complexity of setting Payment Instructions for senders and recipients via a set of user interface pipelines provided by Amazon FPS. Callers send users to these user interfaces where they view a proposed set of Payment Instructions, presented simply as terms of service. By agreeing to those terms, senders are authorizing the Payment Instructions to be installed for use in a transaction.

Examples of possible Payment Instructions include:

* Transaction Amount: Specify fixed minimum, maximum, range, or specific amount for a certain payment.
* Transaction Date: Configure a payment transaction to be executed at a specific time (e.g. specific day, weekly, monthly, or date range).
* Spending Limit: Set daily, weekly or monthly limits on number of transactions or total amount spent, to control spending on your application.
* Recipient List: Specify recipients who are authorized to access and receive funds.
* Payment Method: Specify the payment methods (credit card, bank account debit, balance transfer) you want to accept through your application.
* Fees: Control which party pays the Amazon FPS charges.

With the multitude of possible Payment Instructions, Amazon FPS must have a way to ensure that the various parties’ instructions agree. This is the job of the GateKeeper, which checks if the Payment Instructions are compatible, and then makes the binary decision on whether a transaction can proceed or not.

Amazon FPS takes a traditionally limited and inflexible payments process, and instead lets developers expose individual payment conditions that enable them to charge in new ways and customers to pay in new ways. This ultimately enables a better end user experience as well as innovative new business models.

Micro-Payments Support: With Amazon FPS you can track and aggregate micro-payments (e.g. payments less than $0.50 or even $0.01) into a single payment transaction and can charge the customer before (prepaid) or after (postpaid) the service is provided. This features lets you minimize transaction processing costs and avoid having to build complex ledger functionality into your applications.

Inexpensive: Amazon FPS passes on to you the benefits of lower processing costs on bank account debits and Amazon Payments balance transfers. FPS charges less when the actual cost to process a payment is lower, rather than charging the same fixed fee for all payment methods. There is no up-front investment or monthly payment for running an application using the service. In addition, you can build and test an application for free using the Amazon FPS sandbox.

Easiest Way to Charge Amazon Customers: Amazon FPS enables tens of millions of existing Amazon customers to transact on your application with no friction, simply using the same accounts and payment instruments that they use for purchases on Amazon.com – without having to re-enter information.

Reliable and Secure Payments Platform: Amazon has spent over a decade developing, testing, and operating a reliable, scalable and secure payments infrastructure to support millions of daily transactions. Amazon FPS provides you and your customers the same trusted payment experience available on Amazon today, leveraging Amazon’s proven fraud detection capabilities, chargeback controls, and risk management techniques.

Enables Marketplace Applications: Amazon FPS allows you to build new payment solutions and applications where you are neither the sender nor the recipient of funds. For example, you could build a “New Artist MP3 Discovery” web site where music fans can purchase music and pay the artists directly. You, as the developer of the web site, can take a portion of each transaction.


There are no minimum fees and no start-up charges to use Amazon FPS. In addition, use of the Amazon FPS Sandbox is free of charge.

Fees are assessed on a per-transaction basis and vary depending on the payment method used and the transaction amount:
For Transactions >= $10:

* 1.5% + $0.01 for Amazon Payments balance transfers
* 2.0% + $0.05 for bank account debits
* 2.9% + $0.30 for credit card

For Transactions < $10: * 1.5% + $0.01 for Amazon Payments balance transfers
* 2.0% + $0.05 for bank account debits
* 5.0% + $0.05 for credit card

For Amazon Payments balance transfers < $0.05: * 20% of the transaction amount, with a minimum fee of $0.0025 Qualified developers can apply for the following monthly volume discounts for credit card transactions: * 2.5% + $0.30 per transaction for payment volume from $3K- $10K
* 2.2% + $0.30 per transaction for payment volume from $10K – $100K
* 1.9% + $0.30 per transaction for payment volume over $100K

Learn how you can qualify for volume discounts.

Note: This fee schedule is for payments by US customers only. You can allow non-US customers to pay using credit cards (not Amazon Payments balance transfers or bank account at this time) for an additional charge of 1% of the transaction amount.


* Resource Center
Browse the resource center for code samples, documentation, release notes, and more information to help you build innovative applications. Subscribe to RSS feeds or set up e-mail watches to be alerted of the latest developments for this service.
* Developer Forums
* Amazon FPS Sandbox
* Amazon Payments Account Management web site
* FAQs

Detailed Description

Payment Instructions: What They Are and How to Create Them
Payment Instructions specify the conditions, constraints and preferences of the sender, recipient, or caller for any given transaction(s). Amazon FPS provides a Gatekeeper (GK) language that allows the parties to create Payment Instructions and control such items as:

* Transaction amounts: Set a transaction minimum, maximum, range, specific amount, or some combination of these.
* Transaction Date: Configure a payment transaction to be executed at a specific time (e.g. specific day, weekly, monthly, or date range).
* Spending and usage limits: Control the maximum number, maximum amount and frequency for an authorized Payment Instruction (e.g., cannot charge more than 5 times per day with a maximum of 20 charges, cannot charge more than $5 per week with a maximum of $50 in total charges, or charge $10 every month).
* Recipient list: Allow or exclude a specific set of recipients in a given transaction.
* Payment methods accepted: Credit cards, bank accounts or Amazon Payments balance, in any combination.
* Fee preference: Specify which party pays the Amazon FPS transaction fees.

These are only a few of the many rules you can apply to transactions using the GK language to create Payment Instructions. A Payment Instruction can be extremely simple with no constraints at all or far more complex. The following GK text illustrates how a developer, acting as a sender, can set up Payment Instructions to enable the recipient to charge the sender in $5 increments, up to a maximum of $100.00 via Amazon Payments balance transfer, until this authorization expires on October 28, 2008.

MyRole == ‘Sender’;
string PaymentMethod := ‘abt’;
string MyTokenUsageLimit1Type := ‘Amount’;
money MyTokenUsageLimit1 := ‘USD 100’;
TransactionTimestamp <= '2008-10-28';
TransactionAmount <= 'USD 5'; Installing Payment Instructions and Creating Tokens
Once each party has formulated its desired Payment Instructions via the GK language, these instructions need to be installed for use through Amazon FPS. Developers use the InstallPaymentInstruction API to install Payment Instructions, and FPS passes back a “token.” A token is a unique, secure handle to the Payment Instruction. A successful payment transaction requires three compatible tokens, one each for the sender, the recipient and the caller.

In most cases, developers will want to reduce the complexity for senders (and recipients) in creating, authorizing and submitting tokens. Amazon FPS makes this easy for callers by providing a set of co-branded user interface pipelines. Callers can send users to these user interface pipelines to show them a proposed set of Payment Instructions (presented simply as terms of service). By agreeing to those terms in the user interface, senders or recipients are authorizing these Payment Instructions and allowing the caller to install them on their behalf and receive the corresponding token back. The caller can save this token to execute payments on behalf of senders or recipients as per the Payment Instructions associated with the token.

Payment Instructions can specify one of the following types of tokens:

* Single-use token – Used only for a single payment transaction.
* Multi-use token – Used for multiple transactions; usage is restricted by conditions specified in the associated Payment Instructions.
* Recurring token – Used to allow a caller to charge a sender a pre-determined amount at regular intervals. Recurring tokens are essentially multi-use tokens that have a pre-determined payment frequency and transaction amount specified in the Payment Instructions.

Using Tokens for Payments
Callers can use the Pay API with the sender, recipient and caller tokens to execute payment transactions. The GateKeeper checks if the Payment Instructions on the various tokens are compatible, and then makes the binary decision on whether the transaction can proceed or not. Callers can also use the Reserve API to reserve funds on a sender’s credit card before the goods or services are fulfilled. Callers can then use the Settle API to charge the sender’s credit card when the goods or services are delivered. In cases where the payment operation could take longer for completion (for example, transactions involving bank accounts), Amazon FPS provides GetResults and DiscardResults APIs to obtain asynchronous responses. Amazon FPS also provides a notification service that delivers asynchronous transaction responses to developers through web service notification. Developers can subscribe to it using the SubscribeForCallerNotification operation. Amazon FPS also provides additional transactional APIs to request refunds, look up transaction histories, and to execute a variety of other payment-related operations using tokens.

Aggregating Transactions
Amazon FPS allows developers to use Prepaid and Postpaid aggregation capabilities to bundle transactions of small amounts over a period of time, a number of occurrences, or to a specific limit before executing the larger transaction. Aggregating multiple transactions into a single, larger transaction minimizes transaction processing fees and avoids the need to build complex ledger functionality into an application.

* Prepaid – Callers can direct senders to the appropriate Amazon FPS co-branded user interface to purchase a prepaid balance and obtain a multi-use token for the prepaid balance. This multi-use token can be used to track the senders usage of the prepaid balance. Amazon FPS provides GetPrepaidBalance API to obtain the outstanding prepaid balance at any time.
* Postpaid – Callers can direct senders to the appropriate Amazon FPS co-branded user interface to enter into a postpaid agreement that lets senders accumulate a balance as they consume services on caller’s application. Senders provide a multi-use token and authorize the callers to charge when the accumulated balance reaches a certain dollar amount or on a preset date. Callers can use the GetDebtBalance API to obtain the outstanding postpaid balance (or the balance accumulated and owed to them by the sender) at any time and use the SettleDebtBalance API to charge senders for this usage at the appropriate time.

Managing Your Account
You can use the GetAccountActivity and GetTransaction APIs to obtain details on all or specific transactions executed on your application. Additionally, the Amazon Payments Account Management web site provides self-service account management features for you and your customers including registering for Amazon Payments, depositing funds, viewing account balance, viewing account activity and transaction details, withdrawing funds and filing disputes if there is a problem with a transaction.

Using the Amazon FPS Sandbox
Amazon FPS provides a fully functional sandbox environment to build and test applications or services without transacting real money or incurring any transaction charges. You can use your Amazon Web Services account to access the sandbox.

The sandbox provides you with a web service API end-point to test API invocations. You can use pre-created test tokens (provided as part of our Technical Documentation) to simulate important payment errors, or use the sandbox’s co-branded User Interfaces to create tokens for your sandbox application. You can also access the sandbox web site to create test accounts for your sandbox application and manage them.

We strongly encourage developers to test their applications or services using the sandbox before releasing them to their customers. The sandbox is designed to enable faster development cycles, easier debugging, and lower operational overhead.

Getting Started
The best way to understand Amazon FPS is to read the Amazon FPS Getting Started Guide, part of our Technical Documentation and start playing in the Amazon FPS Sandbox. The Resource Center contains multiple code samples and sample applications to help you get started quickly!

Intended Usage and Restrictions

* Your use of this service is subject to the Amazon Web Services Customer Agreement.
* If you choose to sign up for this service, you will be asked to create an Amazon Payments account and agree to the Amazon Payments User Agreement.
* Your use of Amazon Payments is subject to the Amazon Payments Acceptable Use Policy and Privacy Notice.



One Comment »

  • reviewazon said:

    Thank you so much for this post. I use the reviewazon plugin. Reviewazon is the easy and simple way to add amazon affiliate product to your website.