Stripe · Schema

PostChargesRequest

CommerceFinancial ServicesFintechPaymentsT1StripeAgentic CommercePoint-of-SalePayment Processing

Properties

Name Type Description
amount integer Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to
application_fee integer
application_fee_amount integer A fee in cents (or local equivalent) that will be applied to the charge and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the `Stripe-Account` he
capture boolean Whether to immediately capture the charge. Defaults to `true`. When `false`, the charge issues an authorization (or pre-authorization), and will need to be [captured](https://stripe.com/docs/api#captu
card object A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js).
currency string Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
customer string The ID of an existing customer that will be charged in this request.
description string An arbitrary string which you can attach to a `Charge` object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your cust
destination object
expand array Specifies which fields in the response should be expanded.
metadata object Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individu
on_behalf_of string The Stripe account ID for which these funds are intended. Automatically set if you use the `destination` parameter. For details, see [Creating Separate Charges and Transfers](https://stripe.com/docs/c
radar_options object Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
receipt_email string The email address to which this charge's [receipt](https://stripe.com/docs/dashboard/receipts) will be sent. The receipt will not be sent until the charge is paid, and no receipts will be sent for tes
shipping object Shipping information for the charge. Helps prevent fraud on charges for physical goods.
source string A payment source to be charged. This can be the ID of a [card](https://stripe.com/docs/api#cards) (i.e., credit or debit card), a [bank account](https://stripe.com/docs/api#bank_accounts), a [source](
statement_descriptor string For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter,
statement_descriptor_suffix string Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete
transfer_data object An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for deta
transfer_group string A string that identifies this transaction as part of a group. For details, see [Grouping transactions](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options).
View JSON Schema on GitHub

JSON Schema

stripe-post-charges-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/stripe/main/json-schema/stripe-post-charges-request-schema.json",
  "title": "PostChargesRequest",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stripe-charges-api-openapi.yml#/components/schemas/PostChargesRequest",
  "type": "object",
  "properties": {
    "amount": {
      "description": "Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).",
      "type": "integer"
    },
    "application_fee": {
      "type": "integer"
    },
    "application_fee_amount": {
      "description": "A fee in cents (or local equivalent) that will be applied to the charge and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the `Stripe-Account` header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees).",
      "type": "integer"
    },
    "capture": {
      "description": "Whether to immediately capture the charge. Defaults to `true`. When `false`, the charge issues an authorization (or pre-authorization), and will need to be [captured](https://stripe.com/docs/api#capture_charge) later. Uncaptured charges expire after a set number of days (7 by default). For more information, see the [authorizing charges and settling later](https://stripe.com/docs/charges/placing-a-hold) documentation.",
      "type": "boolean"
    },
    "card": {
      "anyOf": [
        {
          "properties": {
            "address_city": {
              "maxLength": 5000,
              "type": "string"
            },
            "address_country": {
              "maxLength": 5000,
              "type": "string"
            },
            "address_line1": {
              "maxLength": 5000,
              "type": "string"
            },
            "address_line2": {
              "maxLength": 5000,
              "type": "string"
            },
            "address_state": {
              "maxLength": 5000,
              "type": "string"
            },
            "address_zip": {
              "maxLength": 5000,
              "type": "string"
            },
            "cvc": {
              "maxLength": 5000,
              "type": "string"
            },
            "exp_month": {
              "type": "integer"
            },
            "exp_year": {
              "type": "integer"
            },
            "metadata": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "name": {
              "maxLength": 5000,
              "type": "string"
            },
            "number": {
              "maxLength": 5000,
              "type": "string"
            },
            "object": {
              "enum": [
                "card"
              ],
              "maxLength": 5000,
              "type": "string"
            }
          },
          "required": [
            "exp_month",
            "exp_year",
            "number"
          ],
          "title": "customer_payment_source_card",
          "type": "object"
        },
        {
          "maxLength": 5000,
          "type": "string"
        }
      ],
      "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js).",
      "x-stripeBypassValidation": true
    },
    "currency": {
      "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
      "type": "string"
    },
    "customer": {
      "description": "The ID of an existing customer that will be charged in this request.",
      "maxLength": 500,
      "type": "string"
    },
    "description": {
      "description": "An arbitrary string which you can attach to a `Charge` object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing.",
      "maxLength": 40000,
      "type": "string"
    },
    "destination": {
      "anyOf": [
        {
          "properties": {
            "account": {
              "maxLength": 5000,
              "type": "string"
            },
            "amount": {
              "type": "integer"
            }
          },
          "required": [
            "account"
          ],
          "title": "destination_specs",
          "type": "object"
        },
        {
          "type": "string"
        }
      ]
    },
    "expand": {
      "description": "Specifies which fields in the response should be expanded.",
      "items": {
        "maxLength": 5000,
        "type": "string"
      },
      "type": "array"
    },
    "metadata": {
      "anyOf": [
        {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        {
          "enum": [
            ""
          ],
          "type": "string"
        }
      ],
      "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
    },
    "on_behalf_of": {
      "description": "The Stripe account ID for which these funds are intended. Automatically set if you use the `destination` parameter. For details, see [Creating Separate Charges and Transfers](https://stripe.com/docs/connect/separate-charges-and-transfers#on-behalf-of).",
      "maxLength": 5000,
      "type": "string"
    },
    "radar_options": {
      "description": "Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.",
      "properties": {
        "session": {
          "maxLength": 5000,
          "type": "string"
        }
      },
      "title": "radar_options_with_hidden_options",
      "type": "object"
    },
    "receipt_email": {
      "description": "The email address to which this charge's [receipt](https://stripe.com/docs/dashboard/receipts) will be sent. The receipt will not be sent until the charge is paid, and no receipts will be sent for test mode charges. If this charge is for a [Customer](https://stripe.com/docs/api/customers/object), the email address specified here will override the customer's email address. If `receipt_email` is specified for a charge in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails).",
      "type": "string"
    },
    "shipping": {
      "description": "Shipping information for the charge. Helps prevent fraud on charges for physical goods.",
      "properties": {
        "address": {
          "properties": {
            "city": {
              "maxLength": 5000,
              "type": "string"
            },
            "country": {
              "maxLength": 5000,
              "type": "string"
            },
            "line1": {
              "maxLength": 5000,
              "type": "string"
            },
            "line2": {
              "maxLength": 5000,
              "type": "string"
            },
            "postal_code": {
              "maxLength": 5000,
              "type": "string"
            },
            "state": {
              "maxLength": 5000,
              "type": "string"
            }
          },
          "title": "optional_fields_address",
          "type": "object"
        },
        "carrier": {
          "maxLength": 5000,
          "type": "string"
        },
        "name": {
          "maxLength": 5000,
          "type": "string"
        },
        "phone": {
          "maxLength": 5000,
          "type": "string"
        },
        "tracking_number": {
          "maxLength": 5000,
          "type": "string"
        }
      },
      "required": [
        "address",
        "name"
      ],
      "title": "optional_fields_shipping",
      "type": "object"
    },
    "source": {
      "description": "A payment source to be charged. This can be the ID of a [card](https://stripe.com/docs/api#cards) (i.e., credit or debit card), a [bank account](https://stripe.com/docs/api#bank_accounts), a [source](https://stripe.com/docs/api#sources), a [token](https://stripe.com/docs/api#tokens), or a [connected account](https://stripe.com/docs/connect/account-debits#charging-a-connected-account). For certain sourcesnamely, [cards](https://stripe.com/docs/api#cards), [bank accounts](https://stripe.com/docs/api#bank_accounts), and attached [sources](https://stripe.com/docs/api#sources)you must also pass the ID of the associated customer.",
      "maxLength": 5000,
      "type": "string",
      "x-stripeBypassValidation": true
    },
    "statement_descriptor": {
      "description": "For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters.",
      "maxLength": 22,
      "type": "string"
    },
    "statement_descriptor_suffix": {
      "description": "Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.",
      "maxLength": 22,
      "type": "string"
    },
    "transfer_data": {
      "description": "An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.",
      "properties": {
        "amount": {
          "type": "integer"
        },
        "destination": {
          "maxLength": 5000,
          "type": "string"
        }
      },
      "required": [
        "destination"
      ],
      "title": "transfer_data_specs",
      "type": "object"
    },
    "transfer_group": {
      "description": "A string that identifies this transaction as part of a group. For details, see [Grouping transactions](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options).",
      "type": "string"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/stripe-post-charges-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.