Billing agreement states and reason codes
The following diagram depicts the state transition of a Billing Agreement object:
The following table describes each state that a billing agreement can be in, the allowed operations on a state, and the reasons why a Billing Agreement object can end up in a state:
|State||Description||Allowed operations||Reason codes|
|Draft||A billing agreement is in the Draft state before being confirmed by calling the ConfirmBillingAgreement operation.||--|
A Billing Agreement object in the Draft state moves to the Open state after it is confirmed by calling the ConfirmBillingAgreement operation.
You must also confirm the Billing Agreement object when the buyer updates the address or payment method for the Billing Agreement object using the Amazon AddressBook or Wallet widgets.
Authorisations can only be requested on a billing agreement that is in the Open state.
A Billing Agreement object moves to the Suspended state when problems with the payment method are preventing Amazon from processing the authorisations. You cannot create new order references or request new authorisations when the billing agreement is in the Suspended state. But you still can capture existing authorisations and apply refunds to captures.
You should request another form of payment from the buyer if the Billing Agreement object moves to the Suspended state because of the InvalidPaymentMethod reason code.
|InvalidPaymentMethod-There were problems with the payment method.|
The billing agreement will be cancelled by Amazon if it is not confirmed using the ConfirmBillingAgreement operation within three hours of its creation, or it can be canceled by Amazon for another reason.
Any Open authorisations and order references are cancelled and no new payment operations are allowed in the future.
Stale-You did not confirm the billing agreement by calling the ConfirmBillingAgreement operation within the allowed period of 3 hours.
AmazonCanceled-Amazon has cancelled the billing agreement.
The billing agreement can be closed by calling the CloseBillingAgreement operation, or it can be closed by Amazon.
You cannot create new order references or request new authorisations when the billing agreement is in the Closed state. Captures on existing authorisations are still allowed.
Refunds on captures are also still allowed.
AmazonClosed-Amazon has closed the billing agreement because of a failed internal validation.
SellerClosed-You have explicitly closed the billing agreement by calling the CloseBillingAgreement operation. You can specify the reason for closure in the ClosureReason request parameter of the CloseBillingAgreement operation.
BuyerClosed-The buyer has closed the billing agreement from the Amazon Pay website.