Amazon Flexible Payments Service
Basic Quick Start (API Version 2010-08-28)
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Did this page help you?  Yes | No |  Tell us about it...

Order Fulfillment

Fulfilling the order is the process of sending the purchased items to the sender. In the case of physical goods, it's when the items are shipped. In the case of digital items, it's when the sender downloads the product.

Some business policies charge the sender as soon as they commit to making the purchase. If this is your policy, you use a Pay request to authorize the payment. In this case, no further interaction with Amazon FPS is required. This section does not pertain to those businesses implementing an immediate payment policy.

Other business policies charge the sender's payment instrument when the order is fulfilled. If this is your policy, use a Reserve request to authorize the payment and then, later, a Settle request after fulfilling the order. The following sections help you develop that process.

Fulfillment Workflow

Amazon FPS expects you to maintain a record of pending and fulfilled orders. Each of these orders should be associated with a TransactionId and a CallerReference. You can use these values in the fulfillment workflow.

Fulfillment Process

1You use GetTransactionStatus or IPNs to get the updated status of a Reserve transaction.
2You fulfill the order by dispensing the product to the sender.
3You advise Amazon FPS that you've fulfilled the order by sending a Settle request that contains the TransactionId returned by the original Reserve request.
4Amazon FPS charges the sender's payment instrument for the purchase, subtracts the Amazon FPS transaction fee, and sends you your payment.
5Amazon FPS notifies the sender and you regarding the status of the transaction.

Completing the Transaction

When you deliver the product to the sender, you must send a Settle request to Amazon FPS so that the sender's payment instrument is charged and you can get paid.

To settle a transaction

  1. Retrieve the TransactionIds of the orders that you fulfill from your database.

  2. Send a Settle request for each TransactionId.

    For more information about the parameters, see Settle.

The following example request settles one transaction.

https://fps.amazonaws.com/?
  Action=Settle&
  AWSAccessKeyId=<Your Access Key ID>&
  SignatureVersion=1&
  Timestamp=2007-08-06T13%3A00%3A01Z&
  TransactionId=254656Example83987&
  Version=2008-09-17&
  Signature=<URL-encoded signature value>

Amazon FPS returns the ID of the reserved transaction that you want to settle along with the amount of the charge to the sender's credit card.

An optional request parameter is TransactionAmount. If it is not in the request, the amount charged is the entire amount reserved.

Important

You can settle a reserved transaction only once. You cannot use Settle to complete the transaction incrementally. So, be careful about charging less than the full, reserved price.

You can settle for an amount that is less than or equal to the reserved amount.

Notification

Amazon FPS can notify senders and you of the transaction success or failure in two ways: by e-mail and by instant payment notification (IPN). For example, when a purchase succeeds, an e-mail is sent to the sender and an IPN is sent to you. For Amazon FPS to use IPN, it must be configured. For more information, see Setting Up Instant Payment Notification.

Amazon FPS sends e-mail to the sender that tells the sender that the transaction was fulfilled and the sender's payment instrument was charged, or tells the sender that the attempt to settle the transaction failed and the sender needs to fund the payment instrument. For more information, see Email Notification Templates.

Failed Settlements

In the case where the transaction fails, Amazon FPS takes the same actions described when a Pay transaction fails. For more information, see Failed Payment Transactions.