Skip to content

Instantly share code, notes, and snippets.

@mshick
Last active April 8, 2022 20:52
Show Gist options
  • Save mshick/58347a501a10eea540ef072c6c71a003 to your computer and use it in GitHub Desktop.
Save mshick/58347a501a10eea540ef072c6c71a003 to your computer and use it in GitHub Desktop.
stripe-missing-fields
{
"Stripe_CheckoutSession": {
"id": "Stripe_CheckoutSession",
"name": "Stripe_CheckoutSession",
"title": "Stripe_CheckoutSession",
"schema": {
"type": "object",
"properties": {
"after_expiration": {
"@ref": "stripe:PaymentPagesCheckoutSessionAfterExpiration"
},
"allow_promotion_codes": {
"description": "Enables user redeemable promotion codes.",
"type": "boolean"
},
"amount_subtotal": {
"description": "Total of all items before discounts or taxes are applied.",
"type": "integer"
},
"amount_total": {
"description": "Total of all items after discounts and taxes are applied.",
"type": "integer"
},
"automatic_tax": {
"@ref": "stripe:PaymentPagesCheckoutSessionAutomaticTax"
},
"billing_address_collection": {
"description": "Describes whether Checkout should collect the customer's billing address.",
"enum": [
"auto",
"required",
null
]
},
"cancel_url": {
"description": "The URL the customer will be directed to if they decide to cancel payment and return to your website.",
"maxLength": 5000,
"type": "string"
},
"client_reference_id": {
"description": "A unique string to reference the Checkout Session. This can be a\ncustomer ID, a cart ID, or similar, and can be used to reconcile the\nSession with your internal systems.",
"maxLength": 5000,
"type": "string"
},
"consent": {
"@ref": "stripe:PaymentPagesCheckoutSessionConsent"
},
"consent_collection": {
"@ref": "stripe:PaymentPagesCheckoutSessionConsentCollection"
},
"currency": {
"description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
"type": "string"
},
"customer": {
"oneOf": [
{
"@ref": "local:WrappedString"
},
{
"@ref": "stripe:Customer"
},
{
"@ref": "stripe:DeletedCustomer"
}
],
"@resolver": {
"name": "util:wrap",
"service": "takeshape:local"
}
},
"customer_creation": {
"description": "Configure whether a Checkout Session creates a Customer when the Checkout Session completes.",
"enum": [
"always",
"if_required",
null
]
},
"customer_details": {
"@ref": "stripe:PaymentPagesCheckoutSessionCustomerDetails"
},
"customer_email": {
"description": "If provided, this value will be used when the Customer object is created.\nIf not provided, customers will be asked to enter their email address.\nUse this parameter to prefill customer data if you already have an email\non file. To access information about the customer once the payment flow is\ncomplete, use the `customer` attribute.",
"maxLength": 5000,
"type": "string"
},
"expires_at": {
"description": "The timestamp at which the Checkout Session will expire.",
"format": "unix-time",
"type": "integer"
},
"id": {
"description": "Unique identifier for the object. Used to pass to `redirectToCheckout`\nin Stripe.js.",
"maxLength": 5000,
"type": "string"
},
"line_items": {
"description": "The line items purchased by the customer.",
"properties": {
"data": {
"description": "Details about each object.",
"items": {
"@ref": "stripe:Item"
},
"type": "array"
},
"has_more": {
"description": "True if this list has another page of items after this one that can be fetched.",
"type": "boolean"
},
"object": {
"description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.",
"enum": [
"list"
]
},
"url": {
"description": "The URL where this list can be accessed.",
"maxLength": 5000,
"type": "string"
}
},
"required": [
"data",
"has_more",
"object",
"url"
],
"title": "PaymentPagesCheckoutSessionListLineItems",
"type": "object"
},
"livemode": {
"description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.",
"type": "boolean"
},
"locale": {
"description": "The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used.",
"enum": [
"auto",
"bg",
"cs",
"da",
"de",
"el",
"en",
"en-GB",
"es",
"es-419",
"et",
"fi",
"fil",
"fr",
"fr-CA",
"hr",
"hu",
"id",
"it",
"ja",
"ko",
"lt",
"lv",
"ms",
"mt",
"nb",
"nl",
"pl",
"pt",
"pt-BR",
"ro",
"ru",
"sk",
"sl",
"sv",
"th",
"tr",
"vi",
"zh",
"zh-HK",
"zh-TW",
null
]
},
"metadata": {
"description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
"type": "object"
},
"mode": {
"description": "The mode of the Checkout Session.",
"enum": [
"payment",
"setup",
"subscription"
]
},
"object": {
"description": "String representing the object's type. Objects of the same type share the same value.",
"enum": [
"checkout.session"
]
},
"payment_intent": {
"oneOf": [
{
"@ref": "local:WrappedString"
},
{
"@ref": "stripe:PaymentIntent"
}
],
"@resolver": {
"name": "util:wrap",
"service": "takeshape:local"
}
},
"payment_link": {
"oneOf": [
{
"@ref": "local:WrappedString"
},
{
"@ref": "stripe:PaymentLink"
}
],
"@resolver": {
"name": "util:wrap",
"service": "takeshape:local"
}
},
"payment_method_options": {
"@ref": "stripe:CheckoutSessionPaymentMethodOptions"
},
"payment_method_types": {
"description": "A list of the types of payment methods (e.g. card) this Checkout\nSession is allowed to accept.",
"items": {
"maxLength": 5000,
"type": "string"
},
"type": "array"
},
"payment_status": {
"description": "The payment status of the Checkout Session, one of `paid`, `unpaid`, or `no_payment_required`.\nYou can use this value to decide when to fulfill your customer's order.",
"enum": [
"no_payment_required",
"paid",
"unpaid"
]
},
"phone_number_collection": {
"@ref": "stripe:PaymentPagesCheckoutSessionPhoneNumberCollection"
},
"recovered_from": {
"description": "The ID of the original expired Checkout Session that triggered the recovery flow.",
"maxLength": 5000,
"type": "string"
},
"setup_intent": {
"oneOf": [
{
"@ref": "local:WrappedString"
},
{
"@ref": "stripe:SetupIntent"
}
],
"@resolver": {
"name": "util:wrap",
"service": "takeshape:local"
}
},
"shipping": {
"@ref": "stripe:Shipping"
},
"shipping_address_collection": {
"@ref": "stripe:PaymentPagesCheckoutSessionShippingAddressCollection"
},
"shipping_options": {
"description": "The shipping rate options applied to this Session.",
"items": {
"@ref": "stripe:PaymentPagesCheckoutSessionShippingOption"
},
"type": "array"
},
"shipping_rate": {
"oneOf": [
{
"@ref": "local:WrappedString"
},
{
"@ref": "stripe:ShippingRate"
}
],
"@resolver": {
"name": "util:wrap",
"service": "takeshape:local"
}
},
"status": {
"description": "The status of the Checkout Session, one of `open`, `complete`, or `expired`.",
"enum": [
"complete",
"expired",
"open",
null
]
},
"submit_type": {
"description": "Describes the type of transaction being performed by Checkout in order to customize\nrelevant text on the page, such as the submit button. `submit_type` can only be\nspecified on Checkout Sessions in `payment` mode, but not Checkout Sessions\nin `subscription` or `setup` mode.",
"enum": [
"auto",
"book",
"donate",
"pay",
null
]
},
"subscription": {
"oneOf": [
{
"@ref": "local:WrappedString"
},
{
"@ref": "stripe:Subscription"
}
],
"@resolver": {
"name": "util:wrap",
"service": "takeshape:local"
}
},
"success_url": {
"description": "The URL the customer will be directed to after the payment or\nsubscription creation is successful.",
"maxLength": 5000,
"type": "string"
},
"tax_id_collection": {
"@ref": "stripe:PaymentPagesCheckoutSessionTaxIdCollection"
},
"total_details": {
"@ref": "stripe:PaymentPagesCheckoutSessionTotalDetails"
},
"url": {
"description": "The URL to the Checkout Session.",
"maxLength": 5000,
"type": "string"
}
}
}
}
}
{
"Stripe_CheckoutSession": {
"id": "Stripe_CheckoutSession",
"name": "Stripe_CheckoutSession",
"title": "Stripe_CheckoutSession",
"schema": {
"type": "object",
"properties": {
"allow_promotion_codes": {
"description": "Enables user redeemable promotion codes.",
"type": "boolean"
},
"amount_subtotal": {
"description": "Total of all items before discounts or taxes are applied.",
"type": "integer"
},
"amount_total": {
"description": "Total of all items after discounts and taxes are applied.",
"type": "integer"
},
"automatic_tax": {
"@ref": "stripe:PaymentPagesCheckoutSessionAutomaticTax"
},
"billing_address_collection": {
"description": "Describes whether Checkout should collect the customer's billing address.",
"enum": [
"auto",
"required",
null
]
},
"cancel_url": {
"description": "The URL the customer will be directed to if they decide to cancel payment and return to your website.",
"maxLength": 5000,
"type": "string"
},
"client_reference_id": {
"description": "A unique string to reference the Checkout Session. This can be a\ncustomer ID, a cart ID, or similar, and can be used to reconcile the\nSession with your internal systems.",
"maxLength": 5000,
"type": "string"
},
"currency": {
"description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
"type": "string"
},
"customer": {
"oneOf": [
{
"@ref": "local:WrappedString"
},
{
"@ref": "stripe:Customer"
},
{
"@ref": "stripe:DeletedCustomer"
}
],
"@resolver": {
"name": "util:wrap",
"service": "takeshape:local"
}
},
"customer_details": {
"@ref": "stripe:PaymentPagesCheckoutSessionCustomerDetails"
},
"customer_email": {
"description": "If provided, this value will be used when the Customer object is created.\nIf not provided, customers will be asked to enter their email address.\nUse this parameter to prefill customer data if you already have an email\non file. To access information about the customer once the payment flow is\ncomplete, use the `customer` attribute.",
"maxLength": 5000,
"type": "string"
},
"id": {
"description": "Unique identifier for the object. Used to pass to `redirectToCheckout`\nin Stripe.js.",
"maxLength": 5000,
"type": "string"
},
"line_items": {
"description": "The line items purchased by the customer.",
"properties": {
"data": {
"description": "Details about each object.",
"items": {
"@ref": "stripe:Item"
},
"type": "array"
},
"has_more": {
"description": "True if this list has another page of items after this one that can be fetched.",
"type": "boolean"
},
"object": {
"description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.",
"enum": [
"list"
]
},
"url": {
"description": "The URL where this list can be accessed.",
"maxLength": 5000,
"type": "string"
}
},
"required": [
"data",
"has_more",
"object",
"url"
],
"title": "PaymentPagesCheckoutSessionListLineItems",
"type": "object"
},
"livemode": {
"description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.",
"type": "boolean"
},
"locale": {
"description": "The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used.",
"enum": [
"auto",
"bg",
"cs",
"da",
"de",
"el",
"en",
"en-GB",
"es",
"es-419",
"et",
"fi",
"fr",
"fr-CA",
"hr",
"hu",
"id",
"it",
"ja",
"ko",
"lt",
"lv",
"ms",
"mt",
"nb",
"nl",
"pl",
"pt",
"pt-BR",
"ro",
"ru",
"sk",
"sl",
"sv",
"th",
"tr",
"vi",
"zh",
"zh-HK",
"zh-TW",
null
]
},
"metadata": {
"description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
"type": "object"
},
"mode": {
"description": "The mode of the Checkout Session.",
"enum": [
"payment",
"setup",
"subscription"
]
},
"object": {
"description": "String representing the object's type. Objects of the same type share the same value.",
"enum": [
"checkout.session"
]
},
"payment_intent": {
"oneOf": [
{
"@ref": "local:WrappedString"
},
{
"@ref": "stripe:PaymentIntent"
}
],
"@resolver": {
"name": "util:wrap",
"service": "takeshape:local"
}
},
"payment_method_options": {
"@ref": "stripe:CheckoutSessionPaymentMethodOptions"
},
"payment_method_types": {
"description": "A list of the types of payment methods (e.g. card) this Checkout\nSession is allowed to accept.",
"items": {
"maxLength": 5000,
"type": "string"
},
"type": "array"
},
"payment_status": {
"description": "The payment status of the Checkout Session, one of `paid`, `unpaid`, or `no_payment_required`.\nYou can use this value to decide when to fulfill your customer's order.",
"enum": [
"no_payment_required",
"paid",
"unpaid"
]
},
"setup_intent": {
"oneOf": [
{
"@ref": "local:WrappedString"
},
{
"@ref": "stripe:SetupIntent"
}
],
"@resolver": {
"name": "util:wrap",
"service": "takeshape:local"
}
},
"shipping": {
"@ref": "stripe:Shipping"
},
"shipping_address_collection": {
"@ref": "stripe:PaymentPagesPaymentPageResourcesShippingAddressCollection"
},
"submit_type": {
"description": "Describes the type of transaction being performed by Checkout in order to customize\nrelevant text on the page, such as the submit button. `submit_type` can only be\nspecified on Checkout Sessions in `payment` mode, but not Checkout Sessions\nin `subscription` or `setup` mode.",
"enum": [
"auto",
"book",
"donate",
"pay",
null
]
},
"subscription": {
"oneOf": [
{
"@ref": "local:WrappedString"
},
{
"@ref": "stripe:Subscription"
}
],
"@resolver": {
"name": "util:wrap",
"service": "takeshape:local"
}
},
"success_url": {
"description": "The URL the customer will be directed to after the payment or\nsubscription creation is successful.",
"maxLength": 5000,
"type": "string"
},
"tax_id_collection": {
"@ref": "stripe:PaymentPagesCheckoutSessionTaxIdCollection"
},
"total_details": {
"@ref": "stripe:PaymentPagesCheckoutSessionTotalDetails"
},
"url": {
"description": "The URL to the Checkout Session.",
"maxLength": 5000,
"type": "string"
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment