---
title: One-time payment scenarios
url: amazon-pay-checkout/one-time-payment-scenarios.html
---

You can authorize and capture payment at time of checkout or after checkout is complete. Below are details for different one-time payment scenarios.

* TOC
{:toc}
{::options toc_levels="3" /}

***

### Capturing full order amount at checkout

Capture the full order amount at checkout by setting Checkout Session `paymentDetails.chargeAmount` to the full order amount and `paymentDetails.paymentIntent` to AuthorizeWithCapture.

Do not capture payment at checkout for pre-orders, backordered items, or if the expected delivery date is in the future; you should only request <a href="#authorizing-full-order-amount-at-checkout">payment authorization at checkout</a> or <a href="#authorization-and-capture-after-checkout">authorize and capture payment after checkout once you’re ready to fulfill the order. 

### Authorizing full order amount at checkout

Authorize the full order amount at checkout by setting Checkout Session `paymentDetails.chargeAmount` to the full order amount and `paymentDetails.paymentIntent` to Authorize.

Call <a href="../amazon-pay-api-v2/charge.md#capture-charge" target="_blank" rel="noopener noreferrer">Capture Charge</a> with the `chargeId` returned at the end of checkout to capture payment. If you do not capture the full order amount or if the Charge expired after 30 days, you can call <a href="../amazon-pay-api-v2/charge.md#create-charge" target="_blank" rel="noopener noreferrer">Create Charge</a> up to 25 times using `chargePermissionId` as long as the total amount captured does not exceed the Charge Permission `amountLimit`. Note that the Charge Permission will expire after 180 days.

### Partial authorization or capture at checkout

Authorize or capture for partial order amount at checkout by setting Checkout Session `paymentDetails.chargeAmount` to the amount you want to process during checkout and `paymentDetails.totalOrderAmount` to the full order amount. Specify whether you want to authorize or capture the `chargeAmount` when the order is placed by setting `paymentDetails.paymentIntent` to Authorize or AuthorizeWithCapture. 

If you use the Authorize `paymentIntent`, call <a href="../amazon-pay-api-v2/charge.md#capture-charge" target="_blank" rel="noopener noreferrer">Capture Charge</a> with the `chargeId` returned at the end of checkout to capture payment; you can also call <a href="../amazon-pay-api-v2/charge.md#create-charge" target="_blank" rel="noopener noreferrer">Create Charge</a> up to 25 times using `chargePermissionId` as long as the total amount captured does not exceed the Charge Permission `amountLimit`.

### Authorization and capture after checkout

Authorize and capture payment after checkout by setting Checkout Session `paymentDetails.chargeAmount` to the full order amount and `paymentDetails.paymentIntent` to Confirm.

Call <a href="../amazon-pay-api-v2/charge.md#create-charge" target="_blank" rel="noopener noreferrer">Create Charge</a> up to 25 times with the `chargePermissionId` returned at the end of checkout to authorize and capture payment. Note that the Charge Permission will expire after 180 days.
















