Using Prepaid Payment Tokens

Topics

A prepaid payment token is a container for a prepaid payment instrument. A prepaid payment instrument is like a gift card. A sender authorizes the creation of a prepaid instrument, funds it and then can use it to pay for items purchased on your web site. Upon the funding of the instrument, you (the recipient and caller) receive the money from the sender's payment instrument to create the sender's prepaid balance. When the sender makes a purchase using the prepaid instrument, you issue a Pay request, which in the accounting, reduces the prepaid balance by the cost of the items purchased. You already have the sender's money so no more money is exchanged. However, by using a Pay request, the accounting is kept balanced and you can use actions like GetPrepaidBalance to provide up-to-date accounting of balances.

There is a fee for the money transfer. If the sender, for example, purchases a $10 prepaid payment instrument from your web site, Amazon FPS deducts from the $10 its transaction fee and deposits in your Amazon Payments account the difference, for example, $9.70. The prepaid balance for the sender, however, is $10.

To charge senders for purchases they make, you use the prepaid payment token (sender token) which has a reference to the prepaid instrument, in a Pay request. For more information, see Making Payments. Aggregated Payments Quick Start does not support refunding or reversing the prepaid balance to a sender's Amazon Payments account or credit card. Aggregated Payments Quick Start only supports reversing a prepaid transaction.

By setting the parameters in the Co-Branded service request that creates the prepaid payment instrument, you can constrain its use to a set period of time, until the funds are depleted, or both. For more information about setting prepaid instrument restrictions, see Prepaid Token API.

Prepaid payment instruments serve a wide variety of purposes. For example, a music download company might sell prepaid payment instruments as gift certificates. A buyer can purchase a gift certificate for a specified amount of money, give the certificate to someone as a present, and that person can purchase up to the spending limit of the card in the music store. The following is a sample use case for a fictional business, DigitalDownload.

DigitalDownload is a licensed online retailer selling MP3 files for $0.50 each. John is a DigitalDownload customer who purchases a prepaid balance of $10 from DigitalDownload using his Amazon Payments account balance. Each time John purchases an MP3 file, DigitalDownload makes a Pay request and charges John's prepaid balance. After the purchase DigitalDownload displays John's prepaid balance in his account on the DigitalDownload web site. Amazon FPS rejects any prepaid Pay request from DigitalDownload after the prepaid balance is exhausted.

Funding a Prepaid Instrument

You create a prepaid instrument using the Prepaid Token API. Upon creation, it has a zero prepaid balance, and the funding token that contains the balance amount is returned along with the prepaid instrument. To use the instrument, you must fund it, that is, add money to the balance that gets used in Pay transactions. You use the FundPrepaid action to fund the instrument. Funding the instrument moves money from the sender's payment instrument to the recipient's Amazon Payments account.

Aggregated Payments Quick Start does not support recharging prepaid payment instruments. So, for example, you cannot use FundPrepaid on the same prepaid instrument twice.

To fund a prepaid instrument

  • Use FundPrepaid in a request similar to the following. The value to use for the SenderTokenId is the fundingTokenID you received from the Prepaid Token API response (and not the value of the prepaidSenderTokenID). For information about the Prepaid Token API, see Prepaid Token API.

    https://fps.amazonaws.com/?
      Action=FundPrepaid&
      AWSAccessKeyId=0656Example83G2&
      SignatureVersion=1&
      Timestamp=2008-08-06T13%3A00%3A01Z&
      PrepaidInstrumentId=254656Example83987&
      SenderTokenId=we098sfqer8Example09823&
      CallerReference=293847SKDJRH29387&
      FundingAmount.Value=10.00&
      FundingAmount.CurrencyCode=USD&
      Version=2008-09-17&
      Signature=<URL-encoded signature value>

This request transfers $10 from the sender to the recipient and creates a balance of $10 on the prepaid payment instrument identified by SenderTokenId. The CallerReference number is a value you provide that uniquely identifies the transaction. For more information, see Important Values to Store in Your Database.

For more information about the parameters, see FundPrepaid.

Once this request completes successfully, the sender can start using the prepaid payment token on your web site. A sender can use the prepaid instrument to buy goods or services until the prepaid balance is exhausted or until the instrument expires. Each time a sender initiates a purchase, you must make a Pay request to Amazon FPS using the prepaid payment token. For more information, see Making Payments. Amazon keeps track of the balance in the prepaid token so that you can use other operations, such as GetPrepaidBalance, to provide account information programmatically.

The response also includes a transaction ID. You can use GetTransactionStatus with the transaction ID to get more details about the transaction. For more information, see GetTransactionStatus.

A Pay request uses the PrepaidInstrumentId as the payment method instead of a credit card, a bank account, or the Amazon Payments account balance. For more information, see Making Payments.

Viewing the Prepaid Balance

A sender cannot view a prepaid balance on payments.amazon.com. You can, however, display a sender's prepaid balance on your web site using GetPrepaidBalance (for more information, see GetPrepaidBalance).

To view a prepaid balance

  • Issue a request similar to the following.

    https://fps.amazonaws.com/?
      Action=GetPrepaidBalance&
      AWSAccessKeyId=0656Example83G2&
      SignatureVersion=1&
      Timestamp=2008-08-06T13%3A00%3A01Z&
      PrepaidInstrumentId=254656Example83987&
      Version=2008-09-17&
      Signature=[URL-encoded signature value]

PrepaidInstrumentId identifies the prepaid instrument that holds the prepaid balance. The response contains the prepaid balance.