Stripe · Schema

Stripe Payment Intent

A PaymentIntent guides you through the process of collecting a payment from your customer. It tracks charge attempts and payment state changes throughout the process.

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 PaymentIntent. A positive integer representing how much to charge in the smallest currency unit.
amount_capturable integer Amount that can be captured from this PaymentIntent.
amount_received integer Amount that this PaymentIntent collected.
application stringnull ID of the Connect application that created the PaymentIntent.
application_fee_amount integernull The amount of the application fee for the resulting payment.
automatic_payment_methods objectnull Settings to configure compatible payment methods from the Stripe Dashboard.
canceled_at integernull Populated when status is canceled, this is the time at which the PaymentIntent was canceled.
cancellation_reason stringnull Reason for cancellation of this PaymentIntent.
capture_method string Controls when the funds are captured from the customer's account.
client_secret stringnull The client secret of this PaymentIntent.
confirmation_method string Describes whether we can confirm this PaymentIntent automatically or if it requires customer action.
created integer Time at which the object was created. Measured in seconds since the Unix epoch.
currency string Three-letter ISO currency code, in lowercase.
customer stringnull ID of the Customer this PaymentIntent belongs to.
description stringnull An arbitrary string attached to the object.
invoice stringnull ID of the invoice that created this PaymentIntent, if it exists.
last_payment_error objectnull The payment error encountered in the previous PaymentIntent confirmation.
latest_charge stringnull The latest charge created by this PaymentIntent.
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.
next_action objectnull If present, this property tells you what actions you need to take in order for your customer to fulfill a payment.
on_behalf_of stringnull The account (if any) for which the funds of the PaymentIntent are intended.
payment_method stringnull ID of the payment method used in this PaymentIntent.
payment_method_options objectnull Payment-method-specific configuration for this PaymentIntent.
payment_method_types array The list of payment method types that this PaymentIntent is allowed to use.
processing objectnull If present, this property tells you about the processing state of the payment.
receipt_email stringnull Email address that the receipt for the resulting payment will be sent to.
review stringnull ID of the review associated with this PaymentIntent, if any.
setup_future_usage stringnull Indicates that you intend to make future payments with this PaymentIntent's payment method.
shipping objectnull Shipping information for this PaymentIntent.
statement_descriptor stringnull For card charges, use statement_descriptor_suffix. Otherwise, you can use this value as the complete description of a charge on your customers' statements.
statement_descriptor_suffix stringnull Provides information about a card payment that customers see on their statements.
status string Status of this PaymentIntent.
transfer_data objectnull The data that automatically creates a Transfer after the payment finalizes.
transfer_group stringnull A string that identifies the resulting payment as part of a group.
View JSON Schema on GitHub

JSON Schema

stripe-payment-intent.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://stripe.com/schemas/payment-intent",
  "title": "Stripe Payment Intent",
  "description": "A PaymentIntent guides you through the process of collecting a payment from your customer. It tracks charge attempts and payment state changes throughout the process.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the object.",
      "pattern": "^pi_"
    },
    "object": {
      "type": "string",
      "const": "payment_intent",
      "description": "String representing the object's type."
    },
    "amount": {
      "type": "integer",
      "description": "Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit."
    },
    "amount_capturable": {
      "type": "integer",
      "description": "Amount that can be captured from this PaymentIntent."
    },
    "amount_received": {
      "type": "integer",
      "description": "Amount that this PaymentIntent collected."
    },
    "application": {
      "type": ["string", "null"],
      "description": "ID of the Connect application that created the PaymentIntent."
    },
    "application_fee_amount": {
      "type": ["integer", "null"],
      "description": "The amount of the application fee for the resulting payment."
    },
    "automatic_payment_methods": {
      "type": ["object", "null"],
      "description": "Settings to configure compatible payment methods from the Stripe Dashboard.",
      "properties": {
        "allow_redirects": {
          "type": "string",
          "enum": ["always", "never"]
        },
        "enabled": {
          "type": "boolean"
        }
      }
    },
    "canceled_at": {
      "type": ["integer", "null"],
      "description": "Populated when status is canceled, this is the time at which the PaymentIntent was canceled."
    },
    "cancellation_reason": {
      "type": ["string", "null"],
      "description": "Reason for cancellation of this PaymentIntent.",
      "enum": ["abandoned", "automatic", "duplicate", "failed_invoice", "fraudulent", "requested_by_customer", "void_invoice", null]
    },
    "capture_method": {
      "type": "string",
      "description": "Controls when the funds are captured from the customer's account.",
      "enum": ["automatic", "automatic_async", "manual"]
    },
    "client_secret": {
      "type": ["string", "null"],
      "description": "The client secret of this PaymentIntent."
    },
    "confirmation_method": {
      "type": "string",
      "description": "Describes whether we can confirm this PaymentIntent automatically or if it requires customer action.",
      "enum": ["automatic", "manual"]
    },
    "created": {
      "type": "integer",
      "description": "Time at which the object was created. Measured in seconds since the Unix epoch."
    },
    "currency": {
      "type": "string",
      "description": "Three-letter ISO currency code, in lowercase."
    },
    "customer": {
      "type": ["string", "null"],
      "description": "ID of the Customer this PaymentIntent belongs to."
    },
    "description": {
      "type": ["string", "null"],
      "description": "An arbitrary string attached to the object."
    },
    "invoice": {
      "type": ["string", "null"],
      "description": "ID of the invoice that created this PaymentIntent, if it exists."
    },
    "last_payment_error": {
      "type": ["object", "null"],
      "description": "The payment error encountered in the previous PaymentIntent confirmation.",
      "properties": {
        "charge": { "type": ["string", "null"] },
        "code": { "type": ["string", "null"] },
        "decline_code": { "type": ["string", "null"] },
        "doc_url": { "type": ["string", "null"] },
        "message": { "type": ["string", "null"] },
        "param": { "type": ["string", "null"] },
        "payment_method": { "type": ["object", "null"] },
        "type": {
          "type": "string",
          "enum": ["api_error", "card_error", "idempotency_error", "invalid_request_error"]
        }
      }
    },
    "latest_charge": {
      "type": ["string", "null"],
      "description": "The latest charge created by this PaymentIntent."
    },
    "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"
      }
    },
    "next_action": {
      "type": ["object", "null"],
      "description": "If present, this property tells you what actions you need to take in order for your customer to fulfill a payment."
    },
    "on_behalf_of": {
      "type": ["string", "null"],
      "description": "The account (if any) for which the funds of the PaymentIntent are intended."
    },
    "payment_method": {
      "type": ["string", "null"],
      "description": "ID of the payment method used in this PaymentIntent."
    },
    "payment_method_options": {
      "type": ["object", "null"],
      "description": "Payment-method-specific configuration for this PaymentIntent."
    },
    "payment_method_types": {
      "type": "array",
      "description": "The list of payment method types that this PaymentIntent is allowed to use.",
      "items": {
        "type": "string"
      }
    },
    "processing": {
      "type": ["object", "null"],
      "description": "If present, this property tells you about the processing state of the payment."
    },
    "receipt_email": {
      "type": ["string", "null"],
      "description": "Email address that the receipt for the resulting payment will be sent to."
    },
    "review": {
      "type": ["string", "null"],
      "description": "ID of the review associated with this PaymentIntent, if any."
    },
    "setup_future_usage": {
      "type": ["string", "null"],
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.",
      "enum": ["off_session", "on_session", null]
    },
    "shipping": {
      "type": ["object", "null"],
      "description": "Shipping information for this PaymentIntent."
    },
    "statement_descriptor": {
      "type": ["string", "null"],
      "description": "For card charges, use statement_descriptor_suffix. Otherwise, you can use this value as the complete description of a charge on your customers' statements."
    },
    "statement_descriptor_suffix": {
      "type": ["string", "null"],
      "description": "Provides information about a card payment that customers see on their statements."
    },
    "status": {
      "type": "string",
      "description": "Status of this PaymentIntent.",
      "enum": [
        "canceled",
        "processing",
        "requires_action",
        "requires_capture",
        "requires_confirmation",
        "requires_payment_method",
        "succeeded"
      ]
    },
    "transfer_data": {
      "type": ["object", "null"],
      "description": "The data that automatically creates a Transfer after the payment finalizes."
    },
    "transfer_group": {
      "type": ["string", "null"],
      "description": "A string that identifies the resulting payment as part of a group."
    }
  },
  "required": [
    "id",
    "object",
    "amount",
    "capture_method",
    "confirmation_method",
    "created",
    "currency",
    "livemode",
    "metadata",
    "payment_method_types",
    "status"
  ]
}