Reserving a Payment

Your business policy might dictate that you don't charge a sender's payment instrument until the order is fulfilled. So, after the sender authorizes the payment, you use the Reserve action to reserve the funds against the sender's credit card. Later when you fulfill the order, you use the Settle action to actually make the money move from the sender to you.

Process for Transacting a Payment Using Reserve

1

Obtain the list of items the sender is purchasing from your web site and derive the values required for the parameters in the Co-Branded service request.

One of the parameters is TransactionAmount. The value for this is the total charge to the sender, including tax, shipping and any other fees.

Another parameter is CallerReference. You generate this identifier and associate it with the payment instrument created. You can index the transactions on your database based on its value. This way, you can match the identifier on your database (CallerReference) to the identifier on the Amazon FPS database, TransactionId.

For more information about the Co-Branded service parameters, see Single-Use Token API.

2

Implement on your web site the equivalent of a Pay Now button so that it sends the Co-Branded service request.

When the sender authorizes the payment in the CBUI, the service then redirects the sender to the URL you specified in the returnURL parameter in the Co-Branded service request. This URL is typically a Thank you page and one that invites the sender to keep shopping.

3

Parse the returned URI.

In addition to the URL specified by returnURL, the URI contains parameters added by the Co-Branded service. Those parameters include all of the parameters in the Co-Branded service request, which are helpful for debugging purposes; a tokenId, which you must subsequently submit with the Reserve request; and a status, which tells you whether or not the sender successfully authorized the payment.

4

If the status value is a success value, programmatically submit a Reserve request. For information about the action, see Reserve .

The required parameters include SenderTokenId, which maps to the tokenId you received in the Co-Branded service response; TransactionAmount, which you entered in the Co-Branded service request; and the CallerReference.

[Tip]Tip

Both the Co-Branded service API and the Amazon FPS API use a parameter called CallerReference. It's easier if you use the same value for both parameters. We recommend that you make the CallerReference the same as the order ID on your web site.

5

Parse the response.

Two important values the Reserve request returns are TransactionStatus, which tells whether the charge was successful against the sender's payment instrument; and TransactionId, which is the identifier Amazon Payments uses to identify this transaction. You should maintain the TransactionId in your database and associate it with your CallerReference value for the transaction.

6

Upon a successful transaction, add a task to your workflow to fulfill the order. For information about the process of fulfillment, and using the Settle action, see Order Fulfillment and Settle.


[Important]Important

Reserve can be used only with credit cards, and the reserve expires after seven days.