Authorization States and Reason Codes

The following diagram depicts the state transition of an Authorization object:

Note: The Pending state in the diagram below is not present if you call the Authorize operation with a TransactionTimeout value equal to zero. You only receive an Open or Declined status in the initial response.

Figure 1: Authorization state transitions

The following table describes each Authorization object state in detail, the allowed operations on a state, and the reasons why an authorization can end up in a state. For more information on how to handle declined authorizations, see Step 7: Prepare to handle declined authorizations in the Amazon Pay and Login with Amazon integration guide.

State: Pending
Description Allowed operations Reason codes
In asynchronous mode, all Authorization objects are initially in the Pending state after you submit the Authorize request. In synchronous mode, an Authorization object cannot be in the Pending state. --
State: Open
Description Allowed operations Reason codes
The Authorization object immediately moves to the Open state when the authorisation is successful. --
State: Declined

Description

Allowed operations

Reason codes

The authorization has been declined by Amazon.

InvalidPaymentMethod—There were problems with the payment method. Use the element SoftDecline to differentiate between a soft decline and a hard decline. If it is a soft decline, you can submit an additional authorisation attempt. If it is a hard decline, you should contact your buyer and have them update their payment method.

AmazonRejected—Amazon has rejected the authorisation. The order reference will be automatically Closed.

ProcessingFailure—Amazon could not process the transaction because of an internal processing error. You should retry the authorisation only if the order reference is in the Open state.

TransactionTimedOut—In asynchronous mode, indicates that the Authorize operation call was not processed within the default timeout period of 24 hours or within the time period specified by you in the TransactionTimeout request parameter. In synchronous mode, indicates that Amazon could not process your request within 8 seconds. If you are observing a high number of declines because of this reason code, try adjusting the timeout value in asynchronous mode, or consider using asynchronous mode if you are using synchronous mode. An alternate approach for handling this error in synchronous mode is to retry the transaction in asynchronous mode.

State: Closed

Description

Allowed operations

Reason codes

The authorisation can be closed by calling the CloseAuthorization operation or by calling the CancelOrderReference operation, or it can be closed by Amazon.

You cannot request captures against an authorisation that is in the Closed state.

In the event of a partial capture, the remaining amount is credited back to the order reference.

ExpiredUnused—The authorisation has been in the Open state for 30 days (two days for Sandbox) and you did not submit any captures against it.

MaxCapturesProcessed—You have already captured the full amount of the authorisation. Amazon allows only one capture per authorization.

AmazonClosed—Amazon has closed the authorisation object because of problems with your account.

OrderReferenceCanceled—The order reference was canceled causing all open authorisations to be cancelled. You can call the GetOrderReferenceDetails operation and check the ReasonCode response element for the cancelation reason.

SellerClosed—You have explicitly closed the authorisation using the CloseAuthorization operation. You can specify the reason for the closure in the ClosureReason request parameter.

InvalidPaymentMethod—You have cancelled a suspended OrderReference, which had declined authorisation, by using the CancelOrderReference operation. To obtain details about the declined authorisation, you can now use the GetAuthorizationDetails operation .


Copyright © 2009-2018 Amazon.com, Inc. or its affiliates. Amazon and Amazon.com are registered trademarks of Amazon.com, Inc. or its affiliates. All other trademarks are the property of their respective owners.