Receiving transaction responses
When you send a transaction request from your merchant account to Amazon Payment Services you will get a response that describes the result of your transaction request.
It is critical that you handle the response we send correctly to ensure that your payment operations proceed smoothly. On this page we describe a few key points around transaction feedback.
Why does transaction feedback matter?
While a transaction is completed, we will send a response directly to your direct transaction feedback URL. In theory, direct response feedback cannot be interrupted unless the URL you provided for responses is not functional at the time of the response.
We do this so that your server receives a response even if your customer does not successfully redirect to the return URL on your website, which may happen if your customer's browser or connection fails during the transaction.
Receiving transaction feedback
There are two ways in which you receive transaction feedback:
-
Direct transaction feedback. Amazon Payment Services sends an immediate payment processing response whenever a transaction is completed.
You can rely on this response for transaction feedback even where your user closed the browser before getting redirected successfully to the redirection URL or where your user was not redirected due to a drop in the internet connection.
-
Notification feedback where we need to provide you with the status of a transaction once it is received. In other words, we send notification feedback to alert you to any changes in the status of a transaction.
For example, if the transaction was pending due to the unavailability of any party to the transaction, the final update will be pushed to your notification feedback endpoint.
Notification feedback deals with a wide range of scenarios and it is critical that your website is configured to receive notification feedback correctly. For example, transaction feedback can alert you to any transactions that were stuck in "uncertain" status, but which have recovered to final status.
Direct feedback allows you to subscribe to transaction updates for uncertain transactions whenever you process a payment. It is a method for receiving the transaction response automatically once the transaction had completed or if there was an update.
We will send the response via HTTP POST request in POST form format to your webhook URL. The submission type can be changed from POST form to JSON or XML in your APS account settings. We only permit configuring URLs in HTTPS for direct feedback and for notification feedback.
To acknowledge receiving the direct feedback and notification successfully, the webhook URL must return a 2xx or 302 HTTP status. In case the URL returns different HTTP responses, our server will keep retrying up to 10 times until we receive a success response. We wait ten seconds between retries.
You can change and configure the retry mechanism attributes to increase or decrease the number of retries, time between retries and the grace period before we send the notifications.
You must create endpoints that accept direct transaction feedback and notification feedback from us via a webhook. You can customize how transaction feedback works -- for example, by including the grace period before a direct feedback notification is sent, and the time elapsed between retrying feedback submission.
Check status
In case you fail to receive the transaction feedback you can always use the check status function to retrieve the transaction status.
With check status you can verify whether a transaction was completed successfully, what the authorized amount on a transaction is, and verify the response generated when the transaction was processed.
Read more about checking transaction status here.
Checking the SHA signature
You must always ensure that you check the SHA signature phrase returned alongside the response parameters each and every time that you evaluate a response you receive from Amazon Payment Services.
By verifying that the SHA phrase matches you can ensure that the response you receive is a genuine response sent from Amazon Payment Services. It reduces the risk that a cybercriminal intercepts or manipulates responses to interfere with payments or your ecommerce operations.
Get in touch
If you get stuck or have any questions about handling transaction feedback please feel free to get in touch with the Amazon Payment Services team. Just message our support team at merchantsupport-ps@amazon.com.