> ## Documentation Index
> Fetch the complete documentation index at: https://docs.r28.ai/charter/llms.txt
> Use this file to discover all available pages before exploring further.

# payment_intents_create

> Start a payment. With `capture_method` set to 'manual' this authorises the card and holds the funds without taking them, to capture once the order ships.

<div className="tool-route"><span className="tool-row-method" data-method="POST">POST</span><code>{"https://api.stripe.com/v1/payment_intents"}</code></div>

```python stripe_payment_intents_create.py theme={null}
from charter.packs import stripe

result = await stripe.payment_intents_create.ainvoke({"amount": ..., "currency": ...})
```

## Body

<div className="reference-table">
  | Field                                                            | Type                                                                                             | Description                                                                                                                                                                                                                                                                      |
  | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `amount` <span className="required" title="required">\*</span>   | `integer`                                                                                        | The amount to collect, in the smallest currency unit. Stripe enforces a minimum of roughly fifty cents. Cents, not dollars: \$15.00 is 1500, and 15 collects fifteen cents. Multiply a decimal amount by 100. <span className="field-constraints">≥ 1</span>                     |
  | `currency` <span className="required" title="required">\*</span> | `string`                                                                                         | Three-letter lowercase ISO currency code.                                                                                                                                                                                                                                        |
  | `customer`                                                       | `string`                                                                                         | The customer to charge. A payment method attached to a different customer cannot be used.                                                                                                                                                                                        |
  | `paymentMethod`                                                  | `string`                                                                                         | The payment method to charge. If it belongs to a customer, name that customer too.                                                                                                                                                                                               |
  | `captureMethod`                                                  | [CaptureMethod](/charter/charter/packs/stripe/payment_intents/objects#capturemethod)                     | 'manual' authorises the card and holds the funds for a later capture. Absent, Stripe captures as soon as the customer authorises.                                                                                                                                                |
  | `confirm`                                                        | `boolean`                                                                                        | Attempt the payment immediately rather than leaving the intent for the client to confirm. Needs either `return_url` or `automatic_payment_methods` with `allow_redirects='never'`, since the account's enabled payment methods may include ones that send the customer off-site. |
  | `automaticPaymentMethods`                                        | [AutomaticPaymentMethods](/charter/charter/packs/stripe/payment_intents/objects#automaticpaymentmethods) | Which payment methods to offer. Send `&#123;'enabled': true, 'allow_redirects': 'never'&#125;` to confirm a payment here without a return URL.                                                                                                                                   |
  | `returnUrl`                                                      | `string`                                                                                         | Where to send the customer back to after a payment method that redirects. Required by a `confirm` that allows redirects.                                                                                                                                                         |
  | `offSession`                                                     | `boolean`                                                                                        | The customer is not present. Only meaningful alongside `confirm`.                                                                                                                                                                                                                |
  | `description`                                                    | `string`                                                                                         | An internal note on the payment.                                                                                                                                                                                                                                                 |
  | `receiptEmail`                                                   | `string`                                                                                         | Email a receipt here. In live mode this sends regardless of your email settings.                                                                                                                                                                                                 |
  | `metadata`                                                       | map of `string`                                                                                  | Set of key-value pairs attached to the payment.                                                                                                                                                                                                                                  |
</div>
