object internal_card
{
  "type": "object",
  "title": "internal_card",
  "properties": {
    "brand": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Brand of the card used in the transaction"
    },
    "last4": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The last 4 digits of the card"
    },
    "country": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Two-letter ISO code representing the country of the card"
    },
    "exp_year": {
      "type": "integer",
      "nullable": true,
      "description": "Two digit number representing the card's expiration year"
    },
    "exp_month": {
      "type": "integer",
      "nullable": true,
      "description": "Two digit number representing the card's expiration month"
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice
{
  "type": "object",
  "title": "Invoice",
  "required": [
    "amount_due",
    "amount_overpaid",
    "amount_paid",
    "amount_paid_off_stripe",
    "amount_remaining",
    "amount_shipping",
    "attempt_count",
    "attempted",
    "auto_advance",
    "automatic_tax",
    "collection_method",
    "created",
    "currency",
    "customer",
    "default_tax_rates",
    "discounts",
    "id",
    "issuer",
    "lines",
    "livemode",
    "object",
    "payment_settings",
    "period_end",
    "period_start",
    "post_payment_credit_notes_amount",
    "pre_payment_credit_notes_amount",
    "starting_balance",
    "status_transitions",
    "subtotal",
    "total"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 5000,
      "description": "Unique identifier for the object. For preview invoices created using the [create preview](https://stripe.com/docs/api/invoices/create_preview) endpoint, this id will be prefixed with `upcoming_in`."
    },
    "lines": {
      "type": "object",
      "title": "InvoiceLinesList",
      "required": [
        "data",
        "has_more",
        "object",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "maxLength": 5000,
          "description": "The URL where this list can be accessed."
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/line_item"
          },
          "description": "Details about each object."
        },
        "object": {
          "enum": [
            "list"
          ],
          "type": "string",
          "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`."
        },
        "has_more": {
          "type": "boolean",
          "description": "True if this list has another page of items after this one that can be fetched."
        }
      },
      "description": "The individual line items that make up the invoice. `lines` is sorted as follows: (1) pending invoice items (including prorations) in reverse chronological order, (2) subscription items in reverse chronological order, and (3) invoice items added after invoice creation in chronological order.",
      "x-expandableFields": [
        "data"
      ]
    },
    "total": {
      "type": "integer",
      "description": "Total after discounts and taxes."
    },
    "footer": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Footer displayed on the invoice."
    },
    "issuer": {
      "$ref": "#/components/schemas/connect_account_reference"
    },
    "number": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified."
    },
    "object": {
      "enum": [
        "invoice"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "parent": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/billing_bill_resource_invoicing_parents_invoice_parent"
        }
      ],
      "nullable": true,
      "description": "The parent that generated this invoice"
    },
    "status": {
      "enum": [
        "draft",
        "open",
        "paid",
        "uncollectible",
        "void"
      ],
      "type": "string",
      "nullable": true,
      "description": "The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://docs.stripe.com/billing/invoices/workflow#workflow-overview)",
      "x-stripeBypassValidation": true
    },
    "created": {
      "type": "integer",
      "format": "unix-time",
      "description": "Time at which the object was created. Measured in seconds since the Unix epoch."
    },
    "currency": {
      "type": "string",
      "format": "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)."
    },
    "customer": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/customer"
        },
        {
          "$ref": "#/components/schemas/deleted_customer"
        }
      ],
      "description": "The ID of the customer to bill.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/customer"
          },
          {
            "$ref": "#/components/schemas/deleted_customer"
          }
        ]
      }
    },
    "due_date": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "The date on which payment for this invoice is due. This value will be `null` for invoices where `collection_method=charge_automatically`."
    },
    "livemode": {
      "type": "boolean",
      "description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
    },
    "metadata": {
      "type": "object",
      "nullable": true,
      "description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
      "additionalProperties": {
        "type": "string",
        "maxLength": 500
      }
    },
    "payments": {
      "type": "object",
      "title": "InvoicesPaymentsListInvoicePayments",
      "required": [
        "data",
        "has_more",
        "object",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "maxLength": 5000,
          "description": "The URL where this list can be accessed."
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/invoice_payment"
          },
          "description": "Details about each object."
        },
        "object": {
          "enum": [
            "list"
          ],
          "type": "string",
          "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`."
        },
        "has_more": {
          "type": "boolean",
          "description": "True if this list has another page of items after this one that can be fetched."
        }
      },
      "description": "Payments for this invoice. Use [invoice payment](/api/invoice-payment) to get more details.",
      "x-expandableFields": [
        "data"
      ]
    },
    "subtotal": {
      "type": "integer",
      "description": "Total of all subscriptions, invoice items, and prorations on the invoice before any invoice level discount or exclusive tax is applied. Item discounts are already incorporated"
    },
    "attempted": {
      "type": "boolean",
      "description": "Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users."
    },
    "discounts": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 5000
          },
          {
            "$ref": "#/components/schemas/discount"
          },
          {
            "$ref": "#/components/schemas/deleted_discount"
          }
        ],
        "x-expansionResources": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/discount"
            },
            {
              "$ref": "#/components/schemas/deleted_discount"
            }
          ]
        }
      },
      "description": "The discounts applied to the invoice. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount."
    },
    "rendering": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoices_resource_invoice_rendering"
        }
      ],
      "nullable": true,
      "description": "The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page."
    },
    "amount_due": {
      "type": "integer",
      "description": "Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the `amount_due` will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`."
    },
    "period_end": {
      "type": "integer",
      "format": "unix-time",
      "description": "The latest timestamp at which invoice items can be associated with this invoice. Use the [line item period](/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price."
    },
    "test_clock": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/test_helpers.test_clock"
        }
      ],
      "nullable": true,
      "description": "ID of the test clock this invoice belongs to.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/test_helpers.test_clock"
          }
        ]
      }
    },
    "amount_paid": {
      "type": "integer",
      "description": "The amount, in cents (or local equivalent), that was paid."
    },
    "application": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/application"
        },
        {
          "$ref": "#/components/schemas/deleted_application"
        }
      ],
      "nullable": true,
      "description": "ID of the Connect Application that created the invoice.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/application"
          },
          {
            "$ref": "#/components/schemas/deleted_application"
          }
        ]
      }
    },
    "description": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard."
    },
    "invoice_pdf": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null."
    },
    "total_taxes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/billing_bill_resource_invoicing_taxes_tax"
      },
      "nullable": true,
      "description": "The aggregate tax information of all line items."
    },
    "account_name": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The public name of the business associated with this invoice, most often the business creating the invoice."
    },
    "auto_advance": {
      "type": "boolean",
      "description": "Controls whether Stripe performs [automatic collection](https://docs.stripe.com/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action."
    },
    "effective_at": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt."
    },
    "from_invoice": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoices_resource_from_invoice"
        }
      ],
      "nullable": true,
      "description": "Details of the invoice that was cloned. See the [revision documentation](https://docs.stripe.com/invoicing/invoice-revisions) for more details."
    },
    "on_behalf_of": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/account"
        }
      ],
      "nullable": true,
      "description": "The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://docs.stripe.com/billing/invoices/connect) documentation for details.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/account"
          }
        ]
      }
    },
    "period_start": {
      "type": "integer",
      "format": "unix-time",
      "description": "The earliest timestamp at which invoice items can be associated with this invoice. Use the [line item period](/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price."
    },
    "attempt_count": {
      "type": "integer",
      "description": "Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule. If a failure is returned with a non-retryable return code, the invoice can no longer be retried unless a new payment method is obtained. Retries will continue to be scheduled, and attempt_count will continue to increment, but retries will only be executed if a new payment method is obtained."
    },
    "automatic_tax": {
      "$ref": "#/components/schemas/automatic_tax"
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/invoice_setting_custom_field"
      },
      "nullable": true,
      "description": "Custom fields displayed on the invoice."
    },
    "customer_name": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The customer's name. Until the invoice is finalized, this field will equal `customer.name`. Once the invoice is finalized, this field will no longer be updated."
    },
    "shipping_cost": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoices_resource_shipping_cost"
        }
      ],
      "nullable": true,
      "description": "The details of the cost of shipping, including the ShippingRate applied on the invoice."
    },
    "billing_reason": {
      "enum": [
        "automatic_pending_invoice_item_invoice",
        "manual",
        "quote_accept",
        "subscription",
        "subscription_create",
        "subscription_cycle",
        "subscription_threshold",
        "subscription_update",
        "upcoming"
      ],
      "type": "string",
      "nullable": true,
      "description": "Indicates the reason why the invoice was created.\n\n* `manual`: Unrelated to a subscription, for example, created via the invoice editor.\n* `subscription`: No longer in use. Applies to subscriptions from before May 2018 where no distinction was made between updates, cycles, and thresholds.\n* `subscription_create`: A new subscription was created.\n* `subscription_cycle`: A subscription advanced into a new period.\n* `subscription_threshold`: A subscription reached a billing threshold.\n* `subscription_update`: A subscription was updated.\n* `upcoming`: Reserved for upcoming invoices created through the Create Preview Invoice API or when an `invoice.upcoming` event is generated for an upcoming invoice on a subscription."
    },
    "customer_email": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The customer's email. Until the invoice is finalized, this field will equal `customer.email`. Once the invoice is finalized, this field will no longer be updated."
    },
    "customer_phone": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The customer's phone number. Until the invoice is finalized, this field will equal `customer.phone`. Once the invoice is finalized, this field will no longer be updated."
    },
    "default_source": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/bank_account"
        },
        {
          "$ref": "#/components/schemas/card"
        },
        {
          "$ref": "#/components/schemas/source"
        }
      ],
      "nullable": true,
      "description": "ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/bank_account"
          },
          {
            "$ref": "#/components/schemas/card"
          },
          {
            "$ref": "#/components/schemas/source"
          }
        ]
      },
      "x-stripeBypassValidation": true
    },
    "ending_balance": {
      "type": "integer",
      "nullable": true,
      "description": "Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null."
    },
    "receipt_number": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "This is the transaction number that appears on email receipts sent for this invoice."
    },
    "account_country": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The country of the business associated with this invoice, most often the business creating the invoice."
    },
    "account_tax_ids": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 5000
          },
          {
            "$ref": "#/components/schemas/tax_id"
          },
          {
            "$ref": "#/components/schemas/deleted_tax_id"
          }
        ],
        "x-expansionResources": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/tax_id"
            },
            {
              "$ref": "#/components/schemas/deleted_tax_id"
            }
          ]
        }
      },
      "nullable": true,
      "description": "The account tax IDs associated with the invoice. Only editable when the invoice is a draft."
    },
    "amount_overpaid": {
      "type": "integer",
      "description": "Amount that was overpaid on the invoice. The amount overpaid is credited to the customer's credit balance."
    },
    "amount_shipping": {
      "type": "integer",
      "description": "This is the sum of all the shipping amounts."
    },
    "latest_revision": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/invoice"
        }
      ],
      "nullable": true,
      "description": "The ID of the most recent non-draft revision of this invoice",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/invoice"
          }
        ]
      }
    },
    "amount_remaining": {
      "type": "integer",
      "description": "The difference between amount_due and amount_paid, in cents (or local equivalent)."
    },
    "customer_account": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The ID of the account representing the customer to bill."
    },
    "customer_address": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/address"
        }
      ],
      "nullable": true,
      "description": "The customer's address. Until the invoice is finalized, this field will equal `customer.address`. Once the invoice is finalized, this field will no longer be updated."
    },
    "customer_tax_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/invoices_resource_invoice_tax_id"
      },
      "nullable": true,
      "description": "The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated."
    },
    "payment_settings": {
      "$ref": "#/components/schemas/invoices_payment_settings"
    },
    "shipping_details": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/shipping"
        }
      ],
      "nullable": true,
      "description": "Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer."
    },
    "starting_balance": {
      "type": "integer",
      "description": "Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance. For revision invoices, this also includes any customer balance that was applied to the original invoice."
    },
    "threshold_reason": {
      "$ref": "#/components/schemas/invoice_threshold_reason"
    },
    "collection_method": {
      "enum": [
        "charge_automatically",
        "send_invoice"
      ],
      "type": "string",
      "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions."
    },
    "customer_shipping": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/shipping"
        }
      ],
      "nullable": true,
      "description": "The customer's shipping information. Until the invoice is finalized, this field will equal `customer.shipping`. Once the invoice is finalized, this field will no longer be updated."
    },
    "default_tax_rates": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tax_rate"
      },
      "description": "The tax rates applied to this invoice, if any."
    },
    "hosted_invoice_url": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null."
    },
    "status_transitions": {
      "$ref": "#/components/schemas/invoices_resource_status_transitions"
    },
    "confirmation_secret": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoices_resource_confirmation_secret"
        }
      ],
      "nullable": true,
      "description": "The confirmation secret associated with this invoice. Currently, this contains the client_secret of the PaymentIntent that Stripe creates during invoice finalization."
    },
    "customer_tax_exempt": {
      "enum": [
        "exempt",
        "none",
        "reverse"
      ],
      "type": "string",
      "nullable": true,
      "description": "The customer's tax exempt status. Until the invoice is finalized, this field will equal `customer.tax_exempt`. Once the invoice is finalized, this field will no longer be updated."
    },
    "total_excluding_tax": {
      "type": "integer",
      "nullable": true,
      "description": "The integer amount in cents (or local equivalent) representing the total amount of the invoice including all discounts but excluding all tax."
    },
    "next_payment_attempt": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "The time at which payment will next be attempted. This value will be `null` for invoices where `collection_method=send_invoice`."
    },
    "statement_descriptor": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Extra information about an invoice for the customer's credit card statement."
    },
    "webhooks_delivered_at": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until all webhook delivery attempts have [been exhausted](https://docs.stripe.com/billing/webhooks#understand). This field tracks the time when webhooks for this invoice were successfully delivered. If the invoice had no webhooks to deliver, this will be set while the invoice is being created."
    },
    "amount_paid_off_stripe": {
      "type": "integer",
      "description": "Amount, in cents (or local equivalent), that was paid on the invoice outside of Stripe."
    },
    "default_payment_method": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/payment_method"
        }
      ],
      "nullable": true,
      "description": "ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/payment_method"
          }
        ]
      }
    },
    "subtotal_excluding_tax": {
      "type": "integer",
      "nullable": true,
      "description": "The integer amount in cents (or local equivalent) representing the subtotal of the invoice before any invoice level discount or tax is applied. Item discounts are already incorporated"
    },
    "total_discount_amounts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/discounts_resource_discount_amount"
      },
      "nullable": true,
      "description": "The aggregate amounts calculated per discount across all line items."
    },
    "last_finalization_error": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/api_errors"
        }
      ],
      "nullable": true,
      "description": "The error encountered during the previous attempt to finalize the invoice. This field is cleared when the invoice is successfully finalized."
    },
    "automatically_finalizes_at": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "The time when this invoice is currently scheduled to be automatically finalized. The field will be `null` if the invoice is not scheduled to finalize in the future. If the invoice is not in the draft state, this field will always be `null` - see `finalized_at` for the time when an already-finalized invoice was finalized."
    },
    "total_pretax_credit_amounts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/invoices_resource_pretax_credit_amount"
      },
      "nullable": true,
      "description": "Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this invoice. This is a combined list of total_pretax_credit_amounts across all invoice line items."
    },
    "pre_payment_credit_notes_amount": {
      "type": "integer",
      "description": "Total amount of all pre-payment credit notes issued for this invoice."
    },
    "post_payment_credit_notes_amount": {
      "type": "integer",
      "description": "Total amount of all post-payment credit notes issued for this invoice."
    }
  },
  "description": "Invoices are statements of amounts owed by a customer, and are either\ngenerated one-off, or generated periodically from a subscription.\n\nThey contain [invoice items](https://api.stripe.com#invoiceitems), and proration adjustments\nthat may be caused by subscription upgrades/downgrades (if necessary).\n\nIf your invoice is configured to be billed through automatic charges,\nStripe automatically finalizes your invoice and attempts payment. Note\nthat finalizing the invoice,\n[when automatic](https://docs.stripe.com/invoicing/integration/automatic-advancement-collection), does\nnot happen immediately as the invoice is created. Stripe waits\nuntil one hour after the last webhook was successfully sent (or the last\nwebhook timed out after failing). If you (and the platforms you may have\nconnected to) have no webhooks configured, Stripe waits one hour after\ncreation to finalize the invoice.\n\nIf your invoice is configured to be billed by sending an email, then based on your\n[email settings](https://dashboard.stripe.com/account/billing/automatic),\nStripe will email the invoice to your customer and await payment. These\nemails can contain a link to a hosted page to pay the invoice.\n\nStripe applies any customer credit on the account before determining the\namount due for the invoice (i.e., the amount that will be actually\ncharged). If the amount due for the invoice is less than Stripe's [minimum allowed charge\nper currency](/docs/currencies#minimum-and-maximum-charge-amounts), the\ninvoice is automatically marked paid, and we add the amount due to the\ncustomer's credit balance which is applied to the next invoice.\n\nMore details on the customer's credit balance are\n[here](https://docs.stripe.com/billing/customer/balance).\n\nRelated guide: [Send invoices to customers](https://docs.stripe.com/billing/invoices/sending)",
  "x-resourceId": "invoice",
  "x-expandableFields": [
    "account_tax_ids",
    "application",
    "automatic_tax",
    "confirmation_secret",
    "custom_fields",
    "customer",
    "customer_address",
    "customer_shipping",
    "customer_tax_ids",
    "default_payment_method",
    "default_source",
    "default_tax_rates",
    "discounts",
    "from_invoice",
    "issuer",
    "last_finalization_error",
    "latest_revision",
    "lines",
    "on_behalf_of",
    "parent",
    "payment_settings",
    "payments",
    "rendering",
    "shipping_cost",
    "shipping_details",
    "status_transitions",
    "test_clock",
    "threshold_reason",
    "total_discount_amounts",
    "total_pretax_credit_amounts",
    "total_taxes"
  ]
}
object invoice_installments_card
{
  "type": "object",
  "title": "invoice_installments_card",
  "properties": {
    "enabled": {
      "type": "boolean",
      "nullable": true,
      "description": "Whether Installments are enabled for this Invoice."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_item_proration_credited_items
{
  "type": "object",
  "title": "InvoiceItemProrationCreditedItems",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "enum": [
        "invoice_item",
        "invoice_line_items"
      ],
      "type": "string",
      "description": "Whether the credit references a pending invoice item or one or more invoice line items on an invoice."
    },
    "invoice_item": {
      "type": "string",
      "maxLength": 5000,
      "description": "When `type` is `invoice_item`, the invoice item id for the debited invoice item corresponding to this credit proration."
    },
    "invoice_line_item_details": {
      "$ref": "#/components/schemas/credited_items_invoice_line_items"
    }
  },
  "description": "",
  "x-expandableFields": [
    "invoice_line_item_details"
  ]
}
object invoice_item_threshold_reason
{
  "type": "object",
  "title": "InvoiceItemThresholdReason",
  "required": [
    "line_item_ids",
    "usage_gte"
  ],
  "properties": {
    "usage_gte": {
      "type": "integer",
      "description": "The quantity threshold boundary that applied to the given line item."
    },
    "line_item_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 5000
      },
      "description": "The IDs of the line items that triggered the threshold invoice."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_line_item_period
{
  "type": "object",
  "title": "InvoiceLineItemPeriod",
  "required": [
    "end",
    "start"
  ],
  "properties": {
    "end": {
      "type": "integer",
      "format": "unix-time",
      "description": "The end of the period, which must be greater than or equal to the start. This value is inclusive."
    },
    "start": {
      "type": "integer",
      "format": "unix-time",
      "description": "The start of the period. This value is inclusive."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_mandate_options_card
{
  "type": "object",
  "title": "invoice_mandate_options_card",
  "properties": {
    "amount": {
      "type": "integer",
      "nullable": true,
      "description": "Amount to be charged for future payments, specified in the presentment currency."
    },
    "amount_type": {
      "enum": [
        "fixed",
        "maximum"
      ],
      "type": "string",
      "nullable": true,
      "description": "One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param."
    },
    "description": {
      "type": "string",
      "nullable": true,
      "maxLength": 200,
      "description": "A description of the mandate or subscription that is meant to be displayed to the customer."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_mandate_options_payto
{
  "type": "object",
  "title": "invoice_mandate_options_payto",
  "properties": {
    "amount": {
      "type": "integer",
      "nullable": true,
      "description": "The maximum amount that can be collected in a single invoice. If you don't specify a maximum, then there is no limit."
    },
    "purpose": {
      "enum": [
        "dependant_support",
        "government",
        "loan",
        "mortgage",
        "other",
        "pension",
        "personal",
        "retail",
        "salary",
        "tax",
        "utility"
      ],
      "type": "string",
      "nullable": true,
      "description": "The purpose for which payments are made. Has a default value based on your merchant category code."
    },
    "amount_type": {
      "enum": [
        "fixed",
        "maximum"
      ],
      "type": "string",
      "nullable": true,
      "description": "Only `maximum` is supported."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_payment
{
  "type": "object",
  "title": "InvoicesInvoicePayment",
  "required": [
    "amount_requested",
    "created",
    "currency",
    "id",
    "invoice",
    "is_default",
    "livemode",
    "object",
    "payment",
    "status",
    "status_transitions"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 5000,
      "description": "Unique identifier for the object."
    },
    "object": {
      "enum": [
        "invoice_payment"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "status": {
      "type": "string",
      "maxLength": 5000,
      "description": "The status of the payment, one of `open`, `paid`, or `canceled`."
    },
    "created": {
      "type": "integer",
      "format": "unix-time",
      "description": "Time at which the object was created. Measured in seconds since the Unix epoch."
    },
    "invoice": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/invoice"
        },
        {
          "$ref": "#/components/schemas/deleted_invoice"
        }
      ],
      "description": "The invoice that was paid.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/invoice"
          },
          {
            "$ref": "#/components/schemas/deleted_invoice"
          }
        ]
      }
    },
    "payment": {
      "$ref": "#/components/schemas/invoices_payments_invoice_payment_associated_payment"
    },
    "currency": {
      "type": "string",
      "maxLength": 5000,
      "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)."
    },
    "livemode": {
      "type": "boolean",
      "description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
    },
    "is_default": {
      "type": "boolean",
      "description": "Stripe automatically creates a default InvoicePayment when the invoice is finalized, and keeps it synchronized with the invoice’s `amount_remaining`. The PaymentIntent associated with the default payment can’t be edited or canceled directly."
    },
    "amount_paid": {
      "type": "integer",
      "nullable": true,
      "description": "Amount that was actually paid for this invoice, in cents (or local equivalent). This field is null until the payment is `paid`. This amount can be less than the `amount_requested` if the PaymentIntent’s `amount_received` is not sufficient to pay all of the invoices that it is attached to."
    },
    "amount_requested": {
      "type": "integer",
      "description": "Amount intended to be paid toward this invoice, in cents (or local equivalent)"
    },
    "status_transitions": {
      "$ref": "#/components/schemas/invoices_payments_invoice_payment_status_transitions"
    }
  },
  "description": "Invoice Payments represent payments made against invoices. Invoice Payments can\nbe accessed in two ways:\n1. By expanding the `payments` field on the [Invoice](https://api.stripe.com#invoice) resource.\n2. By using the Invoice Payment retrieve and list endpoints.\n\nInvoice Payments include the mapping between payment objects, such as Payment Intent, and Invoices.\nThis resource and its endpoints allows you to easily track if a payment is associated with a specific invoice and\nmonitor the allocation details of the payments.",
  "x-resourceId": "invoice_payment",
  "x-expandableFields": [
    "invoice",
    "payment",
    "status_transitions"
  ]
}
object invoice_payment_method_options_acss_debit
{
  "type": "object",
  "title": "invoice_payment_method_options_acss_debit",
  "properties": {
    "mandate_options": {
      "$ref": "#/components/schemas/invoice_payment_method_options_acss_debit_mandate_options"
    },
    "verification_method": {
      "enum": [
        "automatic",
        "instant",
        "microdeposits"
      ],
      "type": "string",
      "description": "Bank account verification method. The default value is `automatic`.",
      "x-stripeBypassValidation": true
    }
  },
  "description": "",
  "x-expandableFields": [
    "mandate_options"
  ]
}
object invoice_payment_method_options_acss_debit_mandate_options
{
  "type": "object",
  "title": "invoice_payment_method_options_acss_debit_mandate_options",
  "properties": {
    "transaction_type": {
      "enum": [
        "business",
        "personal"
      ],
      "type": "string",
      "nullable": true,
      "description": "Transaction type of the mandate."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_payment_method_options_bancontact
{
  "type": "object",
  "title": "invoice_payment_method_options_bancontact",
  "required": [
    "preferred_language"
  ],
  "properties": {
    "preferred_language": {
      "enum": [
        "de",
        "en",
        "fr",
        "nl"
      ],
      "type": "string",
      "description": "Preferred language of the Bancontact authorization page that the customer is redirected to."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_payment_method_options_card
{
  "type": "object",
  "title": "invoice_payment_method_options_card",
  "properties": {
    "installments": {
      "$ref": "#/components/schemas/invoice_installments_card"
    },
    "request_three_d_secure": {
      "enum": [
        "any",
        "automatic",
        "challenge"
      ],
      "type": "string",
      "nullable": true,
      "description": "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://docs.stripe.com/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://docs.stripe.com/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine."
    }
  },
  "description": "",
  "x-expandableFields": [
    "installments"
  ]
}
object invoice_payment_method_options_customer_balance
{
  "type": "object",
  "title": "invoice_payment_method_options_customer_balance",
  "properties": {
    "funding_type": {
      "enum": [
        "bank_transfer"
      ],
      "type": "string",
      "nullable": true,
      "description": "The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`."
    },
    "bank_transfer": {
      "$ref": "#/components/schemas/invoice_payment_method_options_customer_balance_bank_transfer"
    }
  },
  "description": "",
  "x-expandableFields": [
    "bank_transfer"
  ]
}
object invoice_payment_method_options_customer_balance_bank_transfer
{
  "type": "object",
  "title": "invoice_payment_method_options_customer_balance_bank_transfer",
  "properties": {
    "type": {
      "type": "string",
      "nullable": true,
      "description": "The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`."
    },
    "eu_bank_transfer": {
      "$ref": "#/components/schemas/invoice_payment_method_options_customer_balance_bank_transfer_eu_bank_transfer"
    }
  },
  "description": "",
  "x-expandableFields": [
    "eu_bank_transfer"
  ]
}
object invoice_payment_method_options_customer_balance_bank_transfer_eu_bank_transfer
{
  "type": "object",
  "title": "invoice_payment_method_options_customer_balance_bank_transfer_eu_bank_transfer",
  "required": [
    "country"
  ],
  "properties": {
    "country": {
      "enum": [
        "BE",
        "DE",
        "ES",
        "FR",
        "IE",
        "NL"
      ],
      "type": "string",
      "description": "The desired country code of the bank account information. Permitted values include: `DE`, `FR`, `IE`, or `NL`."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_payment_method_options_konbini
{
  "type": "object",
  "title": "invoice_payment_method_options_konbini",
  "properties": {},
  "description": "",
  "x-expandableFields": []
}
object invoice_payment_method_options_mandate_options_upi
{
  "type": "object",
  "title": "invoice_payment_method_options_mandate_options_upi",
  "properties": {
    "amount": {
      "type": "integer",
      "nullable": true,
      "description": "Amount to be charged for future payments."
    },
    "end_date": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "End date of the mandate or subscription."
    },
    "amount_type": {
      "enum": [
        "fixed",
        "maximum"
      ],
      "type": "string",
      "nullable": true,
      "description": "One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param."
    },
    "description": {
      "type": "string",
      "nullable": true,
      "maxLength": 20,
      "description": "A description of the mandate or subscription that is meant to be displayed to the customer."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_payment_method_options_payto
{
  "type": "object",
  "title": "invoice_payment_method_options_payto",
  "properties": {
    "mandate_options": {
      "$ref": "#/components/schemas/invoice_mandate_options_payto"
    }
  },
  "description": "",
  "x-expandableFields": [
    "mandate_options"
  ]
}
object invoice_payment_method_options_pix
{
  "type": "object",
  "title": "invoice_payment_method_options_pix",
  "properties": {
    "amount_includes_iof": {
      "enum": [
        "always",
        "never"
      ],
      "type": "string",
      "nullable": true,
      "description": "Determines if the amount includes the IOF tax."
    },
    "expires_after_seconds": {
      "type": "integer",
      "description": "The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_payment_method_options_sepa_debit
{
  "type": "object",
  "title": "invoice_payment_method_options_sepa_debit",
  "properties": {},
  "description": "",
  "x-expandableFields": []
}
object invoice_payment_method_options_upi
{
  "type": "object",
  "title": "invoice_payment_method_options_upi",
  "properties": {
    "mandate_options": {
      "$ref": "#/components/schemas/invoice_payment_method_options_mandate_options_upi"
    }
  },
  "description": "",
  "x-expandableFields": [
    "mandate_options"
  ]
}
object invoice_payment_method_options_us_bank_account
{
  "type": "object",
  "title": "invoice_payment_method_options_us_bank_account",
  "properties": {
    "verification_method": {
      "enum": [
        "automatic",
        "instant",
        "microdeposits"
      ],
      "type": "string",
      "description": "Bank account verification method. The default value is `automatic`.",
      "x-stripeBypassValidation": true
    },
    "financial_connections": {
      "$ref": "#/components/schemas/invoice_payment_method_options_us_bank_account_linked_account_options"
    }
  },
  "description": "",
  "x-expandableFields": [
    "financial_connections"
  ]
}
object invoice_payment_method_options_us_bank_account_linked_account_options
{
  "type": "object",
  "title": "invoice_payment_method_options_us_bank_account_linked_account_options",
  "properties": {
    "filters": {
      "$ref": "#/components/schemas/invoice_payment_method_options_us_bank_account_linked_account_options_filters"
    },
    "prefetch": {
      "type": "array",
      "items": {
        "enum": [
          "balances",
          "ownership",
          "transactions"
        ],
        "type": "string",
        "x-stripeBypassValidation": true
      },
      "nullable": true,
      "description": "Data features requested to be retrieved upon account creation."
    },
    "permissions": {
      "type": "array",
      "items": {
        "enum": [
          "balances",
          "ownership",
          "payment_method",
          "transactions"
        ],
        "type": "string",
        "x-stripeBypassValidation": true
      },
      "description": "The list of permissions to request. The `payment_method` permission must be included."
    }
  },
  "description": "",
  "x-expandableFields": [
    "filters"
  ]
}
object invoice_payment_method_options_us_bank_account_linked_account_options_filters
{
  "type": "object",
  "title": "invoice_payment_method_options_us_bank_account_linked_account_options_filters",
  "properties": {
    "account_subcategories": {
      "type": "array",
      "items": {
        "enum": [
          "checking",
          "savings"
        ],
        "type": "string"
      },
      "description": "The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_rendering_pdf
{
  "type": "object",
  "title": "InvoiceRenderingPdf",
  "properties": {
    "page_size": {
      "enum": [
        "a4",
        "auto",
        "letter"
      ],
      "type": "string",
      "nullable": true,
      "description": "Page size of invoice pdf. Options include a4, letter, and auto. If set to auto, page size will be switched to a4 or letter based on customer locale."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_rendering_template
{
  "type": "object",
  "title": "InvoiceRenderingTemplate",
  "required": [
    "created",
    "id",
    "livemode",
    "object",
    "status",
    "version"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 5000,
      "description": "Unique identifier for the object."
    },
    "object": {
      "enum": [
        "invoice_rendering_template"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "status": {
      "enum": [
        "active",
        "archived"
      ],
      "type": "string",
      "description": "The status of the template, one of `active` or `archived`."
    },
    "created": {
      "type": "integer",
      "format": "unix-time",
      "description": "Time at which the object was created. Measured in seconds since the Unix epoch."
    },
    "version": {
      "type": "integer",
      "description": "Version of this template; version increases by one when an update on the template changes any field that controls invoice rendering"
    },
    "livemode": {
      "type": "boolean",
      "description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
    },
    "metadata": {
      "type": "object",
      "nullable": true,
      "description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
      "additionalProperties": {
        "type": "string",
        "maxLength": 500
      }
    },
    "nickname": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "A brief description of the template, hidden from customers"
    }
  },
  "description": "Invoice Rendering Templates are used to configure how invoices are rendered on surfaces like the PDF. Invoice Rendering Templates\ncan be created from within the Dashboard, and they can be used over the API when creating invoices.",
  "x-resourceId": "invoice_rendering_template",
  "x-expandableFields": []
}
object invoice_setting_checkout_rendering_options
{
  "type": "object",
  "title": "invoice_setting_checkout_rendering_options",
  "properties": {
    "template": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "ID of the invoice rendering template to be used for the generated invoice."
    },
    "amount_tax_display": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "How line-item prices and amounts will be displayed with respect to tax on invoice PDFs."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_setting_custom_field
{
  "type": "object",
  "title": "InvoiceSettingCustomField",
  "required": [
    "name",
    "value"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 5000,
      "description": "The name of the custom field."
    },
    "value": {
      "type": "string",
      "maxLength": 5000,
      "description": "The value of the custom field."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_setting_customer_rendering_options
{
  "type": "object",
  "title": "InvoiceSettingCustomerRenderingOptions",
  "properties": {
    "template": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "ID of the invoice rendering template to be used for this customer's invoices. If set, the template will be used on all invoices for this customer unless a template is set directly on the invoice."
    },
    "amount_tax_display": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "How line-item prices and amounts will be displayed with respect to tax on invoice PDFs."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoice_setting_customer_setting
{
  "type": "object",
  "title": "InvoiceSettingCustomerSetting",
  "properties": {
    "footer": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Default footer to be displayed on invoices for this customer."
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/invoice_setting_custom_field"
      },
      "nullable": true,
      "description": "Default custom fields to be displayed on invoices for this customer."
    },
    "rendering_options": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoice_setting_customer_rendering_options"
        }
      ],
      "nullable": true,
      "description": "Default options for invoice PDF rendering for this customer."
    },
    "default_payment_method": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/payment_method"
        }
      ],
      "nullable": true,
      "description": "ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/payment_method"
          }
        ]
      }
    }
  },
  "description": "",
  "x-expandableFields": [
    "custom_fields",
    "default_payment_method",
    "rendering_options"
  ]
}
object invoice_setting_quote_setting
{
  "type": "object",
  "title": "InvoiceSettingQuoteSetting",
  "required": [
    "issuer"
  ],
  "properties": {
    "issuer": {
      "$ref": "#/components/schemas/connect_account_reference"
    },
    "days_until_due": {
      "type": "integer",
      "nullable": true,
      "description": "Number of days within which a customer must pay invoices generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`."
    }
  },
  "description": "",
  "x-expandableFields": [
    "issuer"
  ]
}
object invoice_setting_subscription_schedule_phase_setting
{
  "type": "object",
  "title": "InvoiceSettingSubscriptionSchedulePhaseSetting",
  "properties": {
    "issuer": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/connect_account_reference"
        }
      ],
      "nullable": true,
      "description": "The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account."
    },
    "days_until_due": {
      "type": "integer",
      "nullable": true,
      "description": "Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`."
    },
    "account_tax_ids": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 5000
          },
          {
            "$ref": "#/components/schemas/tax_id"
          },
          {
            "$ref": "#/components/schemas/deleted_tax_id"
          }
        ],
        "x-expansionResources": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/tax_id"
            },
            {
              "$ref": "#/components/schemas/deleted_tax_id"
            }
          ]
        }
      },
      "nullable": true,
      "description": "The account tax IDs associated with this phase of the subscription schedule. Will be set on invoices generated by this phase of the subscription schedule."
    }
  },
  "description": "",
  "x-expandableFields": [
    "account_tax_ids",
    "issuer"
  ]
}
object invoice_setting_subscription_schedule_setting
{
  "type": "object",
  "title": "InvoiceSettingSubscriptionScheduleSetting",
  "required": [
    "issuer"
  ],
  "properties": {
    "issuer": {
      "$ref": "#/components/schemas/connect_account_reference"
    },
    "days_until_due": {
      "type": "integer",
      "nullable": true,
      "description": "Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`."
    },
    "account_tax_ids": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 5000
          },
          {
            "$ref": "#/components/schemas/tax_id"
          },
          {
            "$ref": "#/components/schemas/deleted_tax_id"
          }
        ],
        "x-expansionResources": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/tax_id"
            },
            {
              "$ref": "#/components/schemas/deleted_tax_id"
            }
          ]
        }
      },
      "nullable": true,
      "description": "The account tax IDs associated with the subscription schedule. Will be set on invoices generated by the subscription schedule."
    }
  },
  "description": "",
  "x-expandableFields": [
    "account_tax_ids",
    "issuer"
  ]
}
object invoice_threshold_reason
{
  "type": "object",
  "title": "InvoiceThresholdReason",
  "required": [
    "item_reasons"
  ],
  "properties": {
    "amount_gte": {
      "type": "integer",
      "nullable": true,
      "description": "The total invoice amount threshold boundary if it triggered the threshold invoice."
    },
    "item_reasons": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/invoice_item_threshold_reason"
      },
      "description": "Indicates which line items triggered a threshold invoice."
    }
  },
  "description": "",
  "x-expandableFields": [
    "item_reasons"
  ]
}
object invoiceitem
{
  "type": "object",
  "title": "InvoiceItem",
  "required": [
    "amount",
    "currency",
    "customer",
    "date",
    "discountable",
    "id",
    "livemode",
    "object",
    "period",
    "proration",
    "quantity",
    "quantity_decimal"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 5000,
      "description": "Unique identifier for the object."
    },
    "date": {
      "type": "integer",
      "format": "unix-time",
      "description": "Time at which the object was created. Measured in seconds since the Unix epoch."
    },
    "amount": {
      "type": "integer",
      "description": "Amount (in the `currency` specified) of the invoice item. This should always be equal to `unit_amount * quantity`."
    },
    "object": {
      "enum": [
        "invoiceitem"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "parent": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/billing_bill_resource_invoice_item_parents_invoice_item_parent"
        }
      ],
      "nullable": true,
      "description": "The parent that generated this invoice item."
    },
    "period": {
      "$ref": "#/components/schemas/invoice_line_item_period"
    },
    "invoice": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/invoice"
        }
      ],
      "nullable": true,
      "description": "The ID of the invoice this invoice item belongs to.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/invoice"
          }
        ]
      }
    },
    "pricing": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/billing_bill_resource_invoicing_pricing_pricing"
        }
      ],
      "nullable": true,
      "description": "The pricing information of the invoice item."
    },
    "currency": {
      "type": "string",
      "format": "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)."
    },
    "customer": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/customer"
        },
        {
          "$ref": "#/components/schemas/deleted_customer"
        }
      ],
      "description": "The ID of the customer to bill for this invoice item.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/customer"
          },
          {
            "$ref": "#/components/schemas/deleted_customer"
          }
        ]
      }
    },
    "livemode": {
      "type": "boolean",
      "description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
    },
    "metadata": {
      "type": "object",
      "nullable": true,
      "description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
      "additionalProperties": {
        "type": "string",
        "maxLength": 500
      }
    },
    "quantity": {
      "type": "integer",
      "description": "Quantity of units for the invoice item in integer format, with any decimal precision truncated. For the item's full-precision decimal quantity, use `quantity_decimal`. This field will be deprecated in favor of `quantity_decimal` in a future version. If the invoice item is a proration, the quantity of the subscription that the proration was computed for."
    },
    "discounts": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 5000
          },
          {
            "$ref": "#/components/schemas/discount"
          }
        ],
        "x-expansionResources": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/discount"
            }
          ]
        }
      },
      "nullable": true,
      "description": "The discounts which apply to the invoice item. Item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount."
    },
    "proration": {
      "type": "boolean",
      "description": "Whether the invoice item was created automatically as a proration adjustment when the customer switched plans."
    },
    "tax_rates": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tax_rate"
      },
      "nullable": true,
      "description": "The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item."
    },
    "net_amount": {
      "type": "integer",
      "description": "The amount after discounts, but before credits and taxes. This field is `null` for `discountable=true` items."
    },
    "test_clock": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/test_helpers.test_clock"
        }
      ],
      "nullable": true,
      "description": "ID of the test clock this invoice item belongs to.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/test_helpers.test_clock"
          }
        ]
      }
    },
    "description": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "An arbitrary string attached to the object. Often useful for displaying to users."
    },
    "discountable": {
      "type": "boolean",
      "description": "If true, discounts will apply to this invoice item. Always false for prorations."
    },
    "customer_account": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The ID of the account to bill for this invoice item."
    },
    "quantity_decimal": {
      "type": "string",
      "format": "decimal",
      "description": "Non-negative decimal with at most 12 decimal places. The quantity of units for the invoice item."
    },
    "proration_details": {
      "$ref": "#/components/schemas/proration_details"
    }
  },
  "description": "Invoice Items represent the component lines of an [invoice](https://docs.stripe.com/api/invoices). When you create an invoice item with an `invoice` field, it is attached to the specified invoice and included as [an invoice line item](https://docs.stripe.com/api/invoices/line_item) within [invoice.lines](https://docs.stripe.com/api/invoices/object#invoice_object-lines).\n\nInvoice Items can be created before you are ready to actually send the invoice. This can be particularly useful when combined\nwith a [subscription](https://docs.stripe.com/api/subscriptions). Sometimes you want to add a charge or credit to a customer, but actually charge\nor credit the customer's card only at the end of a regular billing cycle. This is useful for combining several charges\n(to minimize per-transaction fees), or for having Stripe tabulate your usage-based billing totals.\n\nRelated guides: [Integrate with the Invoicing API](https://docs.stripe.com/invoicing/integration), [Subscription Invoices](https://docs.stripe.com/billing/invoices/subscription#adding-upcoming-invoice-items).",
  "x-resourceId": "invoiceitem",
  "x-expandableFields": [
    "customer",
    "discounts",
    "invoice",
    "parent",
    "period",
    "pricing",
    "proration_details",
    "tax_rates",
    "test_clock"
  ]
}
object invoices_payment_method_options
{
  "type": "object",
  "title": "InvoicesPaymentMethodOptions",
  "properties": {
    "pix": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoice_payment_method_options_pix"
        }
      ],
      "nullable": true,
      "description": "If paying by `pix`, this sub-hash contains details about the Pix payment method options to pass to the invoice’s PaymentIntent."
    },
    "upi": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoice_payment_method_options_upi"
        }
      ],
      "nullable": true,
      "description": "If paying by `upi`, this sub-hash contains details about the UPI payment method options to pass to the invoice’s PaymentIntent."
    },
    "card": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoice_payment_method_options_card"
        }
      ],
      "nullable": true,
      "description": "If paying by `card`, this sub-hash contains details about the Card payment method options to pass to the invoice’s PaymentIntent."
    },
    "payto": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoice_payment_method_options_payto"
        }
      ],
      "nullable": true,
      "description": "If paying by `payto`, this sub-hash contains details about the PayTo payment method options to pass to the invoice’s PaymentIntent."
    },
    "konbini": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoice_payment_method_options_konbini"
        }
      ],
      "nullable": true,
      "description": "If paying by `konbini`, this sub-hash contains details about the Konbini payment method options to pass to the invoice’s PaymentIntent."
    },
    "acss_debit": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoice_payment_method_options_acss_debit"
        }
      ],
      "nullable": true,
      "description": "If paying by `acss_debit`, this sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice’s PaymentIntent."
    },
    "bancontact": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoice_payment_method_options_bancontact"
        }
      ],
      "nullable": true,
      "description": "If paying by `bancontact`, this sub-hash contains details about the Bancontact payment method options to pass to the invoice’s PaymentIntent."
    },
    "sepa_debit": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoice_payment_method_options_sepa_debit"
        }
      ],
      "nullable": true,
      "description": "If paying by `sepa_debit`, this sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice’s PaymentIntent."
    },
    "us_bank_account": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoice_payment_method_options_us_bank_account"
        }
      ],
      "nullable": true,
      "description": "If paying by `us_bank_account`, this sub-hash contains details about the ACH direct debit payment method options to pass to the invoice’s PaymentIntent."
    },
    "customer_balance": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoice_payment_method_options_customer_balance"
        }
      ],
      "nullable": true,
      "description": "If paying by `customer_balance`, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice’s PaymentIntent."
    }
  },
  "description": "",
  "x-expandableFields": [
    "acss_debit",
    "bancontact",
    "card",
    "customer_balance",
    "konbini",
    "payto",
    "pix",
    "sepa_debit",
    "upi",
    "us_bank_account"
  ]
}
object invoices_payment_settings
{
  "type": "object",
  "title": "InvoicesPaymentSettings",
  "properties": {
    "default_mandate": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the invoice's default_payment_method or default_source, if set."
    },
    "payment_method_types": {
      "type": "array",
      "items": {
        "enum": [
          "ach_credit_transfer",
          "ach_debit",
          "acss_debit",
          "affirm",
          "amazon_pay",
          "au_becs_debit",
          "bacs_debit",
          "bancontact",
          "boleto",
          "card",
          "cashapp",
          "crypto",
          "custom",
          "customer_balance",
          "eps",
          "fpx",
          "giropay",
          "grabpay",
          "ideal",
          "jp_credit_transfer",
          "kakao_pay",
          "klarna",
          "konbini",
          "kr_card",
          "link",
          "multibanco",
          "naver_pay",
          "nz_bank_account",
          "p24",
          "pay_by_bank",
          "payco",
          "paynow",
          "paypal",
          "payto",
          "pix",
          "promptpay",
          "revolut_pay",
          "satispay",
          "sepa_credit_transfer",
          "sepa_debit",
          "sofort",
          "swish",
          "twint",
          "upi",
          "us_bank_account",
          "wechat_pay"
        ],
        "type": "string",
        "x-stripeBypassValidation": true
      },
      "nullable": true,
      "description": "The list of payment method types (e.g. card) to provide to the invoice’s PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice’s default payment method, the subscription’s default payment method, the customer’s default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice)."
    },
    "payment_method_options": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoices_payment_method_options"
        }
      ],
      "nullable": true,
      "description": "Payment-method-specific configuration to provide to the invoice’s PaymentIntent."
    }
  },
  "description": "",
  "x-expandableFields": [
    "payment_method_options"
  ]
}
object invoices_payments_invoice_payment_associated_payment
{
  "type": "object",
  "title": "InvoicesPaymentsInvoicePaymentAssociatedPayment",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "enum": [
        "charge",
        "payment_intent",
        "payment_record"
      ],
      "type": "string",
      "description": "Type of payment object associated with this invoice payment."
    },
    "charge": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/charge"
        }
      ],
      "description": "ID of the successful charge for this payment when `type` is `charge`.Note: charge is only surfaced if the charge object is not associated with a payment intent. If the charge object does have a payment intent, the Invoice Payment surfaces the payment intent instead.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/charge"
          }
        ]
      }
    },
    "payment_intent": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/payment_intent"
        }
      ],
      "description": "ID of the PaymentIntent associated with this payment when `type` is `payment_intent`. Note: This property is only populated for invoices finalized on or after March 15th, 2019.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/payment_intent"
          }
        ]
      }
    },
    "payment_record": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/payment_record"
        }
      ],
      "description": "ID of the PaymentRecord associated with this payment when `type` is `payment_record`.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/payment_record"
          }
        ]
      }
    }
  },
  "description": "",
  "x-expandableFields": [
    "charge",
    "payment_intent",
    "payment_record"
  ]
}
object invoices_payments_invoice_payment_status_transitions
{
  "type": "object",
  "title": "InvoicesPaymentsInvoicePaymentStatusTransitions",
  "properties": {
    "paid_at": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "The time that the payment succeeded."
    },
    "canceled_at": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "The time that the payment was canceled."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoices_resource_confirmation_secret
{
  "type": "object",
  "title": "InvoicesResourceConfirmationSecret",
  "required": [
    "client_secret",
    "type"
  ],
  "properties": {
    "type": {
      "type": "string",
      "maxLength": 5000,
      "description": "The type of client_secret. Currently this is always payment_intent, referencing the default payment_intent that Stripe creates during invoice finalization"
    },
    "client_secret": {
      "type": "string",
      "maxLength": 5000,
      "description": "The client_secret of the payment that Stripe creates for the invoice after finalization."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoices_resource_from_invoice
{
  "type": "object",
  "title": "InvoicesResourceFromInvoice",
  "required": [
    "action",
    "invoice"
  ],
  "properties": {
    "action": {
      "type": "string",
      "maxLength": 5000,
      "description": "The relation between this invoice and the cloned invoice"
    },
    "invoice": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/invoice"
        }
      ],
      "description": "The invoice that was cloned.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/invoice"
          }
        ]
      }
    }
  },
  "description": "",
  "x-expandableFields": [
    "invoice"
  ]
}
object invoices_resource_invoice_rendering
{
  "type": "object",
  "title": "InvoicesResourceInvoiceRendering",
  "properties": {
    "pdf": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/invoice_rendering_pdf"
        }
      ],
      "nullable": true,
      "description": "Invoice pdf rendering options"
    },
    "template": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "ID of the rendering template that the invoice is formatted by."
    },
    "template_version": {
      "type": "integer",
      "nullable": true,
      "description": "Version of the rendering template that the invoice is using."
    },
    "amount_tax_display": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "How line-item prices and amounts will be displayed with respect to tax on invoice PDFs."
    }
  },
  "description": "",
  "x-expandableFields": [
    "pdf"
  ]
}
object invoices_resource_invoice_tax_id
{
  "type": "object",
  "title": "InvoicesResourceInvoiceTaxID",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "enum": [
        "ad_nrt",
        "ae_trn",
        "al_tin",
        "am_tin",
        "ao_tin",
        "ar_cuit",
        "au_abn",
        "au_arn",
        "aw_tin",
        "az_tin",
        "ba_tin",
        "bb_tin",
        "bd_bin",
        "bf_ifu",
        "bg_uic",
        "bh_vat",
        "bj_ifu",
        "bo_tin",
        "br_cnpj",
        "br_cpf",
        "bs_tin",
        "by_tin",
        "ca_bn",
        "ca_gst_hst",
        "ca_pst_bc",
        "ca_pst_mb",
        "ca_pst_sk",
        "ca_qst",
        "cd_nif",
        "ch_uid",
        "ch_vat",
        "cl_tin",
        "cm_niu",
        "cn_tin",
        "co_nit",
        "cr_tin",
        "cv_nif",
        "de_stn",
        "do_rcn",
        "ec_ruc",
        "eg_tin",
        "es_cif",
        "et_tin",
        "eu_oss_vat",
        "eu_vat",
        "fo_vat",
        "gb_vat",
        "ge_vat",
        "gi_tin",
        "gn_nif",
        "hk_br",
        "hr_oib",
        "hu_tin",
        "id_npwp",
        "il_vat",
        "in_gst",
        "is_vat",
        "it_cf",
        "jp_cn",
        "jp_rn",
        "jp_trn",
        "ke_pin",
        "kg_tin",
        "kh_tin",
        "kr_brn",
        "kz_bin",
        "la_tin",
        "li_uid",
        "li_vat",
        "lk_vat",
        "ma_vat",
        "md_vat",
        "me_pib",
        "mk_vat",
        "mr_nif",
        "mx_rfc",
        "my_frp",
        "my_itn",
        "my_sst",
        "ng_tin",
        "no_vat",
        "no_voec",
        "np_pan",
        "nz_gst",
        "om_vat",
        "pe_ruc",
        "ph_tin",
        "pl_nip",
        "py_ruc",
        "ro_tin",
        "rs_pib",
        "ru_inn",
        "ru_kpp",
        "sa_vat",
        "sg_gst",
        "sg_uen",
        "si_tin",
        "sn_ninea",
        "sr_fin",
        "sv_nit",
        "th_vat",
        "tj_tin",
        "tr_tin",
        "tw_vat",
        "tz_vat",
        "ua_vat",
        "ug_tin",
        "unknown",
        "us_ein",
        "uy_ruc",
        "uz_tin",
        "uz_vat",
        "ve_rif",
        "vn_tin",
        "za_vat",
        "zm_tin",
        "zw_tin"
      ],
      "type": "string",
      "description": "The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `hr_oib`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `no_voec`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `pl_nip`, `it_cf`, `fo_vat`, `gi_tin`, `py_ruc`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `lk_vat`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, `al_tin`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, `tz_vat`, `uz_vat`, `uz_tin`, `md_vat`, `ma_vat`, `by_tin`, `ao_tin`, `bs_tin`, `bb_tin`, `cd_nif`, `mr_nif`, `me_pib`, `zw_tin`, `ba_tin`, `gn_nif`, `mk_vat`, `sr_fin`, `sn_ninea`, `am_tin`, `np_pan`, `tj_tin`, `ug_tin`, `zm_tin`, `kh_tin`, `aw_tin`, `az_tin`, `bd_bin`, `bj_ifu`, `et_tin`, `kg_tin`, `la_tin`, `cm_niu`, `cv_nif`, `bf_ifu`, or `unknown`"
    },
    "value": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The value of the tax ID."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object invoices_resource_pretax_credit_amount
{
  "type": "object",
  "title": "InvoicesResourcePretaxCreditAmount",
  "required": [
    "amount",
    "type"
  ],
  "properties": {
    "type": {
      "enum": [
        "credit_balance_transaction",
        "discount"
      ],
      "type": "string",
      "description": "Type of the pretax credit amount referenced.",
      "x-stripeBypassValidation": true
    },
    "amount": {
      "type": "integer",
      "description": "The amount, in cents (or local equivalent), of the pretax credit amount."
    },
    "discount": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/discount"
        },
        {
          "$ref": "#/components/schemas/deleted_discount"
        }
      ],
      "description": "The discount that was applied to get this pretax credit amount.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/discount"
          },
          {
            "$ref": "#/components/schemas/deleted_discount"
          }
        ]
      }
    },
    "credit_balance_transaction": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/billing.credit_balance_transaction"
        }
      ],
      "nullable": true,
      "description": "The credit balance transaction that was applied to get this pretax credit amount.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/billing.credit_balance_transaction"
          }
        ]
      }
    }
  },
  "description": "",
  "x-expandableFields": [
    "credit_balance_transaction",
    "discount"
  ]
}
object invoices_resource_shipping_cost
{
  "type": "object",
  "title": "InvoicesResourceShippingCost",
  "required": [
    "amount_subtotal",
    "amount_tax",
    "amount_total"
  ],
  "properties": {
    "taxes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/line_items_tax_amount"
      },
      "description": "The taxes applied to the shipping rate."
    },
    "amount_tax": {
      "type": "integer",
      "description": "Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0."
    },
    "amount_total": {
      "type": "integer",
      "description": "Total shipping cost after taxes are applied."
    },
    "shipping_rate": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/shipping_rate"
        }
      ],
      "nullable": true,
      "description": "The ID of the ShippingRate for this invoice.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/shipping_rate"
          }
        ]
      }
    },
    "amount_subtotal": {
      "type": "integer",
      "description": "Total shipping cost before any taxes are applied."
    }
  },
  "description": "",
  "x-expandableFields": [
    "shipping_rate",
    "taxes"
  ]
}
object invoices_resource_status_transitions
{
  "type": "object",
  "title": "InvoicesResourceStatusTransitions",
  "properties": {
    "paid_at": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "The time that the invoice was paid."
    },
    "voided_at": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "The time that the invoice was voided."
    },
    "finalized_at": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "The time that the invoice draft was finalized."
    },
    "marked_uncollectible_at": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "The time that the invoice was marked uncollectible."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object issuing.authorization
{
  "type": "object",
  "title": "IssuingAuthorization",
  "required": [
    "amount",
    "approved",
    "authorization_method",
    "balance_transactions",
    "card",
    "created",
    "currency",
    "id",
    "livemode",
    "merchant_amount",
    "merchant_currency",
    "merchant_data",
    "metadata",
    "object",
    "request_history",
    "status",
    "transactions",
    "verification_data"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 5000,
      "description": "Unique identifier for the object."
    },
    "card": {
      "$ref": "#/components/schemas/issuing.card"
    },
    "fuel": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/issuing_authorization_fuel_data"
        }
      ],
      "nullable": true,
      "description": "Information about fuel that was purchased with this transaction. Typically this information is received from the merchant after the authorization has been approved and the fuel dispensed."
    },
    "fleet": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/issuing_authorization_fleet_data"
        }
      ],
      "nullable": true,
      "description": "Fleet-specific information for authorizations using Fleet cards."
    },
    "token": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/issuing.token"
        }
      ],
      "nullable": true,
      "description": "[Token](https://docs.stripe.com/api/issuing/tokens/object) object used for this authorization. If a network token was not used for this authorization, this field will be null.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/issuing.token"
          }
        ]
      }
    },
    "amount": {
      "type": "integer",
      "description": "The total amount that was authorized or rejected. This amount is in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). `amount` should be the same as `merchant_amount`, unless `currency` and `merchant_currency` are different."
    },
    "object": {
      "enum": [
        "issuing.authorization"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "status": {
      "enum": [
        "closed",
        "expired",
        "pending",
        "reversed"
      ],
      "type": "string",
      "description": "The current status of the authorization in its lifecycle."
    },
    "wallet": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. Will populate as `null` when no digital wallet was utilized."
    },
    "created": {
      "type": "integer",
      "format": "unix-time",
      "description": "Time at which the object was created. Measured in seconds since the Unix epoch."
    },
    "approved": {
      "type": "boolean",
      "description": "Whether the authorization has been approved."
    },
    "currency": {
      "type": "string",
      "format": "currency",
      "description": "The currency of the cardholder. This currency can be different from the currency presented at authorization and the `merchant_currency` field on this authorization. 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)."
    },
    "livemode": {
      "type": "boolean",
      "description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
    },
    "metadata": {
      "type": "object",
      "description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
      "additionalProperties": {
        "type": "string",
        "maxLength": 500
      }
    },
    "treasury": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/issuing_authorization_treasury"
        }
      ],
      "nullable": true,
      "description": "[Treasury](https://docs.stripe.com/api/treasury) details related to this authorization if it was created on a [FinancialAccount](https://docs.stripe.com/api/treasury/financial_accounts)."
    },
    "cardholder": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/issuing.cardholder"
        }
      ],
      "nullable": true,
      "description": "The cardholder to whom this authorization belongs.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/issuing.cardholder"
          }
        ]
      }
    },
    "network_data": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/issuing_authorization_network_data"
        }
      ],
      "nullable": true,
      "description": "Details about the authorization, such as identifiers, set by the card network."
    },
    "transactions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/issuing.transaction"
      },
      "description": "List of [transactions](https://docs.stripe.com/api/issuing/transactions) associated with this authorization."
    },
    "card_presence": {
      "enum": [
        "not_present",
        "present"
      ],
      "type": "string",
      "nullable": true,
      "description": "Whether the card was present at the point of sale for the authorization."
    },
    "merchant_data": {
      "$ref": "#/components/schemas/issuing_authorization_merchant_data"
    },
    "amount_details": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/issuing_authorization_amount_details"
        }
      ],
      "nullable": true,
      "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal)."
    },
    "merchant_amount": {
      "type": "integer",
      "description": "The total amount that was authorized or rejected. This amount is in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). `merchant_amount` should be the same as `amount`, unless `merchant_currency` and `currency` are different."
    },
    "pending_request": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/issuing_authorization_pending_request"
        }
      ],
      "nullable": true,
      "description": "The pending authorization request. This field will only be non-null during an `issuing_authorization.request` webhook."
    },
    "request_history": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/issuing_authorization_request"
      },
      "description": "History of every time a `pending_request` authorization was approved/declined, either by you directly or by Stripe (e.g. based on your spending_controls). If the merchant changes the authorization by performing an incremental authorization, you can look at this field to see the previous requests for the authorization. This field can be helpful in determining why a given authorization was approved/declined."
    },
    "fraud_challenges": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/issuing_authorization_fraud_challenge"
      },
      "nullable": true,
      "description": "Fraud challenges sent to the cardholder, if this authorization was declined for fraud risk reasons."
    },
    "merchant_currency": {
      "type": "string",
      "format": "currency",
      "description": "The local currency that was presented to the cardholder for the authorization. This currency can be different from the cardholder currency and the `currency` field on this authorization. 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)."
    },
    "verification_data": {
      "$ref": "#/components/schemas/issuing_authorization_verification_data"
    },
    "authorization_method": {
      "enum": [
        "chip",
        "contactless",
        "keyed_in",
        "online",
        "swipe"
      ],
      "type": "string",
      "description": "How the card details were provided."
    },
    "balance_transactions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/balance_transaction"
      },
      "description": "List of balance transactions associated with this authorization."
    },
    "verified_by_fraud_challenge": {
      "type": "boolean",
      "nullable": true,
      "description": "Whether the authorization bypassed fraud risk checks because the cardholder has previously completed a fraud challenge on a similar high-risk authorization from the same merchant."
    }
  },
  "description": "When an [issued card](https://docs.stripe.com/issuing) is used to make a purchase, an Issuing `Authorization`\nobject is created. [Authorizations](https://docs.stripe.com/issuing/purchases/authorizations) must be approved for the\npurchase to be completed successfully.\n\nRelated guide: [Issued card authorizations](https://docs.stripe.com/issuing/purchases/authorizations)",
  "x-resourceId": "issuing.authorization",
  "x-expandableFields": [
    "amount_details",
    "balance_transactions",
    "card",
    "cardholder",
    "fleet",
    "fraud_challenges",
    "fuel",
    "merchant_data",
    "network_data",
    "pending_request",
    "request_history",
    "token",
    "transactions",
    "treasury",
    "verification_data"
  ]
}
object issuing.card
{
  "type": "object",
  "title": "IssuingCard",
  "required": [
    "brand",
    "cardholder",
    "created",
    "currency",
    "exp_month",
    "exp_year",
    "id",
    "last4",
    "livemode",
    "metadata",
    "object",
    "spending_controls",
    "status",
    "type"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 5000,
      "description": "Unique identifier for the object."
    },
    "cvc": {
      "type": "string",
      "maxLength": 5000,
      "description": "The card's CVC. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://docs.stripe.com/api/expanding_objects). Additionally, it's only available via the [\"Retrieve a card\" endpoint](https://docs.stripe.com/api/issuing/cards/retrieve), not via \"List all cards\" or any other endpoint."
    },
    "type": {
      "enum": [
        "physical",
        "virtual"
      ],
      "type": "string",
      "description": "The type of the card."
    },
    "brand": {
      "type": "string",
      "maxLength": 5000,
      "description": "The brand of the card."
    },
    "last4": {
      "type": "string",
      "maxLength": 5000,
      "description": "The last 4 digits of the card number."
    },
    "number": {
      "type": "string",
      "maxLength": 5000,
      "description": "The full unredacted card number. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://docs.stripe.com/api/expanding_objects). Additionally, it's only available via the [\"Retrieve a card\" endpoint](https://docs.stripe.com/api/issuing/cards/retrieve), not via \"List all cards\" or any other endpoint."
    },
    "object": {
      "enum": [
        "issuing.card"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "status": {
      "enum": [
        "active",
        "canceled",
        "inactive"
      ],
      "type": "string",
      "description": "Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`.",
      "x-stripeBypassValidation": true
    },
    "created": {
      "type": "integer",
      "format": "unix-time",
      "description": "Time at which the object was created. Measured in seconds since the Unix epoch."
    },
    "wallets": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/issuing_card_wallets"
        }
      ],
      "nullable": true,
      "description": "Information relating to digital wallets (like Apple Pay and Google Pay)."
    },
    "currency": {
      "type": "string",
      "format": "currency",
      "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Supported currencies are `usd` in the US, `eur` in the EU, and `gbp` in the UK."
    },
    "exp_year": {
      "type": "integer",
      "description": "The expiration year of the card."
    },
    "livemode": {
      "type": "boolean",
      "description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
    },
    "metadata": {
      "type": "object",
      "description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
      "additionalProperties": {
        "type": "string",
        "maxLength": 500
      }
    },
    "shipping": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/issuing_card_shipping"
        }
      ],
      "nullable": true,
      "description": "Where and how the card will be shipped."
    },
    "exp_month": {
      "type": "integer",
      "description": "The expiration month of the card."
    },
    "cardholder": {
      "$ref": "#/components/schemas/issuing.cardholder"
    },
    "replaced_by": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/issuing.card"
        }
      ],
      "nullable": true,
      "description": "The latest card that replaces this card, if any.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/issuing.card"
          }
        ]
      }
    },
    "second_line": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Text separate from cardholder name, printed on the card."
    },
    "replacement_for": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/issuing.card"
        }
      ],
      "nullable": true,
      "description": "The card this card replaces, if any.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/issuing.card"
          }
        ]
      }
    },
    "financial_account": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The financial account this card is attached to."
    },
    "spending_controls": {
      "$ref": "#/components/schemas/issuing_card_authorization_controls"
    },
    "lifecycle_controls": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/issuing_card_lifecycle_controls"
        }
      ],
      "nullable": true,
      "description": "Rules that control the lifecycle of this card, such as automatic cancellation. Refer to our [documentation](/issuing/controls/lifecycle-controls) for more details."
    },
    "replacement_reason": {
      "enum": [
        "damaged",
        "expired",
        "fulfillment_error",
        "lost",
        "stolen"
      ],
      "type": "string",
      "nullable": true,
      "description": "The reason why the previous card needed to be replaced.",
      "x-stripeBypassValidation": true
    },
    "cancellation_reason": {
      "enum": [
        "design_rejected",
        "fulfillment_error",
        "lost",
        "stolen"
      ],
      "type": "string",
      "nullable": true,
      "description": "The reason why the card was canceled.",
      "x-stripeBypassValidation": true
    },
    "latest_fraud_warning": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/issuing_card_fraud_warning"
        }
      ],
      "nullable": true,
      "description": "Stripe’s assessment of whether this card’s details have been compromised. If this property isn't null, cancel and reissue the card to prevent fraudulent activity risk."
    },
    "personalization_design": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/issuing.personalization_design"
        }
      ],
      "nullable": true,
      "description": "The personalization design object belonging to this card.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/issuing.personalization_design"
          }
        ]
      }
    }
  },
  "description": "You can [create physical or virtual cards](https://docs.stripe.com/issuing) that are issued to cardholders.",
  "x-resourceId": "issuing.card",
  "x-expandableFields": [
    "cardholder",
    "latest_fraud_warning",
    "lifecycle_controls",
    "personalization_design",
    "replaced_by",
    "replacement_for",
    "shipping",
    "spending_controls",
    "wallets"
  ]
}
object issuing.cardholder
{
  "type": "object",
  "title": "IssuingCardholder",
  "required": [
    "billing",
    "created",
    "id",
    "livemode",
    "metadata",
    "name",
    "object",
    "requirements",
    "status",
    "type"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 5000,
      "description": "Unique identifier for the object."
    },
    "name": {
      "type": "string",
      "maxLength": 5000,
      "description": "The cardholder's name. This will be printed on cards issued to them."
    },
    "type": {
      "enum": [
        "company",
        "individual"
      ],
      "type": "string",
      "description": "One of `individual` or `company`. See [Choose a cardholder type](https://docs.stripe.com/issuing/other/choose-cardholder) for more details.",
      "x-stripeBypassValidation": true
    },
    "email": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The cardholder's email address."
    },
    "object": {
      "enum": [
        "issuing.cardholder"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "status": {
      "enum": [
        "active",
        "blocked",
        "inactive"
      ],
      "type": "string",
      "description": "Specifies whether to permit authorizations on this cardholder's cards."
    },
    "billing": {
      "$ref": "#/components/schemas/issuing_cardholder_address"
    },
    "company": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/issuing_cardholder_company"
        }
      ],
      "nullable": true,
      "description": "Additional information about a `company` cardholder."
    },
    "created": {
      "type": "integer",
      "format": "unix-time",
      "description": "Time at which the object was created. Measured in seconds since the Unix epoch."
    },
    "livemode": {
      "type": "boolean",
      "description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
    },
    "metadata": {
      "type": "object",
      "description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
      "additionalProperties": {
        "type": "string",
        "maxLength": 500
      }
    },
    "individual": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/issuing_cardholder_individual"
        }
      ],
      "nullable": true,
      "description": "Additional information about an `individual` cardholder."
    },
    "phone_number": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://docs.stripe.com/issuing/3d-secure#when-is-3d-secure-applied) for more details."
    },
    "requirements": {
      "$ref": "#/components/schemas/issuing_cardholder_requirements"
    },
    "preferred_locales": {
      "type": "array",
      "items": {
        "enum": [
          "de",
          "en",
          "es",
          "fr",
          "it"
        ],
        "type": "string",
        "x-stripeBypassValidation": true
      },
      "nullable": true,
      "description": "The cardholder’s preferred locales (languages), ordered by preference. Locales can be `da`, `de`, `en`, `es`, `fr`, `it`, `pl`, or `sv`.\n This changes the language of the [3D Secure flow](https://docs.stripe.com/issuing/3d-secure) and one-time password messages sent to the cardholder."
    },
    "spending_controls": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/issuing_cardholder_authorization_controls"
        }
      ],
      "nullable": true,
      "description": "Rules that control spending across this cardholder's cards. Refer to our [documentation](https://docs.stripe.com/issuing/controls/spending-controls) for more details."
    }
  },
  "description": "An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://docs.stripe.com/issuing) cards.\n\nRelated guide: [How to create a cardholder](https://docs.stripe.com/issuing/cards/virtual/issue-cards#create-cardholder)",
  "x-resourceId": "issuing.cardholder",
  "x-expandableFields": [
    "billing",
    "company",
    "individual",
    "requirements",
    "spending_controls"
  ]
}
Load more schemas