Stripe · Schema

Stripe Charge

The Charge object represents a single attempt to move money into your Stripe account. PaymentIntent confirmation is the most common way to create Charges.

CommerceFinancial ServicesFintechPaymentsT1

Properties

Name Type Description
id string Unique identifier for the object.
object string String representing the object's type.
amount integer Amount intended to be collected by this payment. A positive integer representing how much to charge in the smallest currency unit.
amount_captured integer Amount in cents captured.
amount_refunded integer Amount in cents refunded.
application stringnull ID of the Connect application that created the charge.
application_fee stringnull The application fee (if any) for the charge.
application_fee_amount integernull The amount of the application fee (if any) requested for the charge.
balance_transaction stringnull ID of the balance transaction that describes the impact of this charge on your account balance.
billing_details object Billing information associated with the payment method at the time of the transaction.
calculated_statement_descriptor stringnull The full statement descriptor that is passed to card networks.
captured boolean If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured.
created integer Time at which the object was created.
currency string Three-letter ISO currency code, in lowercase.
customer stringnull ID of the customer this charge is for if one exists.
description stringnull An arbitrary string attached to the object.
disputed boolean Whether the charge has been disputed.
failure_balance_transaction stringnull ID of the balance transaction that describes the reversal of the balance on your account due to payment failure.
failure_code stringnull Error code explaining reason for charge failure.
failure_message stringnull Message to user further explaining reason for charge failure.
fraud_details objectnull Information on fraud assessments for the charge.
invoice stringnull ID of the invoice this charge is for if one exists.
livemode boolean Has the value true if the object exists in live mode.
metadata object Set of key-value pairs that you can attach to an object.
on_behalf_of stringnull The account (if any) the charge was made on behalf of.
outcome objectnull Details about whether the payment was accepted and why.
paid boolean true if the charge succeeded, or was successfully authorized for later capture.
payment_intent stringnull ID of the PaymentIntent associated with this charge, if one exists.
payment_method stringnull ID of the payment method used in this charge.
payment_method_details objectnull Details about the payment method at the time of the transaction.
receipt_email stringnull This is the email address that the receipt for this charge was sent to.
receipt_number stringnull This is the transaction number that appears on email receipts sent for this charge.
receipt_url stringnull This is the URL to view the receipt for this charge.
refunded boolean Whether the charge has been fully refunded.
refunds object A list of refunds that have been applied to the charge.
review stringnull ID of the review associated with this charge if one exists.
shipping objectnull Shipping information for the charge.
source objectnull This is a legacy field that will be removed in the future.
source_transfer stringnull The transfer ID which created this charge.
statement_descriptor stringnull For card charges, use statement_descriptor_suffix.
statement_descriptor_suffix stringnull Provides information about the charge that customers see on their statements.
status string The status of the payment.
transfer_data objectnull An optional dictionary including the account to automatically transfer to as part of a destination charge.
transfer_group stringnull A string that identifies this transaction as part of a group.
View JSON Schema on GitHub

JSON Schema

stripe-charge.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://stripe.com/schemas/charge",
  "title": "Stripe Charge",
  "description": "The Charge object represents a single attempt to move money into your Stripe account. PaymentIntent confirmation is the most common way to create Charges.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the object.",
      "pattern": "^ch_"
    },
    "object": {
      "type": "string",
      "const": "charge",
      "description": "String representing the object's type."
    },
    "amount": {
      "type": "integer",
      "description": "Amount intended to be collected by this payment. A positive integer representing how much to charge in the smallest currency unit."
    },
    "amount_captured": {
      "type": "integer",
      "description": "Amount in cents captured."
    },
    "amount_refunded": {
      "type": "integer",
      "description": "Amount in cents refunded."
    },
    "application": {
      "type": ["string", "null"],
      "description": "ID of the Connect application that created the charge."
    },
    "application_fee": {
      "type": ["string", "null"],
      "description": "The application fee (if any) for the charge."
    },
    "application_fee_amount": {
      "type": ["integer", "null"],
      "description": "The amount of the application fee (if any) requested for the charge."
    },
    "balance_transaction": {
      "type": ["string", "null"],
      "description": "ID of the balance transaction that describes the impact of this charge on your account balance."
    },
    "billing_details": {
      "type": "object",
      "description": "Billing information associated with the payment method at the time of the transaction.",
      "properties": {
        "address": {
          "type": ["object", "null"],
          "properties": {
            "city": { "type": ["string", "null"] },
            "country": { "type": ["string", "null"] },
            "line1": { "type": ["string", "null"] },
            "line2": { "type": ["string", "null"] },
            "postal_code": { "type": ["string", "null"] },
            "state": { "type": ["string", "null"] }
          }
        },
        "email": { "type": ["string", "null"] },
        "name": { "type": ["string", "null"] },
        "phone": { "type": ["string", "null"] }
      }
    },
    "calculated_statement_descriptor": {
      "type": ["string", "null"],
      "description": "The full statement descriptor that is passed to card networks."
    },
    "captured": {
      "type": "boolean",
      "description": "If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured."
    },
    "created": {
      "type": "integer",
      "description": "Time at which the object was created."
    },
    "currency": {
      "type": "string",
      "description": "Three-letter ISO currency code, in lowercase."
    },
    "customer": {
      "type": ["string", "null"],
      "description": "ID of the customer this charge is for if one exists."
    },
    "description": {
      "type": ["string", "null"],
      "description": "An arbitrary string attached to the object."
    },
    "disputed": {
      "type": "boolean",
      "description": "Whether the charge has been disputed."
    },
    "failure_balance_transaction": {
      "type": ["string", "null"],
      "description": "ID of the balance transaction that describes the reversal of the balance on your account due to payment failure."
    },
    "failure_code": {
      "type": ["string", "null"],
      "description": "Error code explaining reason for charge failure."
    },
    "failure_message": {
      "type": ["string", "null"],
      "description": "Message to user further explaining reason for charge failure."
    },
    "fraud_details": {
      "type": ["object", "null"],
      "description": "Information on fraud assessments for the charge."
    },
    "invoice": {
      "type": ["string", "null"],
      "description": "ID of the invoice this charge is for if one exists."
    },
    "livemode": {
      "type": "boolean",
      "description": "Has the value true if the object exists in live mode."
    },
    "metadata": {
      "type": "object",
      "description": "Set of key-value pairs that you can attach to an object.",
      "additionalProperties": { "type": "string" }
    },
    "on_behalf_of": {
      "type": ["string", "null"],
      "description": "The account (if any) the charge was made on behalf of."
    },
    "outcome": {
      "type": ["object", "null"],
      "description": "Details about whether the payment was accepted and why.",
      "properties": {
        "network_status": { "type": ["string", "null"] },
        "reason": { "type": ["string", "null"] },
        "risk_level": { "type": ["string", "null"] },
        "risk_score": { "type": ["integer", "null"] },
        "rule": { "type": ["string", "object", "null"] },
        "seller_message": { "type": ["string", "null"] },
        "type": { "type": "string" }
      }
    },
    "paid": {
      "type": "boolean",
      "description": "true if the charge succeeded, or was successfully authorized for later capture."
    },
    "payment_intent": {
      "type": ["string", "null"],
      "description": "ID of the PaymentIntent associated with this charge, if one exists."
    },
    "payment_method": {
      "type": ["string", "null"],
      "description": "ID of the payment method used in this charge."
    },
    "payment_method_details": {
      "type": ["object", "null"],
      "description": "Details about the payment method at the time of the transaction."
    },
    "receipt_email": {
      "type": ["string", "null"],
      "description": "This is the email address that the receipt for this charge was sent to."
    },
    "receipt_number": {
      "type": ["string", "null"],
      "description": "This is the transaction number that appears on email receipts sent for this charge."
    },
    "receipt_url": {
      "type": ["string", "null"],
      "description": "This is the URL to view the receipt for this charge."
    },
    "refunded": {
      "type": "boolean",
      "description": "Whether the charge has been fully refunded."
    },
    "refunds": {
      "type": "object",
      "description": "A list of refunds that have been applied to the charge."
    },
    "review": {
      "type": ["string", "null"],
      "description": "ID of the review associated with this charge if one exists."
    },
    "shipping": {
      "type": ["object", "null"],
      "description": "Shipping information for the charge."
    },
    "source": {
      "type": ["object", "null"],
      "description": "This is a legacy field that will be removed in the future."
    },
    "source_transfer": {
      "type": ["string", "null"],
      "description": "The transfer ID which created this charge."
    },
    "statement_descriptor": {
      "type": ["string", "null"],
      "description": "For card charges, use statement_descriptor_suffix."
    },
    "statement_descriptor_suffix": {
      "type": ["string", "null"],
      "description": "Provides information about the charge that customers see on their statements."
    },
    "status": {
      "type": "string",
      "description": "The status of the payment.",
      "enum": ["failed", "pending", "succeeded"]
    },
    "transfer_data": {
      "type": ["object", "null"],
      "description": "An optional dictionary including the account to automatically transfer to as part of a destination charge."
    },
    "transfer_group": {
      "type": ["string", "null"],
      "description": "A string that identifies this transaction as part of a group."
    }
  },
  "required": [
    "id",
    "object",
    "amount",
    "amount_captured",
    "amount_refunded",
    "billing_details",
    "captured",
    "created",
    "currency",
    "disputed",
    "livemode",
    "metadata",
    "paid",
    "refunded",
    "status"
  ]
}