---
title: Charge
url: amazon-pay-paymentmethodonfile/charge.html
---

A Charge represents a single payment transaction. Use a Charge to either authorize an amount and capture it later, or authorize and capture payment immediately.

Depending on the integration pattern, you can either create a Charge using a valid Charge Permission, or create it as a result of a successful Checkout Session. A successful Charge will move from Authorized to CaptureInitiated to Completed state. The Authorized state may be preceded by a Pending state if you set `canHandlePendingAuthorization` to true, or payment was captured more than 7 days after authorization. See <a href="../amazon-pay-checkout/asynchronous-processing.md" target="_blank" rel="noopener noreferrer">asynchronous processing</a> for more information. An unsuccessful Charge will move to a Declined state if payment was declined, and move to a Canceled state if the Charge is explicitly canceled, or the Charge expires after 30 days in the Authorized state.

<script>
  function keySpecifics(){
    const keyQuery = "?environmentSpecificKeys=";
    const currentSetting = window.location.search?.split("?environmentSpecificKeys=")[1] ?? 'false';
    const newSetting = currentSetting === 'false' ? 'true' : 'false';
    window.location = window.location.origin + window.location.pathname + keyQuery + newSetting // +  window.location.hash (not included as it feels weird to jump down)
  }
</script>
<div style="display:none" class="environmentSpecificKeys">
  <div markdown="span" class="alert alert-info" role="alert"><i class="fa fa-info-circle"></i> <b>Note:</b> If your publicKeyId <b>_does not_</b> have an environment prefix (does not begin with 'SANDBOX' or 'LIVE') follow <a href='#' onclick='keySpecifics()' rel='noopener noreferrer'>these instructions</a> instead.</div>
</div>
<div style="display:none" class="notEnvironmentSpecificKeys">
  <div markdown="span" class="alert alert-info" role="alert"><i class="fa fa-info-circle"></i> <b>Note:</b> If your publicKeyId has an environment prefix (for example: SANDBOX-AFVX7ULWSGBZ5535PCUQOY7B) follow <a href='#' onclick='keySpecifics()' rel='noopener noreferrer'>these instructions</a> instead.</div>
</div>


Supported operations:

<div style="display:none" class="environmentSpecificKeys">
<ul id="profileTabs" class="nav nav-tabs">
  <li class="nav-item"><a class="active nav-link noExtIcon" href="#ustab" data-toggle="tab">US</a></li>
  <li class="nav-item"><a class="nav-link noExtIcon" href="#eutab" data-toggle="tab">EU / UK</a></li>
  <li class="nav-item"><a class="nav-link noExtIcon" href="#jptab" data-toggle="tab">JP</a></li>
</ul>
<div class="tab-content">
  <div role="tabpanel" class="tab-pane active" id="ustab" markdown="block">   
<div markdown="block">
* **Create Charge** - POST https://pay-api.amazon.com/:version/charges
* **Get Charge** - GET https://pay-api.amazon.com/:version/charges/:chargeId
* **Capture** - POST https://pay-api.amazon.com/:version/charges/:chargeId/capture 
* **Cancel Charge** - DELETE https://pay-api.amazon.com/:version/charges/:chargeId/cancel 
</div>
  </div>
  <div role="tabpanel" class="tab-pane" id="eutab" markdown="block">
<div markdown="block">
* **Create Charge** - POST https://pay-api.amazon.eu/:version/charges
* **Get Charge** - GET https://pay-api.amazon.eu/:version/charges/:chargeId
* **Capture** - POST https://pay-api.amazon.eu/:version/charges/:chargeId/capture 
* **Cancel Charge** - DELETE https://pay-api.amazon.eu/:version/charges/:chargeId/cancel 
</div>
  </div>
  <div role="tabpanel" class="tab-pane" id="jptab" markdown="block">
<div markdown="block">
* **Create Charge** - POST https://pay-api.amazon.jp/:version/charges
* **Get Charge** - GET https://pay-api.amazon.jp/:version/charges/:chargeId
* **Capture** - POST https://pay-api.amazon.jp/:version/charges/:chargeId/capture 
* **Cancel Charge** - DELETE https://pay-api.amazon.jp/:version/charges/:chargeId/cancel 
</div>
  </div>
</div>
</div>
<div style="display:none" class="notEnvironmentSpecificKeys">
<ul id="profileTabs" class="nav nav-tabs">
  <li class="nav-item"><a class="active nav-link noExtIcon" href="#ustabNESK" data-toggle="tab">US</a></li>
  <li class="nav-item"><a class="nav-link noExtIcon" href="#eutabNESK" data-toggle="tab">EU / UK</a></li>
  <li class="nav-item"><a class="nav-link noExtIcon" href="#jptabNESK" data-toggle="tab">JP</a></li>
</ul>
<div class="tab-content">
  <div role="tabpanel" class="tab-pane active" id="ustabNESK" markdown="block">   
<div markdown="block">
* **Create Charge** - POST https://pay-api.amazon.com/:environment/:version/charges
* **Get Charge** - GET https://pay-api.amazon.com/:environment/:version/charges/:chargeId
* **Capture** - POST https://pay-api.amazon.com/:environment/:version/charges/:chargeId/capture 
* **Cancel Charge** - DELETE https://pay-api.amazon.com/:environment/:version/charges/:chargeId/cancel 
</div>
  </div>
  <div role="tabpanel" class="tab-pane" id="eutabNESK" markdown="block">
<div markdown="block">
* **Create Charge** - POST https://pay-api.amazon.eu/:environment/:version/charges
* **Get Charge** - GET https://pay-api.amazon.eu/:environment/:version/charges/:chargeId
* **Capture** - POST https://pay-api.amazon.eu/:environment/:version/charges/:chargeId/capture 
* **Cancel Charge** - DELETE https://pay-api.amazon.eu/:environment/:version/charges/:chargeId/cancel 
</div>
  </div>
  <div role="tabpanel" class="tab-pane" id="jptabNESK" markdown="block">
<div markdown="block">
* **Create Charge** - POST https://pay-api.amazon.jp/:environment/:version/charges
* **Get Charge** - GET https://pay-api.amazon.jp/:environment/:version/charges/:chargeId
* **Capture** - POST https://pay-api.amazon.jp/:environment/:version/charges/:chargeId/capture 
* **Cancel Charge** - DELETE https://pay-api.amazon.jp/:environment/:version/charges/:chargeId/cancel 
</div>
  </div>
</div>
</div>




***

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

### Charge object

<table width="100%" border="1">
    <tbody>
        <tr id='OLS9CA2wAMs'>
            <td id='s:OLS9CA2wAMs;OLS9CAx2YtW' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>Parameter
                <br /></td>
            <td id='s:OLS9CA2wAMs;OLS9CAC9I1k' style='vertical-align: top; font-weight: bold; width: 70%;' class='bold'>Description
                <br /></td>
        </tr>
        <tr id='OLS9CA7fCHY'>
            <td id='s:OLS9CA7fCHY;OLS9CAx2YtW' style='vertical-align: top;'>chargeId<br><br>Type: string
                <br /></td>
            <td id='s:OLS9CA7fCHY;OLS9CAC9I1k' style='vertical-align: top;'>Charge identifier<br><br>This value is returned at the end of a completed Checkout Session or you can create a new charge from a Charge Permission in a Chargeable state
                <br /></td>
        </tr>
        <tr id='OLS9CA7fCHY'>
            <td id='s:OLS9CA7fCHY;OLS9CAx2YtW' style='vertical-align: top;'>chargePermissionId<br><br>Type: string
                <br /></td>
            <td id='s:OLS9CA7fCHY;OLS9CAC9I1k' style='vertical-align: top;'>Charge Permission identifier
                <br /></td>
        </tr>
        <tr id='OLS9CAAKa6J'>
            <td id='s:OLS9CAAKa6J;OLS9CAx2YtW' style='vertical-align: top;'>chargeAmount<br><br>Type: <a href="#type-price">price</a>
                <br /></td>
            <td id='s:OLS9CAAKa6J;OLS9CAC9I1k' style='vertical-align: top;'>Represents the amount to be charged/authorized<br><br>Maximum value: <br>US: $150,000<br>UK: £150,000<br>Germany: €150,000<br>Japan: ¥10,000,000
                <br /></td>
        </tr>
        <tr id='OLS9CAeI3mA'>
            <td id='s:OLS9CAeI3mA;OLS9CAx2YtW' style='vertical-align: top;'>captureAmount<br><br>Type: <a href="#type-price">price</a>
                <br /></td>
            <td id='s:OLS9CAeI3mA;OLS9CAC9I1k' style='vertical-align: top;'>The total amount that has been captured using this Charge
                <br /></td>
        </tr>
        <tr>
            <td style='vertical-align: top;'>refundedAmount<br><br>Type: <a href="#type-price">price</a>
                <br /></td>
            <td style='vertical-align: top;'>The total amount that has been refunded using this Charge
                <br /></td>
        </tr>
        <tr id='OLS9CAGyE7P'>
            <td id='s:OLS9CAGyE7P;OLS9CAx2YtW' style='vertical-align: top;'>softDescriptor<br><br>Type: string
                <br /></td>
            <td id='s:OLS9CAGyE7P;OLS9CAC9I1k' style='vertical-align: top;'>Description shown on the buyer payment instrument statement. You can only use this parameter if <code>CaptureNow</code> is set to true<br><br>Do not store sensitive data about the buyer or the transaction in this field. Sensitive data includes, but is not limited to: government-issued identification, bank account numbers, or credit card numbers<br><br>The soft descriptor sent to the payment processor is: "AMZ* &lt;soft descriptor specified here&gt;"<br><br>Default: "AMZ*&lt;SELLER_NAME&gt; pay.amazon.com"<br>Max length: 16 characters/bytes
                <br /></td>
        </tr>
        <tr id='OLS9CAskeo0'>
            <td id='s:OLS9CAskeo0;OLS9CAx2YtW' style='vertical-align: top;'>captureNow<br><br>Type: boolean
                <br /></td>
            <td id='s:OLS9CAskeo0;OLS9CAC9I1k' style='vertical-align: top;'>Boolean that indicates whether or not Charge should be captured immediately after a successful authorization<br><br>Default: false
                <br /></td>
        </tr>
        <tr id='OLS9CAE8qpv'>
            <td id='s:OLS9CAE8qpv;OLS9CAx2YtW' style='vertical-align: top;'>canHandlePendingAuthorization<br><br>Type: boolean
                <br /></td>
            <td id='s:OLS9CAE8qpv;OLS9CAC9I1k' style='vertical-align: top;'>Boolean that indicates whether or not merchant can handle pending response<br><br>If set to false, you will receive a response within a maximum of 15 seconds in US, EU, and UK regions or 30 seconds in JP region. If set to true, Amazon Pay will process the authorization asynchronously and you will receive a response within 24 hours. See <a href="../amazon-pay-checkout/asynchronous-processing.md" target="_blank" rel="noopener noreferrer">asynchronous processing</a> for more info
                <br /></td>
        </tr>
        <tr id='OLS9CAymApB'>
            <td id='s:OLS9CAymApB;OLS9CAx2YtW' style='vertical-align: top;'>providerMetadata<br><br>Type: <a href="#type-providermetadata">providerMetadata</a>
                <br /></td>
            <td id='s:OLS9CAymApB;OLS9CAC9I1k' style='vertical-align: top;'>Payment service provider (PSP)-provided order details <br><br>Only PSPs should use these fields
                <br /></td>
        </tr>
        <tr id='OLS9CAXVURT'>
            <td id='s:OLS9CAXVURT;OLS9CAx2YtW' style='vertical-align: top;'>creationTimestamp<br><br>Type: dateTime
                <br /></td>
            <td id='s:OLS9CAXVURT;OLS9CAC9I1k' style='vertical-align: top;'>UTC date and time when the Charge was created in ISO 8601 format
                <br /></td>
        </tr>
        <tr id='OLS9CA3MXR1'>
            <td id='s:OLS9CA3MXR1;OLS9CAx2YtW' style='vertical-align: top;'>expirationTimestamp<br><br>Type: dateTime
                <br /></td>
            <td id='s:OLS9CA3MXR1;OLS9CAC9I1k' style='vertical-align: top;'>UTC date and time when the Charge will expire in ISO 8601 format<br>
                <br /></td>
        </tr>
        <tr id=''>
            <td id='' style='vertical-align: top;'>merchantMetadata<br><br>Type: <a href="#type-merchantmetadata">merchantMetadata</a>
                <br /></td>
            <td id='' style='vertical-align: top;'>Merchant-provided order details. You can only set this parameter for Charges created using recurring Charge Permission objects
                <br /></td>
        </tr>
        <tr id='OLS9CAC4Uzx'>
            <td id='s:OLS9CAC4Uzx;OLS9CAx2YtW' style='vertical-align: top;'>statusDetails<br><br>Type: <a href="#type-statusdetails">statusDetails</a>
                <br /></td>
            <td id='s:OLS9CAC4Uzx;OLS9CAC9I1k' style='vertical-align: top;'>State of the Charge object
                <br /></td>
        </tr>
        <tr id=''>
            <td id='' style='vertical-align: top;'>convertedAmount<br><br>Type: <a href="#type-price">price</a>
                <br /></td>
            <td id='' style='vertical-align: top;'>The amount captured in disbursement currency. This is calculated using: <code>chargeAmount</code>/<code>conversionRate</code><br><br>See <a href="../amazon-pay-checkout/multi-currency-integration.md">multi-currency integration</a> for more info
                <br /></td>
        </tr>
        <tr id=''>
            <td id='' style='vertical-align: top;'>conversionRate<br><br>Type: double
                <br /></td>
            <td id='' style='vertical-align: top;'>The rate used to calculate <code>convertedAmount</code><br><br>See <a href="../amazon-pay-checkout/multi-currency-integration.md">multi-currency integration</a> for more info
                <br /></td>
        </tr>
        <tr id=''>
            <td id='' style='vertical-align: top;'>releaseEnvironment<br /><br />Type: string
                <br /></td>
            <td id='' style='vertical-align: top;'>The environment the Charge object was created in (either Sandbox or Live)
                <br /></td>
        </tr>
        <tr id=''>
            <td id='' style='vertical-align: top;'>chargeInitiator<br /><br />Type: string
                <br /></td>
            <td id='' style='vertical-align: top;'>Represents who initiated the charge.
                <br><br>Supported values: 'CITU', 'MITU', 'CITR', 'MITR'
                <br><br><b>CITU</b>: A <b>customer-initiated unscheduled</b> transaction is a transaction where the customer is present and provides their payment credentials. This can be through a terminal in-store, or online through a checkout experience. The customer-initiated transaction is the proof that the customer and merchant entered into a relationship and that the payment credential presented was in fact a validly presented payment instrument.
                <br><br><b>MITU</b>: A <b>merchant-initiated unscheduled</b> transaction is a transaction where the customer is <b>not</b> present and is conducted without any additional cardholder validation. In all cases, a merchant-initiated transaction must refer to a customer’s original interaction where a customer and merchant have entered into an agreement for a recurring product or service or an automated billing or unscheduled transactions etc.                
                <br><br>There are many different kinds of merchant-initiated transactions. Examples include:
                <ul>
                <li>Delayed Charges Transaction</li>
                <li>Incremental Authorization Transaction</li>
                <li>No Show Transaction</li>
                <li>Unscheduled Stored Credential Transaction</li>
                <li>Other Credential on File Transactions</li>
                </ul>
                <b>CITR</b>: A customer-initiated transaction representing the <b>first in a series</b> of recurring transactions. Use this if the customer will be charged upon signing up for a subscription in your own checkout experience (i.e., the buyer already has Saved Wallet set up)
                <br><br><b>MITR</b>: A merchant-initiated transaction for a recurring transaction. Use this for all subsequent recurring charges, regardless of how the first recurring charge was initiated.
                <br /></td>
        </tr>
        <tr id=''>
            <td id='' style='vertical-align: top;'>channel<br /><br />Type: string
                <br /></td>
            <td id='' style='vertical-align: top;'>Represents the channel of the charge.
                <br><br>Supported values: 'Web', 'Phone', 'App', 'Alexa', 'PointOfSale', 'Firetv', 'Offline'
                <br><br>When to use these channels:
                <ol>
                <li>Web: Desktop or mobile browser</li>
                <li>Phone: Over phone call</li>
                <li>App: Mobile app</li>
                <li>Alexa: Alexa SDK</li>
                <li>Firetv: Fire TV</li>
                <li>Offline: Buyer not present</li>
                </ol>
                <br /></td>
        </tr>
    </tbody>
</table>

#### Type: price

<table width="100%" border="1">
    <tbody>
        <tr id='OLS9CAbORDS'>
            <td id='s:OLS9CAbORDS;OLS9CAjgdgj' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>Parameter
                <br /></td>
            <td id='s:OLS9CAbORDS;OLS9CAZr77k' style='vertical-align: top; font-weight: bold; width: 70%;' class='bold'>Description
                <br /></td>
        </tr>
        <tr id='OLS9CAW39VE'>
            <td id='s:OLS9CAW39VE;OLS9CAjgdgj' style='vertical-align: top;'>amount<br><br>Type: string
                <br /></td>
            <td id='s:OLS9CAW39VE;OLS9CAZr77k' style='vertical-align: top;'>Transaction amount
                <br /></td>
        </tr>
        <tr id='OLS9CATPsPn'>
            <td id='s:OLS9CATPsPn;OLS9CAjgdgj' style='vertical-align: top;'>currencyCode<br><br>Type: string
                <br /></td>
            <td id='s:OLS9CATPsPn;OLS9CAZr77k' style='vertical-align: top;'>Transaction currency code in ISO 4217 format<br /><br />Example: USD
                <br /></td>
        </tr>
    </tbody>
</table>


#### Type: providerMetadata

<table width="100%" border="1">
    <tbody>
        <tr id='ERL9CAkCDAX'>
            <td id='' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>Parameter
                <br /></td>
            <td id='' style='vertical-align: top; font-weight: bold; width: 70%;' class='bold'>Description
                <br /></td>
        </tr>
        <tr id='ERL9CA263fp'>
            <td id='s:ERL9CA263fp;ERL9CAOoCvF' style='vertical-align: top;'>providerReferenceId<br><br>Type: string
                <br /></td>
            <td id='s:ERL9CA263fp;ERL9CAIPemX' style='vertical-align: top;'>Payment service provider (PSP)-provided order identifier<br><br>Only PSPs should use these fields
                <br /></td>
        </tr>
    </tbody>
</table>

#### Type: merchantMetadata

<table width="100%" border="1">
    <tbody>
        <tr id='cJS9CANltWT'>
            <td id='s:cJS9CANltWT;cJS9CAvOSCv' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>Parameter
                <br /></td>
            <td id='s:cJS9CANltWT;cJS9CAR4Gxn' style='vertical-align: top; font-weight: bold; width: 70%;' class='bold'>Description
                <br /></td>
        </tr>
        <tr id='cJS9CAWo4F0'>
            <td id='s:cJS9CAWo4F0;cJS9CAvOSCv' style='vertical-align: top;'>merchantReferenceId<br><br>Type: string
                <br /></td>
            <td id='s:cJS9CAWo4F0;cJS9CAR4Gxn' style='vertical-align: top;'>External merchant order identifier. The merchant order identifier is shared in <a href="../amazon-pay-checkout/buyer-communication.md">buyer communication</a> and in the buyer transaction history on the<a href="https://pay.amazon.com"> Amazon Pay website</a><br><br>Max length: 256 characters/bytes
                <br /></td>
        </tr>
        <tr id='cJS9CAtuwE2'>
            <td id='s:cJS9CAtuwE2;cJS9CAvOSCv' style='vertical-align: top;'>merchantStoreName<br><br>Type: string
                <br /></td>
            <td id='s:cJS9CAtuwE2;cJS9CAR4Gxn' style='vertical-align: top;'>Merchant store name. Setting this parameter will override the default value configured in Seller Central (<a href="https://sellercentral.amazon.com/" target="_blank" rel="noopener noreferrer">US</a>, <a href="https://sellercentral-europe.amazon.com/" target="_blank" rel="noopener noreferrer">EU</a>, <a href="https://sellercentral-japan.amazon.com/" target="_blank" rel="noopener noreferrer">JP</a>). The store name is shared in <a href="../amazon-pay-checkout/buyer-communication.md">buyer communication</a> and in the buyer transaction history on the <a href="https://pay.amazon.com">Amazon Pay website</a><br><br>Max length: 50 characters/bytes
                <br /></td>
        </tr>
        <tr id='cJS9CAEA432'>
            <td id='s:cJS9CAEA432;cJS9CAvOSCv' style='vertical-align: top;'>noteToBuyer<br><br>Type: string
                <br /></td>
            <td id='s:cJS9CAEA432;cJS9CAR4Gxn' style='vertical-align: top;'>Description of the order that is shared in <a href="../amazon-pay-checkout/buyer-communication.md">buyer communication</a><br /><br />Do not store sensitive data about the buyer or the transaction in this field. Sensitive data includes, but is not limited to: government-issued identification, bank account numbers, or credit card numbers<br><br>Max length: 255 characters/bytes
                <br /></td>
        </tr>
        <tr id='cJS9CALqw0h'>
            <td id='s:cJS9CALqw0h;cJS9CAvOSCv' style='vertical-align: top;'>customInformation<br><br>Type: string
                <br /></td>
            <td id='s:cJS9CALqw0h;cJS9CAR4Gxn' style='vertical-align: top;'>Custom information for the order. This data is not shared in any <a href="../amazon-pay-checkout/buyer-communication.md">buyer communication</a><br /><br />Do not store sensitive data about the buyer or the transaction in this field. Sensitive data includes, but is not limited to: government-issued identification, bank account numbers, or credit card numbers<br><br>Max length: 4,096 characters/bytes
                <br /></td>
        </tr>
    </tbody>
</table>

#### Type: statusDetails

<table width="100%" border="1">
    <tbody>
        <tr id='OLS9CAGofbo'>
            <td id='s:OLS9CAGofbo;OLS9CALsTIu' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>Parameter
                <br /></td>
            <td id='s:OLS9CAGofbo;OLS9CA8Q8ip' style='vertical-align: top; font-weight: bold; width: 70%;' class='bold'>Description
                <br /></td>
        </tr>
        <tr id='OLS9CAYK9Ox'>
            <td id='s:OLS9CAYK9Ox;OLS9CALsTIu' style='vertical-align: top;'>state<br><br>Type: string
                <br /></td>
            <td id='s:OLS9CAYK9Ox;OLS9CA8Q8ip' style='vertical-align: top;'>Current object state
                <br /></td>
        </tr>
        <tr id='OLS9CAIED7x'>
            <td id='s:OLS9CAIED7x;OLS9CA6UwVq' style='vertical-align: top;'>reasonCode<br><br>Type: string
                <br /></td>
            <td id='s:OLS9CAIED7x;OLS9CAVEjZd' style='vertical-align: top;'>Reason code for current state
                <br /></td>
        </tr>
        <tr id='OLS9CAO4NCY'>
            <td id='s:OLS9CAO4NCY;OLS9CA6UwVq' style='vertical-align: top;'>reasonDescription<br><br>Type: string
                <br /></td>
            <td id='s:OLS9CAO4NCY;OLS9CAVEjZd' style='vertical-align: top;'>An optional description of the Charge state
                <br /></td>
        </tr>
        <tr id='OLS9CAs4UkA'>
            <td id='s:OLS9CAs4UkA;OLS9CALsTIu' style='vertical-align: top;'>lastUpdatedTimestamp<br><br>Type: dateTime
                <br /></td>
            <td id='s:OLS9CAs4UkA;OLS9CA8Q8ip' style='vertical-align: top;'>UTC date and time when the state was last updated in ISO 8601 format
                <br /></td>
        </tr>
    </tbody>
</table>

### States and reason codes

<img src='https://m.media-amazon.com/images/G/01/EPSDocumentation/AmazonPay/Integration/ChargeStates._CB1565018489_.png' />

<table width="100%" border="1">
    <tbody>
        <tr id='OLS9CAyN5j4'>
            <td id='s:OLS9CAyN5j4;OLS9CAHTShh' style='vertical-align: top; font-weight: bold; width: 20%;' class='bold'>State
                <br /></td>
            <td id='s:OLS9CAyN5j4;OLS9CA1p8P9' style='vertical-align: top; font-weight: bold; width: 40%;' class='bold'>Description
                <br /></td>
            <td id='s:OLS9CAyN5j4;OLS9CAmOi04' style='vertical-align: top; font-weight: bold; width: 40%;' class='bold'>Reason code
                <br /></td>
        </tr>
        <tr id='OLS9CAtvU1e'>
            <td id='s:OLS9CAtvU1e;OLS9CAHTShh' style='text-align: left;vertical-align: top;'>AuthorizationInitiated
                <br /></td>
            <td id='s:OLS9CAtvU1e;OLS9CA1p8P9' style='vertical-align: top;'>Charge is in a pending state. See <a href="../amazon-pay-checkout/asynchronous-processing.md">asynchronous processing</a> for more information<br><br>Allowed operation(s): <br>GET Charge<br>DELETE Charge
                <br /></td>
            <td id='s:OLS9CAtvU1e;OLS9CAmOi04' style='vertical-align: top;'>-
                <br /></td>
        </tr>
        <tr id='OLS9CACGS4e'>
            <td id='s:OLS9CACGS4e;OLS9CAHTShh' style='vertical-align: top;'>Authorized
                <br /></td>
            <td id='s:OLS9CACGS4e;OLS9CA1p8P9' style='vertical-align: top;'>Charge was successfully authorized<br><br>Allowed operation(s): <br>GET Charge<br>POST Capture<br>DELETE Charge
                <br /></td>
            <td id='s:OLS9CACGS4e;OLS9CAmOi04' style='vertical-align: top;'>-
                <br /></td>
        </tr>
        <tr id='OLS9CAN0vtO'>
            <td id='s:OLS9CAN0vtO;OLS9CAHTShh' style='vertical-align: top;'>CaptureInitiated
                <br /></td>
            <td id='s:OLS9CAN0vtO;OLS9CA1p8P9' style='vertical-align: top;'>Charge capture processing, will move to either Captured or Declined state depending on outcome<br><br>Allowed operation(s): <br>GET Charge
                <br /></td>
            <td id='s:OLS9CAN0vtO;OLS9CAmOi04' style='vertical-align: top;'>-
                <br /></td>
        </tr>
        <tr id='OLS9CAbURBu'>
            <td id='s:OLS9CAbURBu;OLS9CAHTShh' style='vertical-align: top;'>Captured
                <br /></td>
            <td id='s:OLS9CAbURBu;OLS9CA1p8P9' style='vertical-align: top;'>Charge was successfully captured<br><br>Allowed operation(s): <br>GET Charge<br>POST Refund
                <br /></td>
            <td id='s:OLS9CAbURBu;OLS9CAmOi04' style='vertical-align: top;'>-
                <br /></td>
        </tr>
        <tr id='OLS9CAwRtcE'>
            <td id='s:OLS9CAwRtcE;OLS9CAHTShh' style='vertical-align: top;'>Canceled
                <br /></td>
            <td id='s:OLS9CAwRtcE;OLS9CA1p8P9' style='vertical-align: top;'>Charge was canceled by Amazon or by the merchant<br><br>Allowed operation(s): <br>GET Charge
                <br /></td>
            <td id='s:OLS9CAwRtcE;OLS9CAmOi04' style='vertical-align: top;'><b>ExpiredUnused</b> - The Charge has been in the Authorized state for 30 days without being captured<br><br><b>AmazonCanceled</b> - Amazon canceled the Charge<br><br><b>MerchantCanceled</b> - You canceled the Charge using the Cancel Charge operation or the Charge was closed because you did not call Complete Checkout Session<br><br><b>ChargePermissionCanceled</b> - You canceled the Charge Permission used to create the Charge using the Cancel Charge Permission operation with <code>cancelPendingCharges</code> set to true<br><br><b>BuyerCanceled</b> - The buyer canceled the Charge
                <br /></td>
        </tr>
        <tr id='OLS9CA1jctN'>
            <td id='s:OLS9CA1jctN;OLS9CAHTShh' style='vertical-align: top;'>Declined
                <br /></td>
            <td id='s:OLS9CA1jctN;OLS9CA1p8P9' style='vertical-align: top;'>The authorization or capture was declined<br><br>Allowed operation(s): <br>GET Charge
                <br /></td>
            <td id='s:OLS9CA1jctN;OLS9CAmOi04' style='vertical-align: top;'><b>SoftDeclined</b> - Charge was soft declined. Retry attempts may or may not be successful. If repeated retry attempts are unsuccessful, please contact the buyer and have them choose a different payment instrument<br><br><b>HardDeclined</b> - Charge was hard declined. Retry attempts will not succeed. Please contact the buyer and have them choose a different payment instrument<br><b><br>AmazonRejected</b> - Charge was declined by Amazon. The associated Charge Permission will also be canceled<br><b><br>ProcessingFailure</b> - Amazon could not process the Charge because of an internal processing error. You should retry the charge only if the Charge Permission is in the Chargeable state<br><b><br>TransactionTimedOut </b>- <br>If you set <code>canHandlePendingAuthorization</code> to false, the Charge was declined because Amazon Pay did not have enough time to process the authorization. Please contact the buyer and have them choose another payment method. If you frequently encounter this decline, consider setting <code>canHandlePendingAuthorization</code> to true <br><br>If you set <code>canHandlePendingAuthorization</code> to true, the Charge was declined because Amazon Pay was unable to determine the validity of the order. Please contact the buyer and have them choose another payment method. See <a href="../amazon-pay-checkout/asynchronous-processing.md">asynchronous processing </a>for more information
                <br /></td>
        </tr>
    </tbody>
</table>

## Operations

### Create Charge

You can create a Charge to authorize payment, if you have a Charge Permission in a Chargeable state. You can optionally capture payment immediately by setting `captureNow` to true. You can create up to 25 Charges per one-time Charge Permission.

The response for Create Charge will include a Charge ID. This is the only time this value will ever be returned, so you must store the ID in order to capture payment, [Get Charge](charge.html) details, or <a href="../amazon-pay-api-v2/refund.md#create-refund" target="_blank" rel="noopener noreferrer">Create Refund</a> at a later date. If the request fails, you should reengage the buyer and ask them to go through checkout again.

#### Request


<div style="display:none" class="environmentSpecificKeys">
<code style="color:black">
curl "https://pay-api.amazon.com/:version/charges/" \<br />
-X POST<br />
-H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE" <br />
-H "x-amz-pay-date:20201012T235046Z"<br />
-H "x-amz-pay-idempotency-key:AVLo5tI10BHgEk2jEXAMPLEKEY"<br />
-d @request_body<br />
</code>
</div>
<div style="display:none" class="notEnvironmentSpecificKeys">
<code style="color:black">
curl "https://pay-api.amazon.com/:environment/:version/charges/" \<br />
-X POST<br />
-H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE" <br />
-H "x-amz-pay-date:20201012T235046Z"<br />
-H "x-amz-pay-idempotency-key:AVLo5tI10BHgEk2jEXAMPLEKEY"<br />
-d @request_body<br />
</code>
</div>

#### Request body

```
{
    "chargePermissionId": "P21-1111111-1111111",
    "chargeAmount": {
        "amount": "14.00",
        "currencyCode": "USD"
    },
    "chargeInitiator":"CITU",
    "channel":"Web",
    "captureNow": true, // default is false
    "softDescriptor": "Descriptor",
    "canHandlePendingAuthorization": false //default is false
}
```


#### Request parameters

<table width="100%" border="1">
    <tbody>
        <tr id='OLS9CAejjWl'>
            <td id='s:OLS9CAejjWl;OLS9CAhZC2S' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>Name
                <br /></td>
            <td id='s:OLS9CAejjWl;OLS9CAkcqjC' style='vertical-align: top; font-weight: bold; width: 20%;' class='bold'>Location
                <br /></td>
            <td id='s:OLS9CAejjWl;OLS9CAs0lqL' style='vertical-align: top; font-weight: bold; width: 50%;' class='bold'>Description
                <br /></td>
        </tr>
        <tr id='OLS9CA77dB4'>
            <td id='s:OLS9CA77dB4;OLS9CAOL3El' style='vertical-align: top;'>x-amz-pay-idempotency-key<br><b>(required)</b><br><br>Type: string
                <br /></td>
            <td id='s:OLS9CA77dB4;OLS9CAJIYUN' style='vertical-align: top;'>Header
                <br /></td>
            <td id='s:OLS9CA77dB4;OLS9CAr63HH' style='vertical-align: top;'><a href="../amazon-pay-api-v2/idempotency.md" target="_blank" rel="noopener noreferrer">Idempotency key</a> to safely retry requests
                <br /></td>
        </tr>
        <tr id='OLS9CA74jkX'>
            <td id='s:OLS9CA74jkX;OLS9CAOL3El' style='vertical-align: top;'>chargePermissionId<br><b>(required)</b><br><br>Type: string
                <br /></td>
            <td id='s:OLS9CA74jkX;OLS9CAJIYUN' style='vertical-align: top;'>Body
                <br /></td>
            <td id='s:OLS9CA74jkX;OLS9CAr63HH' style='vertical-align: top;'>Charge Permission identifier
                <br /></td>
        </tr>
        <tr id='OLS9CAbQJii'>
            <td id='s:OLS9CAbQJii;OLS9CAOL3El' style='vertical-align: top;'>chargeAmount<br><b>(required)</b><br><br>Type: <a href="charge.html#type-price" target="_blank" rel="noopener noreferrer">price</a>
                <br /></td>
            <td id='s:OLS9CAbQJii;OLS9CAJIYUN' style='vertical-align: top;'>Body
                <br /></td>
            <td id='s:OLS9CAbQJii;OLS9CAr63HH' style='vertical-align: top;'>Transaction amount
                <br /></td>
        </tr>
        <tr id=''>
            <td id='' style='vertical-align: top;'>chargeInitiator<br><b>(required)</b><br><br>Type: string
                <br /></td>
            <td id='' style='vertical-align: top;'>Body
                <br /></td>
            <td id='' style='vertical-align: top;'>Represents who initiated the charge.
                <br><br>Supported values: 'CITU', 'MITU', 'CITR', 'MITR'
                <br><br><b>CITU</b>: A <b>customer-initiated unscheduled</b> transaction is a transaction where the customer is present and provides their payment credentials. This can be through a terminal in-store, or online through a checkout experience. The customer-initiated transaction is the proof that the customer and merchant entered into a relationship and that the payment credential presented was in fact a validly presented payment instrument.
                <br><br><b>MITU</b>: A <b>merchant-initiated unscheduled</b> transaction is a transaction where the customer is <b>not</b> present and is conducted without any additional cardholder validation. In all cases, a merchant-initiated transaction must refer to a customer’s original interaction where a customer and merchant have entered into an agreement for a recurring product or service or an automated billing or unscheduled transactions etc.                
                <br><br>There are many different kinds of merchant-initiated transactions. Examples include:
                <ul>
                <li>Delayed Charges Transaction</li>
                <li>Incremental Authorization Transaction</li>
                <li>No Show Transaction</li>
                <li>Unscheduled Stored Credential Transaction</li>
                <li>Other Credential on File Transactions</li>
                </ul>
                <b>CITR</b>: A customer-initiated transaction representing the <b>first in a series</b> of recurring transactions. Use this if the customer will be charged upon signing up for a subscription in your own checkout experience (i.e., the buyer already has Saved Wallet set up)
                <br><br><b>MITR</b>: A merchant-initiated transaction for a recurring transaction. Use this for all subsequent recurring charges, regardless of how the first recurring charge was initiated.
                <br><br>* Only required for <code>ChargePermissionType</code> of <code>PaymentMethodOnFile</code>
                </td>
        </tr>
        <tr id=''>
            <td id='' style='vertical-align: top;'>channel<br><br>Type: string
                <br /></td>
            <td id='' style='vertical-align: top;'>Body
                <br /></td>
            <td id='' style='vertical-align: top;'>Represents the channel of the charge.
                <br><br>Supported values: 'Web', 'Phone', 'App', 'Alexa', 'PointOfSale', 'Firetv', 'Offline'
                <br><br>When to use these channels:
                <ol>
                <li>Web: Desktop or mobile browser</li>
                <li>Phone: Over phone call</li>
                <li>App: Mobile app</li>
                <li>Alexa: Alexa SDK</li>
                <li>Firetv: Fire TV</li>
                <li>Offline: Buyer not present</li>
                </ol>
                </td>
        </tr>
        <tr id='OLS9CAoRCbH'>
            <td id='s:OLS9CAoRCbH;OLS9CAOL3El' style='vertical-align: top;'>captureNow<br><br>Type: boolean
                <br /></td>
            <td id='s:OLS9CAoRCbH;OLS9CAJIYUN' style='vertical-align: top;'>Body
                <br /></td>
            <td id='s:OLS9CAoRCbH;OLS9CAr63HH' style='vertical-align: top;'>Boolean that indicates whether or not Charge should be captured immediately after a successful authorization<br><br>Default: false
                <br /></td>
        </tr>
        <tr id='OLS9CATXn9U'>
            <td id='s:OLS9CATXn9U;OLS9CAOL3El' style='vertical-align: top;'>softDescriptor<br><br>Type: string
                <br /></td>
            <td id='s:OLS9CATXn9U;OLS9CAJIYUN' style='vertical-align: top;'>Body
                <br /></td>
            <td id='s:OLS9CATXn9U;OLS9CAr63HH' style='vertical-align: top;'>Description shown on the buyer payment instrument statement, if <code>CaptureNow</code> is set to true. Do not set this value if <code>CaptureNow</code> is set to false<br><br>The soft descriptor sent to the payment processor is: "AMZ* &lt;soft descriptor specified here&gt;"<br><br>The soft descriptor sent to the payment processor is: "AMZ* &lt;soft descriptor specified here&gt;"<br><br>Default: "AMZ*&lt;SELLER_NAME&gt; pay.amazon.com"<br>Max length: 16 characters/bytes
                <br /></td>
        </tr>
        <tr id='OLS9CAUIIUV'>
            <td id='s:OLS9CAUIIUV;OLS9CAOL3El' style='vertical-align: top;'>canHandlePendingAuthorization<br><br>Type: boolean
                <br /></td>
            <td id='s:OLS9CAUIIUV;OLS9CAJIYUN' style='vertical-align: top;'>Body
                <br /></td>
            <td id='s:OLS9CAUIIUV;OLS9CAr63HH' style='vertical-align: top;'>Boolean that indicates whether or not merchant can handle pending response<br><br>If set to false, you will receive a response within a maximum of 15 seconds in US, EU, and UK regions or 30 seconds in JP region. If set to true, Amazon Pay will process the authorization asynchronously and you will receive a response within 24 hours. See <a href="../amazon-pay-checkout/asynchronous-processing.md" target="_blank" rel="noopener noreferrer">asynchronous processing</a> for more info
                <br /></td>
        </tr>
        <tr id=''>
            <td id='' style='vertical-align: top;'>merchantMetadata<br><br>Type: <a href="charge.html#type-merchantmetadata" target="_blank" rel="noopener noreferrer">merchantMetadata</a>
                <br /></td>
            <td id='' style='vertical-align: top;'>Body
                <br /></td>
            <td id='' style='vertical-align: top;'>Merchant-provided order details. You can only set this parameter for Charges created using recurring Charge Permission objects 
                <br /></td>
        </tr>
        <tr id=''>
            <td id='' style='vertical-align: top;'>providerMetadata<br><br>Type: <a href="charge.html#type-providermetadata" target="_blank" rel="noopener noreferrer">providerMetadata</a>
                <br /></td>
            <td id='' style='vertical-align: top;'>Body
                <br /></td>
            <td id='' style='vertical-align: top;'>Payment service provider (PSP)-provided order details<br><br>Only PSPs should use these fields
                <br /></td>
        </tr>
    </tbody>
</table>

#### Response

Returns <a href="https://restfulapi.net/http-status-201-created/" target="_blank" rel="noopener noreferrer">HTTP 201 status response code</a> if the operation was successful. Subsequent retry attempts using the same <a href="../amazon-pay-api-v2/idempotency.md" target="_blank" rel="noopener noreferrer">Idempotency Key</a> may return a <a href="https://restfulapi.net/http-status-200-ok" target="_blank" rel="noopener noreferrer">HTTP 200 status response code</a> if a new resource is not created.

```
{
     "chargeId": "P21-1111111-1111111-C111111",
     "chargePermissionId": "P21-1111111-1111111",
     "chargeInitiator":"CITU",
     "channel":"Web",
     "chargeAmount": {
         "amount": "14.00",
         "currencyCode": "USD"
     },
     "captureAmount": {
         "amount": "14.00",
         "currencyCode": "USD"
     },
     "refundedAmount": {
         "amount": "0.00",
         "currencyCode": "USD"
     },
     "convertedAmount": "14.00",
     "conversionRate": "1.00",
     "softDescriptor": "Descriptor",
     "merchantMetadata": null,
     "providerMetadata": {
         "providerReferenceId": null
     },
     "statusDetails":{
         "state": "Captured",
         "reasonCode": null,
         "reasonDescription": null,
         "lastUpdatedTimestamp": "20190714T155300Z"
     },
     "creationTimestamp": "20190714T155300Z",
     "expirationTimestamp": "20190715T155300Z",
     "releaseEnvironment": "Sandbox"
}
```

#### Error codes

<table width="100%" border="1">
    <tbody>
        <tr id='OLS9CAqxDOj'>
            <td id='s:OLS9CAqxDOj;OLS9CAyaOYh' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>HTTP status code
                <br /></td>
            <td id='s:OLS9CAqxDOj;OLS9CA1wwxv' style='vertical-align: top; font-weight: bold; width: 20%;' class='bold'>Reason code
                <br /></td>
            <td id='s:OLS9CAqxDOj;OLS9CAjr6bd' style='vertical-align: top; font-weight: bold; width: 50%;' class='bold'>Description
                <br /></td>
        </tr>
        <tr id='OLS9CAOEwXD'>
            <td id='s:OLS9CAOEwXD;OLS9CAyaOYh' style='vertical-align: top;'>400 BAD_REQUEST
                <br /></td>
            <td id='s:OLS9CAOEwXD;OLS9CA1wwxv' style='vertical-align: top;'>TransactionAmountExceeded
                <br /></td>
            <td id='s:OLS9CAOEwXD;OLS9CAjr6bd' style='vertical-align: top;'>You've exceeded the monthly maximum charge amount allowed for a recurring Charge Permission.
                <br /></td>
        </tr>
        <tr id=''>
            <td id='' style='vertical-align: top;'>400 BAD_REQUEST
                <br /></td>
            <td id='' style='vertical-align: top;'>PeriodicAmountExceeded
                <br /></td>
            <td id='' style='vertical-align: top;'>You've exceeded the monthly maximum charge amount allowed for a recurring Charge Permission. The limit per buyer resets every calendar month, see <a href="../amazon-pay-checkout/monthly-recurring-charge-limits.md" target="_blank" rel="noopener noreferrer">monthly recurring charge limits</a> for more info
                <br /></td>
        </tr>
        <tr id='OLS9CA81x1R'>
            <td id='s:OLS9CA81x1R;OLS9CAyaOYh' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CA81x1R;OLS9CA1wwxv' style='vertical-align: top;'>InvalidChargePermissionStatus
                <br /></td>
            <td id='s:OLS9CA81x1R;OLS9CAjr6bd' style='vertical-align: top;'>You tried to call an operation on a ChargePermission object that is in a state where that operation cannot be called
                <br /></td>
        </tr>
        <tr id='OLS9CARmlFV'>
            <td id='s:OLS9CARmlFV;OLS9CAyaOYh' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CARmlFV;OLS9CA1wwxv' style='vertical-align: top;'>SoftDeclined
                <br /></td>
            <td id='s:OLS9CARmlFV;OLS9CAjr6bd' style='vertical-align: top;'>Charge was soft declined. Retry attempts may or may not be successful. If repeated retry attempts are unsuccessful, contact the buyer and have them choose a different payment instrument
                <br /></td>
        </tr>
        <tr id='OLS9CA5zZ4N'>
            <td id='s:OLS9CA5zZ4N;OLS9CAyaOYh' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CA5zZ4N;OLS9CA1wwxv' style='vertical-align: top;'>HardDeclined
                <br /></td>
            <td id='s:OLS9CA5zZ4N;OLS9CAjr6bd' style='vertical-align: top;'>Charge was hard declined. Retry attemps will not succeed. Please contact the buyer and have them choose a different payment instrument
                <br /></td>
        </tr>
        <tr id='OLS9CAUJ7Zx'>
            <td id='s:OLS9CAUJ7Zx;OLS9CAyaOYh' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CAUJ7Zx;OLS9CA1wwxv' style='vertical-align: top;'>TransactionCountExceeded
                <br /></td>
            <td id='s:OLS9CAUJ7Zx;OLS9CAjr6bd' style='vertical-align: top;'>You've exceeded the maximum limit of 1 successfully captured Charge per Charge Permission
                <br /></td>
        </tr>
        <tr id='OLS9CAZzJsG'>
            <td id='s:OLS9CAZzJsG;OLS9CAyaOYh' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CAZzJsG;OLS9CA1wwxv' style='vertical-align: top;'>PaymentMethodNotAllowed
                <br /></td>
            <td id='s:OLS9CAZzJsG;OLS9CAjr6bd' style='vertical-align: top;'>The payment method selected by the buyer is not allowed for this Charge
                <br /></td>
        </tr>
        <tr id='OLS9CA3JOWG'>
            <td id='s:OLS9CA3JOWG;OLS9CAyaOYh' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CA3JOWG;OLS9CA1wwxv' style='vertical-align: top;'>AmazonRejected
                <br /></td>
            <td id='s:OLS9CA3JOWG;OLS9CAjr6bd' style='vertical-align: top;'>Charge was declined by Amazon. The associated Charge Permission will also be canceled
                <br /></td>
        </tr>
        <tr id='OLS9CACUZAC'>
            <td id='s:OLS9CACUZAC;OLS9CAyaOYh' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CACUZAC;OLS9CA1wwxv' style='vertical-align: top;'>MFANotCompleted
                <br /></td>
            <td id='s:OLS9CACUZAC;OLS9CAjr6bd' style='vertical-align: top;'>Multi-factor authentication (MFA) is required to be complete by the buyer for this transaction to process
                <br /></td>
        </tr>
        <tr id='OLS9CAfHa80'>
            <td id='s:OLS9CAfHa80;OLS9CAyaOYh' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CAfHa80;OLS9CA1wwxv' style='vertical-align: top;'>TransactionTimedOut
                <br /></td>
            <td id='s:OLS9CAfHa80;OLS9CAjr6bd' style='vertical-align: top;'>If you set <code>canHandlePendingAuthorization</code> to false, the Charge was declined because Amazon Pay did not have enough time to process the authorization. Contact the buyer and have them choose another payment method. If you frequently encounter this decline, consider setting <code>canHandlePendingAuthorization</code> to true<br><br>If you set <code>canHandlePendingAuthorization</code> to true, the Charge was declined because Amazon Pay was unable to determine the validity of the order. Contact the buyer and have them choose another payment method. See <a href="../amazon-pay-checkout/asynchronous-processing.md">asynchronous processing </a>for more information
                <br /></td>
        </tr>
        <tr id='OLS9CAHGJxa'>
            <td id='s:OLS9CADH3Ar;OLS9CAyaOYh' style='vertical-align: top;'>425 TOO_EARLY
                <br /></td>
            <td id='s:OLS9CADH3Ar;OLS9CA1wwxv' style='vertical-align: top;'>TransactionInProgress
                <br /></td>
            <td id='s:OLS9CADH3Ar;OLS9CAjr6bd' style='vertical-align: top;'> A duplicate request was sent with the same idempotency key or a concurrent request was made on the same resource while the original request is still being processed. Wait for the SLA to complete (15 seconds for US, EU, and UK regions; 30 seconds for JP region) before retrying, or check the status of your original request.
                <br /></td>
        </tr>
        <tr id='OLS9CADH3Ar'>
            <td id='s:OLS9CADH3Ar;OLS9CAyaOYh' style='vertical-align: top;'>500 INTERNAL_SERVER_ERROR
                <br /></td>
            <td id='s:OLS9CADH3Ar;OLS9CA1wwxv' style='vertical-align: top;'>ProcessingFailure
                <br /></td>
            <td id='s:OLS9CADH3Ar;OLS9CAjr6bd' style='vertical-align: top;'>Amazon could not process the Charge because of an internal processing error. You should retry the charge only if the Charge Permission is in the Chargeable state
                <br /></td>
        </tr>
    </tbody>
</table>

Generic errors can be found <a href="../amazon-pay-api-v2/error-handling.md" target="_blank" rel="noopener noreferrer">here</a>. 

### Get Charge

Get Charge details such as charge amount and authorization state. Use this operation to determine if authorization or capture was successful.

#### Request


<div style="display:none" class="environmentSpecificKeys">
<code style="color:black">
curl "https://pay-api.amazon.com/:version/charges/:chargeId"<br />
-H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"<br />
-H "x-amz-pay-date:20201012T235046Z"<br />
-X GET <br />
</code>
</div>
<div style="display:none" class="notEnvironmentSpecificKeys">
<code style="color:black">
curl "https://pay-api.amazon.com/:environment/:version/charges/:chargeId"<br />
-H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"<br />
-H "x-amz-pay-date:20201012T235046Z"<br />
-X GET <br />
</code>
</div>

#### Request parameters

<table width="100%" border="1">
    <tbody>
        <tr id='OLS9CAejjWl'>
            <td id='s:OLS9CAejjWl;OLS9CAhZC2S' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>Name
                <br /></td>
            <td id='s:OLS9CAejjWl;OLS9CAkcqjC' style='vertical-align: top; font-weight: bold; width: 20%;' class='bold'>Location
                <br /></td>
            <td id='s:OLS9CAejjWl;OLS9CAs0lqL' style='vertical-align: top; font-weight: bold; width: 50%;' class='bold'>Description
                <br /></td>
        </tr>
        <tr id='OLS9CA2aTjB'>
            <td id='s:OLS9CA2aTjB;OLS9CAhZC2S' style='vertical-align: top;'>chargeId<br><b>(required)</b><br><br>Type: string
                <br /></td>
            <td id='s:OLS9CA2aTjB;OLS9CAkcqjC' style='vertical-align: top;'>Path Parameter
                <br /></td>
            <td id='s:OLS9CA2aTjB;OLS9CAs0lqL' style='vertical-align: top;'>Charge identifier
                <br /></td>
        </tr>
    </tbody>
</table>

#### Response

Returns <a href="https://restfulapi.net/http-status-200-ok" target="_blank" rel="noopener noreferrer">HTTP 200 status response code</a> if the operation was successful.

```
{
     "chargeId": "P21-1111111-1111111-C111111",
     "chargePermissionId": "P21-1111111-1111111",
     "chargeInitiator":"CITU",
     "channel":"Web",
     "chargeAmount": {
         "amount": "14.00",
         "currencyCode": "USD"
     },
     "captureAmount": {
         "amount": "14.00",
         "currencyCode": "USD"
     },
     "refundedAmount": {
         "amount": "0.00",
         "currencyCode": "USD"
     },
     "convertedAmount": "14.00",
     "conversionRate": "1.00",
     "softDescriptor": "Descriptor",
     "merchantMetadata": null,
     "providerMetadata": {
         "providerReferenceId": null
     },
     "statusDetails":{
         "state": "Captured",
         "reasonCode": null,
         "reasonDescription": null,
         "lastUpdatedTimestamp": "20190714T155300Z"
     },
     "creationTimestamp": "20190714T155300Z",
     "expirationTimestamp": "20190715T155300Z",
     "releaseEnvironment": "Sandbox"
}
```

#### Error codes

Generic errors can be found <a href="../amazon-pay-api-v2/error-handling.md" target="_blank" rel="noopener noreferrer">here</a>. 

### Capture Charge

Capture payment on a Charge in the Authorized state. A successful Capture will move the Charge from Authorized to Captured state. The Captured state may be preceded by a temporary CaptureInitiated state if payment was captured more than 7 days after authorization. See <a href="../amazon-pay-checkout/asynchronous-processing.md" target="_blank" rel="noopener noreferrer">asynchronous processing</a> for more information. An unsuccessful Charge will move to a  Declined state if payment was declined. 

#### Request


<div style="display:none" class="environmentSpecificKeys">
<code style="color:black">
curl "https://pay-api.amazon.com/:version/charges/:chargeId/capture" \<br />
-X POST<br />
-H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"<br />
-H "x-amz-pay-date:20201012T235046Z"<br />
-H "x-amz-pay-idempotency-key:AVLo5tI10BHgEk2jEXAMPLEKEY"<br />
-d @request_body<br />
</code>
</div>
<div style="display:none" class="notEnvironmentSpecificKeys">
<code style="color:black">
curl "https://pay-api.amazon.com/:environment/:version/charges/:chargeId/capture" \<br />
-X POST<br />
-H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"<br />
-H "x-amz-pay-date:20201012T235046Z"<br />
-H "x-amz-pay-idempotency-key:AVLo5tI10BHgEk2jEXAMPLEKEY"<br />
-d @request_body<br />
</code>
</div>

#### Request Body

```
{
    "captureAmount": {
        "amount": "14.00",
        "currencyCode": "USD"
    },
    "softDescriptor": "Descriptor"
}
```



#### Request parameters

<table width="100%" border="1">
    <tbody>
        <tr id='OLS9CA6pA4l'>
            <td id='s:OLS9CA6pA4l;OLS9CAhzkNs' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>Name
                <br /></td>
            <td id='s:OLS9CA6pA4l;OLS9CAJL71X' style='vertical-align: top; font-weight: bold; width: 20%;' class='bold'>Location
                <br /></td>
            <td id='s:OLS9CA6pA4l;OLS9CA4PQ93' style='vertical-align: top; font-weight: bold; width: 50%;' class='bold'>Description
                <br /></td>
        </tr>
        <tr id='OLS9CAemvNG'>
            <td id='s:OLS9CAemvNG;OLS9CAhzkNs' style='vertical-align: top;'>x-amz-pay-idempotency-key<br><b>(required)</b><br><br>Type: string
                <br /></td>
            <td id='s:OLS9CAemvNG;OLS9CAJL71X' style='vertical-align: top;'>Header
                <br /></td>
            <td id='s:OLS9CAemvNG;OLS9CA4PQ93' style='vertical-align: top;'><a href="../amazon-pay-api-v2/idempotency.md" target="_blank" rel="noopener noreferrer">Idempotency key</a> to safely retry requests
                <br /></td>
        </tr>
        <tr id='OLS9CAA08br'>
            <td id='s:OLS9CAA08br;OLS9CAhzkNs' style='vertical-align: top;'>chargeId<br><b>(required)</b><br><br>Type: string
                <br /></td>
            <td id='s:OLS9CAA08br;OLS9CAJL71X' style='vertical-align: top;'>Path Parameter
                <br /></td>
            <td id='s:OLS9CAA08br;OLS9CA4PQ93' style='vertical-align: top;'>Charge identifier
                <br /></td>
        </tr>
        <tr id='OLS9CAV9c4k'>
            <td id='s:OLS9CAV9c4k;OLS9CAhzkNs' style='vertical-align: top;'>captureAmount<br><b>(required)</b><br><br>Type: <a href="../amazon-pay-api-v2/charge.md#type-price" target="_blank" rel="noopener noreferrer">price</a>
                <br /></td>
            <td id='s:OLS9CAV9c4k;OLS9CAJL71X' style='vertical-align: top;'>Body
                <br /></td>
            <td id='s:OLS9CAV9c4k;OLS9CA4PQ93' style='vertical-align: top;'>Amount to capture
                <br /></td>
        </tr>
        <tr id='OLS9CAdjcnL'>
            <td id='s:OLS9CAdjcnL;OLS9CAhzkNs' style='vertical-align: top;'>softDescriptor<br><br>Type: string
                <br /></td>
            <td id='s:OLS9CAdjcnL;OLS9CAJL71X' style='vertical-align: top;'>Body
                <br /></td>
            <td id='s:OLS9CAdjcnL;OLS9CA4PQ93' style='vertical-align: top;'>Description shown on the buyer's payment instrument statement.<br><br>The soft descriptor sent to the payment processor is: "AMZ* &lt;soft descriptor specified here&gt;"<br><br>The soft descriptor sent to the payment processor is: "AMZ* &lt;soft descriptor specified here&gt;"<br><br>Default: "AMZ*&lt;SELLER_NAME&gt; pay.amazon.com"<br>Max length: 16 characters/bytes
                <br /></td>
        </tr>
    </tbody>
</table>

#### Response

Returns <a href="https://restfulapi.net/http-status-200-ok" target="_blank" rel="noopener noreferrer">HTTP 200 status response code</a> if the operation was successful.

```
{
     "chargeId": "P21-1111111-1111111-C111111",
     "chargePermissionId": "P21-1111111-1111111",
     "chargeInitiator":"CITU",
     "channel":"Web",
     "chargeAmount":{
         "amount": "14.00",
         "currencyCode": "USD"
     },
     "captureAmount": {
         "amount": "14.00",
         "currencyCode": "USD"
     },
     "refundedAmount": {
         "amount": "0.00",
         "currencyCode": "USD"
     },
     "convertedAmount": "14.00",
     "conversionRate": "1.00",
     "softDescriptor": "Descriptor",
     "merchantMetadata": null,
     "providerMetadata": {
         "providerReferenceId": null
     },
     "statusDetails":{
         "state": "Captured",
         "reasonCode": null,
         "reasonDescription": null,
         "lastUpdatedTimestamp": "20190714T155300Z"
     },
     "creationTimestamp": "20190714T155300Z",
     "expirationTimestamp": "20190715T155300Z",
     "releaseEnvironment": "Sandbox"
}
```

#### Error codes

<table width="100%" border="1">
    <tbody>
        <tr id='OLS9CAOmwe6'>
            <td id='s:OLS9CAOmwe6;OLS9CAK9LKQ' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>HTTP status code
                <br /></td>
            <td id='s:OLS9CAOmwe6;OLS9CA8ifwH' style='vertical-align: top; font-weight: bold; width: 20%;' class='bold'>Reason code
                <br /></td>
            <td id='s:OLS9CAOmwe6;OLS9CAKJ86x' style='vertical-align: top; font-weight: bold; width: 50%;' class='bold'>Description
                <br /></td>
        </tr>
        <tr id='OLS9CAhvifp'>
            <td id='s:OLS9CAhvifp;OLS9CAK9LKQ' style='vertical-align: top;'>400 BAD_REQUEST
                <br /></td>
            <td id='s:OLS9CAhvifp;OLS9CA8ifwH' style='vertical-align: top;'>TransactionAmountExceeded
                <br /></td>
            <td id='s:OLS9CAhvifp;OLS9CAKJ86x' style='vertical-align: top;'>You've exceeded the maximum capture amount allowed for this Charge
                <br /></td>
        </tr>
        <tr id='OLS9CAl9pho'>
            <td id='s:OLS9CAl9pho;OLS9CAK9LKQ' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CAl9pho;OLS9CA8ifwH' style='vertical-align: top;'>TransactionCountExceeded
                <br /></td>
            <td id='s:OLS9CAl9pho;OLS9CAKJ86x' style='vertical-align: top;'>You've exceeded the maximum limit of 1 successfully captured Charge, per Charge Permission
                <br /></td>
        </tr>
        <tr id='OLS9CACj31N'>
            <td id='s:OLS9CACj31N;OLS9CAK9LKQ' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CACj31N;OLS9CA8ifwH' style='vertical-align: top;'>InvalidChargePermissionStatus
                <br /></td>
            <td id='s:OLS9CACj31N;OLS9CAKJ86x' style='vertical-align: top;'>You tried to call an operation on a Charge Permission that is in a state where that operation cannot be called
                <br /></td>
        </tr>
        <tr id='OLS9CAZtymN'>
            <td id='s:OLS9CAZtymN;OLS9CAK9LKQ' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CAZtymN;OLS9CA8ifwH' style='vertical-align: top;'>InvalidChargeStatus
                <br /></td>
            <td id='s:OLS9CAZtymN;OLS9CAKJ86x' style='vertical-align: top;'>You tried to call an operation on a Charge that is in a state where that operation cannot be called
                <br /></td>
        </tr>
        <tr id='OLS9CASUEFC'>
            <td id='s:OLS9CASUEFC;OLS9CAK9LKQ' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CASUEFC;OLS9CA8ifwH' style='vertical-align: top;'>AmazonRejected
                <br /></td>
            <td id='s:OLS9CASUEFC;OLS9CAKJ86x' style='vertical-align: top;'>Charge was declined by Amazon. The associated Charge Permission will also be canceled
                <br /></td>
        </tr>
        <tr id='OLS9CAU0TEn'>
            <td id='s:OLS9CAU0TEn;OLS9CAK9LKQ' style='vertical-align: top;'>500 INTERNAL_SERVER_ERROR
                <br /></td>
            <td id='s:OLS9CAU0TEn;OLS9CA8ifwH' style='vertical-align: top;'>ProcessingFailure
                <br /></td>
            <td id='s:OLS9CAU0TEn;OLS9CAKJ86x' style='vertical-align: top;'>Amazon could not process the Charge because of an internal processing error. You should retry the Charge only if the Charge Permission is in the Chargeable state
                <br /></td>
        </tr>
    </tbody>
</table>

Generic errors can be found <a href="../amazon-pay-api-v2/error-handling.md" target="_blank" rel="noopener noreferrer">here</a>. 

### Cancel Charge

Moves Charge to Canceled state and releases any authorized payments. You can call this operation until Capture is initiated while Charge is in an AuthorizationInitiated or Authorized state.

#### Request


<div style="display:none" class="environmentSpecificKeys">
<code style="color:black">
curl "https://pay-api.amazon.com/:version/charges/:chargeId/cancel" \<br />
-X DELETE<br />
-H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"<br />
-H "x-amz-pay-date:20201012T235046Z"<br />
-d @request_body<br />
</code>
</div>
<div style="display:none" class="notEnvironmentSpecificKeys">
<code style="color:black">
curl "https://pay-api.amazon.com/:environment/:version/charges/:chargeId/cancel" \<br />
-X DELETE<br />
-H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"<br />
-H "x-amz-pay-date:20201012T235046Z"<br />
-d @request_body<br />
</code>
</div>

#### Request body

```
{
    "cancellationReason": "REASON DESCRIPTION"
}
```



#### Request parameters

<table width="100%" border="1">
    <tbody>
        <tr id='OLS9CAMXNao'>
            <td id='s:OLS9CAMXNao;OLS9CAjRf1k' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>Name
                <br /></td>
            <td id='s:OLS9CAMXNao;OLS9CAtwVve' style='vertical-align: top; font-weight: bold; width: 20%;' class='bold'>Location
                <br /></td>
            <td id='s:OLS9CAMXNao;OLS9CA9XFWA' style='vertical-align: top; font-weight: bold; width: 50%;' class='bold'>Description
                <br /></td>
        </tr>
        <tr id='OLS9CAgOt4j'>
            <td id='s:OLS9CAgOt4j;OLS9CAjRf1k' style='vertical-align: top;'>chargeId<br><b>(required)</b><br><br>Type: string
                <br /></td>
            <td id='s:OLS9CAgOt4j;OLS9CAtwVve' style='vertical-align: top;'>Path Parameter
                <br /></td>
            <td id='s:OLS9CAgOt4j;OLS9CA9XFWA' style='vertical-align: top;'>Charge identifier
                <br /></td>
        </tr>
        <tr id='OLS9CAAywZZ'>
            <td id='s:OLS9CAAywZZ;OLS9CAjRf1k' style='vertical-align: top;'>cancellationReason<br><br>Type: string
                <br /></td>
            <td id='s:OLS9CAAywZZ;OLS9CAtwVve' style='vertical-align: top;'>Body
                <br /></td>
            <td id='s:OLS9CAAywZZ;OLS9CA9XFWA' style='vertical-align: top;'>Merchant-provided reason for canceling Charge<br><br>Max length: 255 characters/bytes
                <br /></td>
        </tr>
    </tbody>
</table>

#### Response

Returns <a href="https://restfulapi.net/http-status-200-ok" target="_blank" rel="noopener noreferrer">HTTP 200 status response code</a> if the operation was successful.

```
{
     "chargeId": "P21-1111111-1111111-C111111",
     "chargePermissionId": "P21-1111111-1111111",
     "chargeInitiator":"CITU",
     "channel":"Web",
     "chargeAmount":{
         "amount": "14.00",
         "currencyCode": "USD"
     },
     "captureAmount": {
         "amount": "14.00",
         "currencyCode": "USD"
     },
     "refundedAmount": {
         "amount": "0.00",
         "currencyCode": "USD"
     },
     "convertedAmount": "14.00",
     "conversionRate": "1.00",
     "softDescriptor": "SOFT DESCRIPTOR",
     "merchantMetadata": null,
     "providerMetadata": {
         "providerReferenceId": null
     },
     "statusDetails":{
         "state": "Canceled",
         "reasonCode": null,
         "reasonDescription": null,
         "lastUpdatedTimestamp": "20190714T155300Z"
     },
     "creationTimestamp": "20190714T155300Z",
     "expirationTimestamp": "20190715T155300Z",
     "releaseEnvironment": "Sandbox"
}
```

#### Error codes

<table width="100%" border="1">
    <tbody>
        <tr id='OLS9CAdjj3J'>
            <td id='s:OLS9CAdjj3J;OLS9CA9Lmwx' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>HTTP status code
                <br /></td>
            <td id='s:OLS9CAdjj3J;OLS9CAPMeFi' style='vertical-align: top; font-weight: bold; width: 20%;' class='bold'>Reason code
                <br /></td>
            <td id='s:OLS9CAdjj3J;OLS9CAG5toj' style='vertical-align: top; font-weight: bold; width: 50%;' class='bold'>Description
                <br /></td>
        </tr>
        <tr id='OLS9CATroAI'>
            <td id='s:OLS9CATroAI;OLS9CA9Lmwx' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CATroAI;OLS9CAPMeFi' style='vertical-align: top;'>InvalidChargePermissionStatus
                <br /></td>
            <td id='s:OLS9CATroAI;OLS9CAG5toj' style='vertical-align: top;'>You tried to call an operation on a Charge Permission that is in a state where that operation cannot be called
                <br /></td>
        </tr>
        <tr id='OLS9CAnoHHh'>
            <td id='s:OLS9CAnoHHh;OLS9CA9Lmwx' style='vertical-align: top;'>422 UNPROCESSABLE_ENTITY
                <br /></td>
            <td id='s:OLS9CAnoHHh;OLS9CAPMeFi' style='vertical-align: top;'>InvalidChargeStatus
                <br /></td>
            <td id='s:OLS9CAnoHHh;OLS9CAG5toj' style='vertical-align: top;'>You tried to call an operation on a Charge that is in a state where that operation cannot be called
                <br /></td>
        </tr>
    </tbody>
</table>

Generic errors can be found <a href="../amazon-pay-api-v2/error-handling.md" target="_blank" rel="noopener noreferrer">here</a>. 

### Related topics

* [Charge permission object](charge-permission.html)
* [Refund object](../amazon-pay-api-v2/refund.html)




