",
+ "scheme": "bearer",
+ "type": "http"
+ }
+ }
+ },
+ "info": {
+ "contact": {
+ "email": "dev-platform@stripe.com",
+ "name": "Stripe Dev Platform Team",
+ "url": "https://stripe.com"
+ },
+ "description": "The Stripe REST API. Please see https://stripe.com/docs/api for more details.",
+ "termsOfService": "https://stripe.com/us/terms/",
+ "title": "Stripe API",
+ "version": "2024-06-20",
+ "x-stripeSpecFilename": "spec3"
+ },
+ "openapi": "3.0.0",
+ "paths": {
+ "/v1/account": {
+ "get": {
+ "description": "Retrieves the details of an account.
",
+ "operationId": "GetAccount",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/account_links": {
+ "post": {
+ "description": "Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow.
",
+ "operationId": "PostAccountLinks",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "collection_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account": {
+ "description": "The identifier of the account to create an account link for.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "collect": {
+ "description": "The collect parameter is deprecated. Use `collection_options` instead.",
+ "enum": [
+ "currently_due",
+ "eventually_due"
+ ],
+ "type": "string"
+ },
+ "collection_options": {
+ "description": "Specifies the requirements that Stripe collects from connected accounts in the Connect Onboarding flow.",
+ "properties": {
+ "fields": {
+ "enum": [
+ "currently_due",
+ "eventually_due"
+ ],
+ "type": "string"
+ },
+ "future_requirements": {
+ "enum": [
+ "include",
+ "omit"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "fields"
+ ],
+ "title": "collection_options_params",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "refresh_url": {
+ "description": "The URL the user will be redirected to if the account link is expired, has been previously-visited, or is otherwise invalid. The URL you specify should attempt to generate a new account link with the same parameters used to create the original account link, then redirect the user to the new account link's URL so they can continue with Connect Onboarding. If a new account link cannot be generated or the redirect fails you should display a useful error to the user.",
+ "type": "string"
+ },
+ "return_url": {
+ "description": "The URL that the user will be redirected to upon leaving or completing the linked flow.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of account link the user is requesting. Possible values are `account_onboarding` or `account_update`.",
+ "enum": [
+ "account_onboarding",
+ "account_update"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "account",
+ "type"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/account_link"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/account_sessions": {
+ "post": {
+ "description": "Creates a AccountSession object that includes a single-use token that the platform can use on their front-end to grant client-side API access.
",
+ "operationId": "PostAccountSessions",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "components": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account": {
+ "description": "The identifier of the account to create an Account Session for.",
+ "type": "string"
+ },
+ "components": {
+ "description": "Each key of the dictionary represents an embedded component, and each embedded component maps to its configuration (e.g. whether it has been enabled or not).",
+ "properties": {
+ "account_management": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "features": {
+ "properties": {
+ "external_account_collection": {
+ "type": "boolean"
+ }
+ },
+ "title": "account_features_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "account_config_param",
+ "type": "object"
+ },
+ "account_onboarding": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "features": {
+ "properties": {
+ "external_account_collection": {
+ "type": "boolean"
+ }
+ },
+ "title": "account_features_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "account_config_param",
+ "type": "object"
+ },
+ "balances": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "features": {
+ "properties": {
+ "edit_payout_schedule": {
+ "type": "boolean"
+ },
+ "external_account_collection": {
+ "type": "boolean"
+ },
+ "instant_payouts": {
+ "type": "boolean"
+ },
+ "standard_payouts": {
+ "type": "boolean"
+ }
+ },
+ "title": "payouts_features_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "payouts_config_param",
+ "type": "object"
+ },
+ "documents": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "features": {
+ "properties": {},
+ "title": "base_features_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "base_config_param",
+ "type": "object"
+ },
+ "notification_banner": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "features": {
+ "properties": {
+ "external_account_collection": {
+ "type": "boolean"
+ }
+ },
+ "title": "account_features_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "account_config_param",
+ "type": "object"
+ },
+ "payment_details": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "features": {
+ "properties": {
+ "capture_payments": {
+ "type": "boolean"
+ },
+ "destination_on_behalf_of_charge_management": {
+ "type": "boolean"
+ },
+ "dispute_management": {
+ "type": "boolean"
+ },
+ "refund_management": {
+ "type": "boolean"
+ }
+ },
+ "title": "payments_features_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "payments_config_param",
+ "type": "object"
+ },
+ "payments": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "features": {
+ "properties": {
+ "capture_payments": {
+ "type": "boolean"
+ },
+ "destination_on_behalf_of_charge_management": {
+ "type": "boolean"
+ },
+ "dispute_management": {
+ "type": "boolean"
+ },
+ "refund_management": {
+ "type": "boolean"
+ }
+ },
+ "title": "payments_features_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "payments_config_param",
+ "type": "object"
+ },
+ "payouts": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "features": {
+ "properties": {
+ "edit_payout_schedule": {
+ "type": "boolean"
+ },
+ "external_account_collection": {
+ "type": "boolean"
+ },
+ "instant_payouts": {
+ "type": "boolean"
+ },
+ "standard_payouts": {
+ "type": "boolean"
+ }
+ },
+ "title": "payouts_features_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "payouts_config_param",
+ "type": "object"
+ },
+ "payouts_list": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "features": {
+ "properties": {},
+ "title": "base_features_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "base_config_param",
+ "type": "object"
+ },
+ "tax_registrations": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "features": {
+ "properties": {},
+ "title": "base_features_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "base_config_param",
+ "type": "object"
+ },
+ "tax_settings": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "features": {
+ "properties": {},
+ "title": "base_features_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "base_config_param",
+ "type": "object"
+ }
+ },
+ "title": "account_session_create_components_param",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "account",
+ "components"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/account_session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts": {
+ "get": {
+ "description": "Returns a list of accounts connected to your platform via Connect. If you’re not a platform, the list is empty.
",
+ "operationId": "GetAccounts",
+ "parameters": [
+ {
+ "description": "Only return connected accounts that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/account"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/accounts",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "AccountList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "With Connect, you can create Stripe accounts for your users.\nTo do this, you’ll first need to register your platform.
\n\nIf you’ve already collected information for your connected accounts, you can prefill that information when\ncreating the account. Connect Onboarding won’t ask for the prefilled information during account onboarding.\nYou can prefill any information on the account.
",
+ "operationId": "PostAccounts",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "bank_account": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "business_profile": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "capabilities": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "company": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "controller": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "documents": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "individual": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tos_acceptance": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account_token": {
+ "description": "An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "account_holder_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "futsu",
+ "savings",
+ "toza"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "documents": {
+ "properties": {
+ "bank_account_ownership_verification": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ }
+ },
+ "title": "external_account_documents_param",
+ "type": "object"
+ },
+ "object": {
+ "enum": [
+ "bank_account"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "country"
+ ],
+ "title": "external_account_payout_bank_account",
+ "type": "object"
+ },
+ {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details."
+ },
+ "business_profile": {
+ "description": "Business information about the account.",
+ "properties": {
+ "annual_revenue": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "fiscal_year_end": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency",
+ "fiscal_year_end"
+ ],
+ "title": "annual_revenue_specs",
+ "type": "object"
+ },
+ "estimated_worker_count": {
+ "type": "integer"
+ },
+ "mcc": {
+ "maxLength": 4,
+ "type": "string"
+ },
+ "monthly_estimated_revenue": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "title": "monthly_estimated_revenue_specs",
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "product_description": {
+ "maxLength": 40000,
+ "type": "string"
+ },
+ "support_address": {
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "address_specs",
+ "type": "object"
+ },
+ "support_email": {
+ "type": "string"
+ },
+ "support_phone": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "support_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "title": "business_profile_specs",
+ "type": "object"
+ },
+ "business_type": {
+ "description": "The business type. Once you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.",
+ "enum": [
+ "company",
+ "government_entity",
+ "individual",
+ "non_profit"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "capabilities": {
+ "description": "Each key of the dictionary represents a capability, and each capability\nmaps to its settings (for example, whether it has been requested or not). Each\ncapability is inactive until you have provided its specific\nrequirements and Stripe has verified them. An account might have some\nof its requested capabilities be active and some be inactive.\n\nRequired when [account.controller.stripe_dashboard.type](/api/accounts/create#create_account-controller-dashboard-type)\nis `none`, which includes Custom accounts.",
+ "properties": {
+ "acss_debit_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "affirm_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "afterpay_clearpay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "amazon_pay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "au_becs_debit_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "bacs_debit_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "bancontact_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "bank_transfer_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "blik_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "boleto_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "card_issuing": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "card_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "cartes_bancaires_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "cashapp_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "eps_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "fpx_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "gb_bank_transfer_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "giropay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "grabpay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "ideal_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "india_international_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "jcb_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "jp_bank_transfer_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "klarna_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "konbini_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "legacy_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "link_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "mobilepay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "multibanco_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "mx_bank_transfer_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "oxxo_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "p24_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "paynow_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "promptpay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "revolut_pay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "sepa_bank_transfer_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "sepa_debit_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "sofort_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "swish_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "tax_reporting_us_1099_k": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "tax_reporting_us_1099_misc": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "transfers": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "treasury": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "twint_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "us_bank_account_ach_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "us_bank_transfer_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "zip_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ }
+ },
+ "title": "capabilities_param",
+ "type": "object"
+ },
+ "company": {
+ "description": "Information about the company or business. This field is available for any `business_type`. Once you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "legal_entity_and_kyc_address_specs",
+ "type": "object"
+ },
+ "address_kana": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kana_specs",
+ "type": "object"
+ },
+ "address_kanji": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kanji_specs",
+ "type": "object"
+ },
+ "directors_provided": {
+ "type": "boolean"
+ },
+ "executives_provided": {
+ "type": "boolean"
+ },
+ "export_license_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "export_purpose_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "name_kana": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "name_kanji": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "owners_provided": {
+ "type": "boolean"
+ },
+ "ownership_declaration": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "company_ownership_declaration",
+ "type": "object"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "registration_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "structure": {
+ "enum": [
+ "",
+ "free_zone_establishment",
+ "free_zone_llc",
+ "government_instrumentality",
+ "governmental_unit",
+ "incorporated_non_profit",
+ "incorporated_partnership",
+ "limited_liability_partnership",
+ "llc",
+ "multi_member_llc",
+ "private_company",
+ "private_corporation",
+ "private_partnership",
+ "public_company",
+ "public_corporation",
+ "public_partnership",
+ "registered_charity",
+ "single_member_llc",
+ "sole_establishment",
+ "sole_proprietorship",
+ "tax_exempt_government_instrumentality",
+ "unincorporated_association",
+ "unincorporated_non_profit",
+ "unincorporated_partnership"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "tax_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_id_registrar": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "vat_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "verification": {
+ "properties": {
+ "document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "verification_document_specs",
+ "type": "object"
+ }
+ },
+ "title": "verification_specs",
+ "type": "object"
+ }
+ },
+ "title": "company_specs",
+ "type": "object"
+ },
+ "controller": {
+ "description": "A hash of configuration describing the account controller's attributes.",
+ "properties": {
+ "fees": {
+ "properties": {
+ "payer": {
+ "enum": [
+ "account",
+ "application"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "controller_fees_specs",
+ "type": "object"
+ },
+ "losses": {
+ "properties": {
+ "payments": {
+ "enum": [
+ "application",
+ "stripe"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "controller_losses_specs",
+ "type": "object"
+ },
+ "requirement_collection": {
+ "enum": [
+ "application",
+ "stripe"
+ ],
+ "type": "string"
+ },
+ "stripe_dashboard": {
+ "properties": {
+ "type": {
+ "enum": [
+ "express",
+ "full",
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "controller_dashboard_specs",
+ "type": "object"
+ }
+ },
+ "title": "controller_specs",
+ "type": "object"
+ },
+ "country": {
+ "description": "The country in which the account holder resides, or in which the business is legally established. This should be an ISO 3166-1 alpha-2 country code. For example, if you are in the United States and the business for which you're creating an account is legally represented in Canada, you would use `CA` as the country for the account being created. Available countries include [Stripe's global markets](https://stripe.com/global) as well as countries where [cross-border payouts](https://stripe.com/docs/connect/cross-border-payouts) are supported.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_currency": {
+ "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://docs.stripe.com/payouts).",
+ "type": "string"
+ },
+ "documents": {
+ "description": "Documents that may be submitted to satisfy various informational requests.",
+ "properties": {
+ "bank_account_ownership_verification": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "company_license": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "company_memorandum_of_association": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "company_ministerial_decree": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "company_registration_verification": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "company_tax_id_verification": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "proof_of_registration": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ }
+ },
+ "title": "documents_specs",
+ "type": "object"
+ },
+ "email": {
+ "description": "The email address of the account holder. This is only to make the account easier to identify to you. If [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts, Stripe doesn't email the account without your consent.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "external_account": {
+ "description": "A card or bank account to attach to the account for receiving [payouts](/connect/bank-debit-card-payouts) (you won’t be able to use it for top-ups). You can provide either a token, like the ones returned by [Stripe.js](/js), or a dictionary, as documented in the `external_account` parameter for [bank account](/api#account_create_bank_account) creation.
By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the [bank account](/api#account_create_bank_account) or [card creation](/api#account_create_card) APIs. After you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.",
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "individual": {
+ "description": "Information about the person represented by the account. This field is null unless `business_type` is set to `individual`. Once you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "address_specs",
+ "type": "object"
+ },
+ "address_kana": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kana_specs",
+ "type": "object"
+ },
+ "address_kanji": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kanji_specs",
+ "type": "object"
+ },
+ "dob": {
+ "anyOf": [
+ {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "email": {
+ "type": "string"
+ },
+ "first_name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "first_name_kana": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "first_name_kanji": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "full_name_aliases": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 300,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "gender": {
+ "type": "string"
+ },
+ "id_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "id_number_secondary": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "last_name_kana": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name_kanji": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "maiden_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "phone": {
+ "type": "string"
+ },
+ "political_exposure": {
+ "enum": [
+ "existing",
+ "none"
+ ],
+ "type": "string"
+ },
+ "registered_address": {
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "address_specs",
+ "type": "object"
+ },
+ "relationship": {
+ "properties": {
+ "director": {
+ "type": "boolean"
+ },
+ "executive": {
+ "type": "boolean"
+ },
+ "owner": {
+ "type": "boolean"
+ },
+ "percent_ownership": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "title": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "individual_relationship_specs",
+ "type": "object"
+ },
+ "ssn_last_4": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "verification": {
+ "properties": {
+ "additional_document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ },
+ "document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_verification_specs",
+ "type": "object"
+ }
+ },
+ "title": "individual_specs",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "settings": {
+ "description": "Options for customizing how the account functions within Stripe.",
+ "properties": {
+ "bacs_debit_payments": {
+ "properties": {
+ "display_name": {
+ "type": "string"
+ }
+ },
+ "title": "bacs_debit_payments_specs",
+ "type": "object"
+ },
+ "branding": {
+ "properties": {
+ "icon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "logo": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "primary_color": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "secondary_color": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "branding_settings_specs",
+ "type": "object"
+ },
+ "card_issuing": {
+ "properties": {
+ "tos_acceptance": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "settings_terms_of_service_specs",
+ "type": "object"
+ }
+ },
+ "title": "card_issuing_settings_specs",
+ "type": "object"
+ },
+ "card_payments": {
+ "properties": {
+ "decline_on": {
+ "properties": {
+ "avs_failure": {
+ "type": "boolean"
+ },
+ "cvc_failure": {
+ "type": "boolean"
+ }
+ },
+ "title": "decline_charge_on_specs",
+ "type": "object"
+ },
+ "statement_descriptor_prefix": {
+ "maxLength": 10,
+ "type": "string"
+ },
+ "statement_descriptor_prefix_kana": {
+ "anyOf": [
+ {
+ "maxLength": 10,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "statement_descriptor_prefix_kanji": {
+ "anyOf": [
+ {
+ "maxLength": 10,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "card_payments_settings_specs",
+ "type": "object"
+ },
+ "payments": {
+ "properties": {
+ "statement_descriptor": {
+ "maxLength": 22,
+ "type": "string"
+ },
+ "statement_descriptor_kana": {
+ "maxLength": 22,
+ "type": "string"
+ },
+ "statement_descriptor_kanji": {
+ "maxLength": 22,
+ "type": "string"
+ }
+ },
+ "title": "payments_settings_specs",
+ "type": "object"
+ },
+ "payouts": {
+ "properties": {
+ "debit_negative_balances": {
+ "type": "boolean"
+ },
+ "schedule": {
+ "properties": {
+ "delay_days": {
+ "anyOf": [
+ {
+ "enum": [
+ "minimum"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "interval": {
+ "enum": [
+ "daily",
+ "manual",
+ "monthly",
+ "weekly"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "monthly_anchor": {
+ "type": "integer"
+ },
+ "weekly_anchor": {
+ "enum": [
+ "friday",
+ "monday",
+ "saturday",
+ "sunday",
+ "thursday",
+ "tuesday",
+ "wednesday"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "transfer_schedule_specs",
+ "type": "object"
+ },
+ "statement_descriptor": {
+ "maxLength": 22,
+ "type": "string"
+ }
+ },
+ "title": "payout_settings_specs",
+ "type": "object"
+ },
+ "treasury": {
+ "properties": {
+ "tos_acceptance": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "settings_terms_of_service_specs",
+ "type": "object"
+ }
+ },
+ "title": "treasury_settings_specs",
+ "type": "object"
+ }
+ },
+ "title": "settings_specs",
+ "type": "object"
+ },
+ "tos_acceptance": {
+ "description": "Details on the account's acceptance of the [Stripe Services Agreement](/connect/updating-accounts#tos-acceptance). This property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. This property defaults to a `full` service agreement when empty.",
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "service_agreement": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "tos_acceptance_specs",
+ "type": "object"
+ },
+ "type": {
+ "description": "The type of Stripe account to create. May be one of `custom`, `express` or `standard`.",
+ "enum": [
+ "custom",
+ "express",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts/{account}": {
+ "delete": {
+ "description": "With Connect, you can delete accounts you manage.
\n\nTest-mode accounts can be deleted at any time.
\n\nLive-mode accounts where Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be deleted when all balances are zero.
\n\nIf you want to delete your own account, use the account information tab in your account settings instead.
",
+ "operationId": "DeleteAccountsAccount",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves the details of an account.
",
+ "operationId": "GetAccountsAccount",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates a connected account by setting the values of the parameters passed. Any parameters not provided are\nleft unchanged.
\n\nFor accounts where controller.requirement_collection\nis application
, which includes Custom accounts, you can update any information on the account.
\n\nFor accounts where controller.requirement_collection\nis stripe
, which includes Standard and Express accounts, you can update all information until you create\nan Account Link or Account Session to start Connect onboarding,\nafter which some properties can no longer be updated.
\n\nTo update your own account, use the Dashboard. Refer to our\nConnect documentation to learn more about updating accounts.
",
+ "operationId": "PostAccountsAccount",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "business_profile": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "capabilities": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "company": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "documents": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "individual": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tos_acceptance": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account_token": {
+ "description": "An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "business_profile": {
+ "description": "Business information about the account.",
+ "properties": {
+ "annual_revenue": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "fiscal_year_end": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency",
+ "fiscal_year_end"
+ ],
+ "title": "annual_revenue_specs",
+ "type": "object"
+ },
+ "estimated_worker_count": {
+ "type": "integer"
+ },
+ "mcc": {
+ "maxLength": 4,
+ "type": "string"
+ },
+ "monthly_estimated_revenue": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "title": "monthly_estimated_revenue_specs",
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "product_description": {
+ "maxLength": 40000,
+ "type": "string"
+ },
+ "support_address": {
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "address_specs",
+ "type": "object"
+ },
+ "support_email": {
+ "type": "string"
+ },
+ "support_phone": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "support_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "title": "business_profile_specs",
+ "type": "object"
+ },
+ "business_type": {
+ "description": "The business type. Once you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.",
+ "enum": [
+ "company",
+ "government_entity",
+ "individual",
+ "non_profit"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "capabilities": {
+ "description": "Each key of the dictionary represents a capability, and each capability\nmaps to its settings (for example, whether it has been requested or not). Each\ncapability is inactive until you have provided its specific\nrequirements and Stripe has verified them. An account might have some\nof its requested capabilities be active and some be inactive.\n\nRequired when [account.controller.stripe_dashboard.type](/api/accounts/create#create_account-controller-dashboard-type)\nis `none`, which includes Custom accounts.",
+ "properties": {
+ "acss_debit_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "affirm_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "afterpay_clearpay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "amazon_pay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "au_becs_debit_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "bacs_debit_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "bancontact_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "bank_transfer_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "blik_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "boleto_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "card_issuing": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "card_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "cartes_bancaires_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "cashapp_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "eps_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "fpx_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "gb_bank_transfer_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "giropay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "grabpay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "ideal_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "india_international_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "jcb_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "jp_bank_transfer_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "klarna_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "konbini_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "legacy_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "link_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "mobilepay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "multibanco_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "mx_bank_transfer_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "oxxo_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "p24_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "paynow_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "promptpay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "revolut_pay_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "sepa_bank_transfer_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "sepa_debit_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "sofort_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "swish_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "tax_reporting_us_1099_k": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "tax_reporting_us_1099_misc": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "transfers": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "treasury": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "twint_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "us_bank_account_ach_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "us_bank_transfer_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ },
+ "zip_payments": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "title": "capability_param",
+ "type": "object"
+ }
+ },
+ "title": "capabilities_param",
+ "type": "object"
+ },
+ "company": {
+ "description": "Information about the company or business. This field is available for any `business_type`. Once you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "legal_entity_and_kyc_address_specs",
+ "type": "object"
+ },
+ "address_kana": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kana_specs",
+ "type": "object"
+ },
+ "address_kanji": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kanji_specs",
+ "type": "object"
+ },
+ "directors_provided": {
+ "type": "boolean"
+ },
+ "executives_provided": {
+ "type": "boolean"
+ },
+ "export_license_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "export_purpose_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "name_kana": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "name_kanji": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "owners_provided": {
+ "type": "boolean"
+ },
+ "ownership_declaration": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "company_ownership_declaration",
+ "type": "object"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "registration_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "structure": {
+ "enum": [
+ "",
+ "free_zone_establishment",
+ "free_zone_llc",
+ "government_instrumentality",
+ "governmental_unit",
+ "incorporated_non_profit",
+ "incorporated_partnership",
+ "limited_liability_partnership",
+ "llc",
+ "multi_member_llc",
+ "private_company",
+ "private_corporation",
+ "private_partnership",
+ "public_company",
+ "public_corporation",
+ "public_partnership",
+ "registered_charity",
+ "single_member_llc",
+ "sole_establishment",
+ "sole_proprietorship",
+ "tax_exempt_government_instrumentality",
+ "unincorporated_association",
+ "unincorporated_non_profit",
+ "unincorporated_partnership"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "tax_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_id_registrar": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "vat_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "verification": {
+ "properties": {
+ "document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "verification_document_specs",
+ "type": "object"
+ }
+ },
+ "title": "verification_specs",
+ "type": "object"
+ }
+ },
+ "title": "company_specs",
+ "type": "object"
+ },
+ "default_currency": {
+ "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://docs.stripe.com/payouts).",
+ "type": "string"
+ },
+ "documents": {
+ "description": "Documents that may be submitted to satisfy various informational requests.",
+ "properties": {
+ "bank_account_ownership_verification": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "company_license": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "company_memorandum_of_association": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "company_ministerial_decree": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "company_registration_verification": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "company_tax_id_verification": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "proof_of_registration": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ }
+ },
+ "title": "documents_specs",
+ "type": "object"
+ },
+ "email": {
+ "description": "The email address of the account holder. This is only to make the account easier to identify to you. If [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts, Stripe doesn't email the account without your consent.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "external_account": {
+ "description": "A card or bank account to attach to the account for receiving [payouts](/connect/bank-debit-card-payouts) (you won’t be able to use it for top-ups). You can provide either a token, like the ones returned by [Stripe.js](/js), or a dictionary, as documented in the `external_account` parameter for [bank account](/api#account_create_bank_account) creation.
By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the [bank account](/api#account_create_bank_account) or [card creation](/api#account_create_card) APIs. After you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.",
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "individual": {
+ "description": "Information about the person represented by the account. This field is null unless `business_type` is set to `individual`. Once you create an [Account Link](/api/account_links) or [Account Session](/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "address_specs",
+ "type": "object"
+ },
+ "address_kana": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kana_specs",
+ "type": "object"
+ },
+ "address_kanji": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kanji_specs",
+ "type": "object"
+ },
+ "dob": {
+ "anyOf": [
+ {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "email": {
+ "type": "string"
+ },
+ "first_name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "first_name_kana": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "first_name_kanji": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "full_name_aliases": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 300,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "gender": {
+ "type": "string"
+ },
+ "id_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "id_number_secondary": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "last_name_kana": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name_kanji": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "maiden_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "phone": {
+ "type": "string"
+ },
+ "political_exposure": {
+ "enum": [
+ "existing",
+ "none"
+ ],
+ "type": "string"
+ },
+ "registered_address": {
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "address_specs",
+ "type": "object"
+ },
+ "relationship": {
+ "properties": {
+ "director": {
+ "type": "boolean"
+ },
+ "executive": {
+ "type": "boolean"
+ },
+ "owner": {
+ "type": "boolean"
+ },
+ "percent_ownership": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "title": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "individual_relationship_specs",
+ "type": "object"
+ },
+ "ssn_last_4": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "verification": {
+ "properties": {
+ "additional_document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ },
+ "document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_verification_specs",
+ "type": "object"
+ }
+ },
+ "title": "individual_specs",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "settings": {
+ "description": "Options for customizing how the account functions within Stripe.",
+ "properties": {
+ "bacs_debit_payments": {
+ "properties": {
+ "display_name": {
+ "type": "string"
+ }
+ },
+ "title": "bacs_debit_payments_specs",
+ "type": "object"
+ },
+ "branding": {
+ "properties": {
+ "icon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "logo": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "primary_color": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "secondary_color": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "branding_settings_specs",
+ "type": "object"
+ },
+ "card_issuing": {
+ "properties": {
+ "tos_acceptance": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "settings_terms_of_service_specs",
+ "type": "object"
+ }
+ },
+ "title": "card_issuing_settings_specs",
+ "type": "object"
+ },
+ "card_payments": {
+ "properties": {
+ "decline_on": {
+ "properties": {
+ "avs_failure": {
+ "type": "boolean"
+ },
+ "cvc_failure": {
+ "type": "boolean"
+ }
+ },
+ "title": "decline_charge_on_specs",
+ "type": "object"
+ },
+ "statement_descriptor_prefix": {
+ "maxLength": 10,
+ "type": "string"
+ },
+ "statement_descriptor_prefix_kana": {
+ "anyOf": [
+ {
+ "maxLength": 10,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "statement_descriptor_prefix_kanji": {
+ "anyOf": [
+ {
+ "maxLength": 10,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "card_payments_settings_specs",
+ "type": "object"
+ },
+ "invoices": {
+ "properties": {
+ "default_account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "invoices_settings_specs",
+ "type": "object"
+ },
+ "payments": {
+ "properties": {
+ "statement_descriptor": {
+ "maxLength": 22,
+ "type": "string"
+ },
+ "statement_descriptor_kana": {
+ "maxLength": 22,
+ "type": "string"
+ },
+ "statement_descriptor_kanji": {
+ "maxLength": 22,
+ "type": "string"
+ }
+ },
+ "title": "payments_settings_specs",
+ "type": "object"
+ },
+ "payouts": {
+ "properties": {
+ "debit_negative_balances": {
+ "type": "boolean"
+ },
+ "schedule": {
+ "properties": {
+ "delay_days": {
+ "anyOf": [
+ {
+ "enum": [
+ "minimum"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "interval": {
+ "enum": [
+ "daily",
+ "manual",
+ "monthly",
+ "weekly"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "monthly_anchor": {
+ "type": "integer"
+ },
+ "weekly_anchor": {
+ "enum": [
+ "friday",
+ "monday",
+ "saturday",
+ "sunday",
+ "thursday",
+ "tuesday",
+ "wednesday"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "transfer_schedule_specs",
+ "type": "object"
+ },
+ "statement_descriptor": {
+ "maxLength": 22,
+ "type": "string"
+ }
+ },
+ "title": "payout_settings_specs",
+ "type": "object"
+ },
+ "treasury": {
+ "properties": {
+ "tos_acceptance": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "settings_terms_of_service_specs",
+ "type": "object"
+ }
+ },
+ "title": "treasury_settings_specs",
+ "type": "object"
+ }
+ },
+ "title": "settings_specs_update",
+ "type": "object"
+ },
+ "tos_acceptance": {
+ "description": "Details on the account's acceptance of the [Stripe Services Agreement](/connect/updating-accounts#tos-acceptance). This property can only be updated for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. This property defaults to a `full` service agreement when empty.",
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "service_agreement": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "tos_acceptance_specs",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts/{account}/bank_accounts": {
+ "post": {
+ "description": "Create an external account for a given account.
",
+ "operationId": "PostAccountsAccountBankAccounts",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "bank_account": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "account_holder_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "futsu",
+ "savings",
+ "toza"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "documents": {
+ "properties": {
+ "bank_account_ownership_verification": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ }
+ },
+ "title": "external_account_documents_param",
+ "type": "object"
+ },
+ "object": {
+ "enum": [
+ "bank_account"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "country"
+ ],
+ "title": "external_account_payout_bank_account",
+ "type": "object"
+ },
+ {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details."
+ },
+ "default_for_currency": {
+ "description": "When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.",
+ "type": "boolean"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "external_account": {
+ "description": "Please refer to full [documentation](https://stripe.com/docs/api) instead.",
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/external_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts/{account}/bank_accounts/{id}": {
+ "delete": {
+ "description": "Delete a specified external account for a given account.
",
+ "operationId": "DeleteAccountsAccountBankAccountsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_external_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieve a specified external account for a given account.
",
+ "operationId": "GetAccountsAccountBankAccountsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/external_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the metadata, account holder name, account holder type of a bank account belonging to\na connected account and optionally sets it as the default for its currency. Other bank account\ndetails are not editable by design.
\n\nYou can only update bank accounts when account.controller.requirement_collection is application
, which includes Custom accounts.
\n\nYou can re-enable a disabled bank account by performing an update call without providing any\narguments or changes.
",
+ "operationId": "PostAccountsAccountBankAccountsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "documents": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account_holder_name": {
+ "description": "The name of the person or business that owns the bank account.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_holder_type": {
+ "description": "The type of entity that holds the account. This can be either `individual` or `company`.",
+ "enum": [
+ "",
+ "company",
+ "individual"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "description": "The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`.",
+ "enum": [
+ "checking",
+ "futsu",
+ "savings",
+ "toza"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_city": {
+ "description": "City/District/Suburb/Town/Village.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_country": {
+ "description": "Billing address country, if provided when creating card.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line1": {
+ "description": "Address line 1 (Street address/PO Box/Company name).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line2": {
+ "description": "Address line 2 (Apartment/Suite/Unit/Building).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_state": {
+ "description": "State/County/Province/Region.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_zip": {
+ "description": "ZIP or postal code.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_for_currency": {
+ "description": "When set to true, this becomes the default external account for its currency.",
+ "type": "boolean"
+ },
+ "documents": {
+ "description": "Documents that may be submitted to satisfy various informational requests.",
+ "properties": {
+ "bank_account_ownership_verification": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ }
+ },
+ "title": "external_account_documents_param",
+ "type": "object"
+ },
+ "exp_month": {
+ "description": "Two digit number representing the card’s expiration month.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_year": {
+ "description": "Four digit number representing the card’s expiration year.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "name": {
+ "description": "Cardholder name.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/external_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts/{account}/capabilities": {
+ "get": {
+ "description": "Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.
",
+ "operationId": "GetAccountsAccountCapabilities",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/capability"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "ListAccountCapability",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts/{account}/capabilities/{capability}": {
+ "get": {
+ "description": "Retrieves information about the specified Account Capability.
",
+ "operationId": "GetAccountsAccountCapabilitiesCapability",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "capability",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/capability"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates an existing Account Capability. Request or remove a capability by updating its requested
parameter.
",
+ "operationId": "PostAccountsAccountCapabilitiesCapability",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "capability",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "requested": {
+ "description": "To request a new capability for an account, pass true. There can be a delay before the requested capability becomes active. If the capability has any activation requirements, the response includes them in the `requirements` arrays.\n\nIf a capability isn't permanent, you can remove it from the account by passing false. Some capabilities are permanent after they've been requested. Attempting to remove a permanent capability returns an error.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/capability"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts/{account}/external_accounts": {
+ "get": {
+ "description": "List external accounts for an account.
",
+ "operationId": "GetAccountsAccountExternalAccounts",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Filter external accounts according to a particular object type.",
+ "in": "query",
+ "name": "object",
+ "required": false,
+ "schema": {
+ "enum": [
+ "bank_account",
+ "card"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/bank_account"
+ },
+ {
+ "$ref": "#/components/schemas/card"
+ }
+ ],
+ "title": "Polymorphic",
+ "x-stripeBypassValidation": true
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "ExternalAccountList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Create an external account for a given account.
",
+ "operationId": "PostAccountsAccountExternalAccounts",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "bank_account": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "account_holder_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "futsu",
+ "savings",
+ "toza"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "documents": {
+ "properties": {
+ "bank_account_ownership_verification": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ }
+ },
+ "title": "external_account_documents_param",
+ "type": "object"
+ },
+ "object": {
+ "enum": [
+ "bank_account"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "country"
+ ],
+ "title": "external_account_payout_bank_account",
+ "type": "object"
+ },
+ {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details."
+ },
+ "default_for_currency": {
+ "description": "When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.",
+ "type": "boolean"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "external_account": {
+ "description": "Please refer to full [documentation](https://stripe.com/docs/api) instead.",
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/external_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts/{account}/external_accounts/{id}": {
+ "delete": {
+ "description": "Delete a specified external account for a given account.
",
+ "operationId": "DeleteAccountsAccountExternalAccountsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_external_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieve a specified external account for a given account.
",
+ "operationId": "GetAccountsAccountExternalAccountsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/external_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the metadata, account holder name, account holder type of a bank account belonging to\na connected account and optionally sets it as the default for its currency. Other bank account\ndetails are not editable by design.
\n\nYou can only update bank accounts when account.controller.requirement_collection is application
, which includes Custom accounts.
\n\nYou can re-enable a disabled bank account by performing an update call without providing any\narguments or changes.
",
+ "operationId": "PostAccountsAccountExternalAccountsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "documents": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account_holder_name": {
+ "description": "The name of the person or business that owns the bank account.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_holder_type": {
+ "description": "The type of entity that holds the account. This can be either `individual` or `company`.",
+ "enum": [
+ "",
+ "company",
+ "individual"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "description": "The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`.",
+ "enum": [
+ "checking",
+ "futsu",
+ "savings",
+ "toza"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_city": {
+ "description": "City/District/Suburb/Town/Village.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_country": {
+ "description": "Billing address country, if provided when creating card.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line1": {
+ "description": "Address line 1 (Street address/PO Box/Company name).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line2": {
+ "description": "Address line 2 (Apartment/Suite/Unit/Building).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_state": {
+ "description": "State/County/Province/Region.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_zip": {
+ "description": "ZIP or postal code.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_for_currency": {
+ "description": "When set to true, this becomes the default external account for its currency.",
+ "type": "boolean"
+ },
+ "documents": {
+ "description": "Documents that may be submitted to satisfy various informational requests.",
+ "properties": {
+ "bank_account_ownership_verification": {
+ "properties": {
+ "files": {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ }
+ },
+ "title": "external_account_documents_param",
+ "type": "object"
+ },
+ "exp_month": {
+ "description": "Two digit number representing the card’s expiration month.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_year": {
+ "description": "Four digit number representing the card’s expiration year.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "name": {
+ "description": "Cardholder name.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/external_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts/{account}/login_links": {
+ "post": {
+ "description": "Creates a single-use login link for a connected account to access the Express Dashboard.
\n\nYou can only create login links for accounts that use the Express Dashboard and are connected to your platform.
",
+ "operationId": "PostAccountsAccountLoginLinks",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/login_link"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts/{account}/people": {
+ "get": {
+ "description": "Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
",
+ "operationId": "GetAccountsAccountPeople",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Filters on the list of people returned based on the person's relationship to the account's company.",
+ "explode": true,
+ "in": "query",
+ "name": "relationship",
+ "required": false,
+ "schema": {
+ "properties": {
+ "director": {
+ "type": "boolean"
+ },
+ "executive": {
+ "type": "boolean"
+ },
+ "legal_guardian": {
+ "type": "boolean"
+ },
+ "owner": {
+ "type": "boolean"
+ },
+ "representative": {
+ "type": "boolean"
+ }
+ },
+ "title": "all_people_relationship_specs",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/person"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PersonList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new person.
",
+ "operationId": "PostAccountsAccountPeople",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "additional_tos_acceptances": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "address": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "address_kana": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "address_kanji": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "dob": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "documents": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "full_name_aliases": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "registered_address": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "relationship": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "verification": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "additional_tos_acceptances": {
+ "description": "Details on the legal guardian's acceptance of the required Stripe agreements.",
+ "properties": {
+ "account": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "settings_terms_of_service_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_additional_tos_acceptances_specs",
+ "type": "object"
+ },
+ "address": {
+ "description": "The person's address.",
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "legal_entity_and_kyc_address_specs",
+ "type": "object"
+ },
+ "address_kana": {
+ "description": "The Kana variation of the person's address (Japan only).",
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kana_specs",
+ "type": "object"
+ },
+ "address_kanji": {
+ "description": "The Kanji variation of the person's address (Japan only).",
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kanji_specs",
+ "type": "object"
+ },
+ "dob": {
+ "anyOf": [
+ {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The person's date of birth."
+ },
+ "documents": {
+ "description": "Documents that may be submitted to satisfy various informational requests.",
+ "properties": {
+ "company_authorization": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "passport": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "visa": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ }
+ },
+ "title": "person_documents_specs",
+ "type": "object"
+ },
+ "email": {
+ "description": "The person's email address.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "first_name": {
+ "description": "The person's first name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "first_name_kana": {
+ "description": "The Kana variation of the person's first name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "first_name_kanji": {
+ "description": "The Kanji variation of the person's first name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "full_name_aliases": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A list of alternate names or aliases that the person is known by."
+ },
+ "gender": {
+ "description": "The person's gender (International regulations require either \"male\" or \"female\").",
+ "type": "string"
+ },
+ "id_number": {
+ "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "id_number_secondary": {
+ "description": "The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name": {
+ "description": "The person's last name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name_kana": {
+ "description": "The Kana variation of the person's last name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name_kanji": {
+ "description": "The Kanji variation of the person's last name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "maiden_name": {
+ "description": "The person's maiden name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "nationality": {
+ "description": "The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or \"XX\" if unavailable.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "person_token": {
+ "description": "A [person token](https://docs.stripe.com/connect/account-tokens), used to securely provide details to the person.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "description": "The person's phone number.",
+ "type": "string"
+ },
+ "political_exposure": {
+ "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "registered_address": {
+ "description": "The person's registered address.",
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "address_specs",
+ "type": "object"
+ },
+ "relationship": {
+ "description": "The relationship that this person has with the account's legal entity.",
+ "properties": {
+ "director": {
+ "type": "boolean"
+ },
+ "executive": {
+ "type": "boolean"
+ },
+ "legal_guardian": {
+ "type": "boolean"
+ },
+ "owner": {
+ "type": "boolean"
+ },
+ "percent_ownership": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "representative": {
+ "type": "boolean"
+ },
+ "title": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "relationship_specs",
+ "type": "object"
+ },
+ "ssn_last_4": {
+ "description": "The last four digits of the person's Social Security number (U.S. only).",
+ "type": "string"
+ },
+ "verification": {
+ "description": "The person's verification status.",
+ "properties": {
+ "additional_document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ },
+ "document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_verification_specs",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/person"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts/{account}/people/{person}": {
+ "delete": {
+ "description": "Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener
. If your integration is using the executive
parameter, you cannot delete the only verified executive
on file.
",
+ "operationId": "DeleteAccountsAccountPeoplePerson",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "person",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_person"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves an existing person.
",
+ "operationId": "GetAccountsAccountPeoplePerson",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "person",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/person"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates an existing person.
",
+ "operationId": "PostAccountsAccountPeoplePerson",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "person",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "additional_tos_acceptances": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "address": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "address_kana": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "address_kanji": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "dob": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "documents": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "full_name_aliases": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "registered_address": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "relationship": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "verification": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "additional_tos_acceptances": {
+ "description": "Details on the legal guardian's acceptance of the required Stripe agreements.",
+ "properties": {
+ "account": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "settings_terms_of_service_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_additional_tos_acceptances_specs",
+ "type": "object"
+ },
+ "address": {
+ "description": "The person's address.",
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "legal_entity_and_kyc_address_specs",
+ "type": "object"
+ },
+ "address_kana": {
+ "description": "The Kana variation of the person's address (Japan only).",
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kana_specs",
+ "type": "object"
+ },
+ "address_kanji": {
+ "description": "The Kanji variation of the person's address (Japan only).",
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kanji_specs",
+ "type": "object"
+ },
+ "dob": {
+ "anyOf": [
+ {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The person's date of birth."
+ },
+ "documents": {
+ "description": "Documents that may be submitted to satisfy various informational requests.",
+ "properties": {
+ "company_authorization": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "passport": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "visa": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ }
+ },
+ "title": "person_documents_specs",
+ "type": "object"
+ },
+ "email": {
+ "description": "The person's email address.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "first_name": {
+ "description": "The person's first name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "first_name_kana": {
+ "description": "The Kana variation of the person's first name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "first_name_kanji": {
+ "description": "The Kanji variation of the person's first name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "full_name_aliases": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A list of alternate names or aliases that the person is known by."
+ },
+ "gender": {
+ "description": "The person's gender (International regulations require either \"male\" or \"female\").",
+ "type": "string"
+ },
+ "id_number": {
+ "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "id_number_secondary": {
+ "description": "The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name": {
+ "description": "The person's last name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name_kana": {
+ "description": "The Kana variation of the person's last name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name_kanji": {
+ "description": "The Kanji variation of the person's last name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "maiden_name": {
+ "description": "The person's maiden name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "nationality": {
+ "description": "The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or \"XX\" if unavailable.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "person_token": {
+ "description": "A [person token](https://docs.stripe.com/connect/account-tokens), used to securely provide details to the person.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "description": "The person's phone number.",
+ "type": "string"
+ },
+ "political_exposure": {
+ "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "registered_address": {
+ "description": "The person's registered address.",
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "address_specs",
+ "type": "object"
+ },
+ "relationship": {
+ "description": "The relationship that this person has with the account's legal entity.",
+ "properties": {
+ "director": {
+ "type": "boolean"
+ },
+ "executive": {
+ "type": "boolean"
+ },
+ "legal_guardian": {
+ "type": "boolean"
+ },
+ "owner": {
+ "type": "boolean"
+ },
+ "percent_ownership": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "representative": {
+ "type": "boolean"
+ },
+ "title": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "relationship_specs",
+ "type": "object"
+ },
+ "ssn_last_4": {
+ "description": "The last four digits of the person's Social Security number (U.S. only).",
+ "type": "string"
+ },
+ "verification": {
+ "description": "The person's verification status.",
+ "properties": {
+ "additional_document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ },
+ "document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_verification_specs",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/person"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts/{account}/persons": {
+ "get": {
+ "description": "Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
",
+ "operationId": "GetAccountsAccountPersons",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Filters on the list of people returned based on the person's relationship to the account's company.",
+ "explode": true,
+ "in": "query",
+ "name": "relationship",
+ "required": false,
+ "schema": {
+ "properties": {
+ "director": {
+ "type": "boolean"
+ },
+ "executive": {
+ "type": "boolean"
+ },
+ "legal_guardian": {
+ "type": "boolean"
+ },
+ "owner": {
+ "type": "boolean"
+ },
+ "representative": {
+ "type": "boolean"
+ }
+ },
+ "title": "all_people_relationship_specs",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/person"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PersonList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new person.
",
+ "operationId": "PostAccountsAccountPersons",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "additional_tos_acceptances": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "address": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "address_kana": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "address_kanji": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "dob": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "documents": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "full_name_aliases": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "registered_address": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "relationship": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "verification": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "additional_tos_acceptances": {
+ "description": "Details on the legal guardian's acceptance of the required Stripe agreements.",
+ "properties": {
+ "account": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "settings_terms_of_service_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_additional_tos_acceptances_specs",
+ "type": "object"
+ },
+ "address": {
+ "description": "The person's address.",
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "legal_entity_and_kyc_address_specs",
+ "type": "object"
+ },
+ "address_kana": {
+ "description": "The Kana variation of the person's address (Japan only).",
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kana_specs",
+ "type": "object"
+ },
+ "address_kanji": {
+ "description": "The Kanji variation of the person's address (Japan only).",
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kanji_specs",
+ "type": "object"
+ },
+ "dob": {
+ "anyOf": [
+ {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The person's date of birth."
+ },
+ "documents": {
+ "description": "Documents that may be submitted to satisfy various informational requests.",
+ "properties": {
+ "company_authorization": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "passport": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "visa": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ }
+ },
+ "title": "person_documents_specs",
+ "type": "object"
+ },
+ "email": {
+ "description": "The person's email address.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "first_name": {
+ "description": "The person's first name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "first_name_kana": {
+ "description": "The Kana variation of the person's first name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "first_name_kanji": {
+ "description": "The Kanji variation of the person's first name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "full_name_aliases": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A list of alternate names or aliases that the person is known by."
+ },
+ "gender": {
+ "description": "The person's gender (International regulations require either \"male\" or \"female\").",
+ "type": "string"
+ },
+ "id_number": {
+ "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "id_number_secondary": {
+ "description": "The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name": {
+ "description": "The person's last name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name_kana": {
+ "description": "The Kana variation of the person's last name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name_kanji": {
+ "description": "The Kanji variation of the person's last name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "maiden_name": {
+ "description": "The person's maiden name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "nationality": {
+ "description": "The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or \"XX\" if unavailable.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "person_token": {
+ "description": "A [person token](https://docs.stripe.com/connect/account-tokens), used to securely provide details to the person.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "description": "The person's phone number.",
+ "type": "string"
+ },
+ "political_exposure": {
+ "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "registered_address": {
+ "description": "The person's registered address.",
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "address_specs",
+ "type": "object"
+ },
+ "relationship": {
+ "description": "The relationship that this person has with the account's legal entity.",
+ "properties": {
+ "director": {
+ "type": "boolean"
+ },
+ "executive": {
+ "type": "boolean"
+ },
+ "legal_guardian": {
+ "type": "boolean"
+ },
+ "owner": {
+ "type": "boolean"
+ },
+ "percent_ownership": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "representative": {
+ "type": "boolean"
+ },
+ "title": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "relationship_specs",
+ "type": "object"
+ },
+ "ssn_last_4": {
+ "description": "The last four digits of the person's Social Security number (U.S. only).",
+ "type": "string"
+ },
+ "verification": {
+ "description": "The person's verification status.",
+ "properties": {
+ "additional_document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ },
+ "document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_verification_specs",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/person"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts/{account}/persons/{person}": {
+ "delete": {
+ "description": "Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener
. If your integration is using the executive
parameter, you cannot delete the only verified executive
on file.
",
+ "operationId": "DeleteAccountsAccountPersonsPerson",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "person",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_person"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves an existing person.
",
+ "operationId": "GetAccountsAccountPersonsPerson",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "person",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/person"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates an existing person.
",
+ "operationId": "PostAccountsAccountPersonsPerson",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "person",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "additional_tos_acceptances": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "address": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "address_kana": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "address_kanji": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "dob": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "documents": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "full_name_aliases": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "registered_address": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "relationship": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "verification": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "additional_tos_acceptances": {
+ "description": "Details on the legal guardian's acceptance of the required Stripe agreements.",
+ "properties": {
+ "account": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "settings_terms_of_service_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_additional_tos_acceptances_specs",
+ "type": "object"
+ },
+ "address": {
+ "description": "The person's address.",
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "legal_entity_and_kyc_address_specs",
+ "type": "object"
+ },
+ "address_kana": {
+ "description": "The Kana variation of the person's address (Japan only).",
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kana_specs",
+ "type": "object"
+ },
+ "address_kanji": {
+ "description": "The Kanji variation of the person's address (Japan only).",
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kanji_specs",
+ "type": "object"
+ },
+ "dob": {
+ "anyOf": [
+ {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The person's date of birth."
+ },
+ "documents": {
+ "description": "Documents that may be submitted to satisfy various informational requests.",
+ "properties": {
+ "company_authorization": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "passport": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "visa": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ }
+ },
+ "title": "person_documents_specs",
+ "type": "object"
+ },
+ "email": {
+ "description": "The person's email address.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "first_name": {
+ "description": "The person's first name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "first_name_kana": {
+ "description": "The Kana variation of the person's first name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "first_name_kanji": {
+ "description": "The Kanji variation of the person's first name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "full_name_aliases": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A list of alternate names or aliases that the person is known by."
+ },
+ "gender": {
+ "description": "The person's gender (International regulations require either \"male\" or \"female\").",
+ "type": "string"
+ },
+ "id_number": {
+ "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "id_number_secondary": {
+ "description": "The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name": {
+ "description": "The person's last name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name_kana": {
+ "description": "The Kana variation of the person's last name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name_kanji": {
+ "description": "The Kanji variation of the person's last name (Japan only).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "maiden_name": {
+ "description": "The person's maiden name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "nationality": {
+ "description": "The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or \"XX\" if unavailable.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "person_token": {
+ "description": "A [person token](https://docs.stripe.com/connect/account-tokens), used to securely provide details to the person.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "description": "The person's phone number.",
+ "type": "string"
+ },
+ "political_exposure": {
+ "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "registered_address": {
+ "description": "The person's registered address.",
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "address_specs",
+ "type": "object"
+ },
+ "relationship": {
+ "description": "The relationship that this person has with the account's legal entity.",
+ "properties": {
+ "director": {
+ "type": "boolean"
+ },
+ "executive": {
+ "type": "boolean"
+ },
+ "legal_guardian": {
+ "type": "boolean"
+ },
+ "owner": {
+ "type": "boolean"
+ },
+ "percent_ownership": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "representative": {
+ "type": "boolean"
+ },
+ "title": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "relationship_specs",
+ "type": "object"
+ },
+ "ssn_last_4": {
+ "description": "The last four digits of the person's Social Security number (U.S. only).",
+ "type": "string"
+ },
+ "verification": {
+ "description": "The person's verification status.",
+ "properties": {
+ "additional_document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ },
+ "document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_verification_specs",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/person"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/accounts/{account}/reject": {
+ "post": {
+ "description": "With Connect, you can reject accounts that you have flagged as suspicious.
\n\nOnly accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after all balances are zero.
",
+ "operationId": "PostAccountsAccountReject",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "reason": {
+ "description": "The reason for rejecting the account. Can be `fraud`, `terms_of_service`, or `other`.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "reason"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/apple_pay/domains": {
+ "get": {
+ "description": "List apple pay domains.
",
+ "operationId": "GetApplePayDomains",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "domain_name",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/apple_pay_domain"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/apple_pay/domains",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "ApplePayDomainList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Create an apple pay domain.
",
+ "operationId": "PostApplePayDomains",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "domain_name": {
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "domain_name"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/apple_pay_domain"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/apple_pay/domains/{domain}": {
+ "delete": {
+ "description": "Delete an apple pay domain.
",
+ "operationId": "DeleteApplePayDomainsDomain",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "domain",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_apple_pay_domain"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieve an apple pay domain.
",
+ "operationId": "GetApplePayDomainsDomain",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "domain",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/apple_pay_domain"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/application_fees": {
+ "get": {
+ "description": "Returns a list of application fees you’ve previously collected. The application fees are returned in sorted order, with the most recent fees appearing first.
",
+ "operationId": "GetApplicationFees",
+ "parameters": [
+ {
+ "description": "Only return application fees for the charge specified by this charge ID.",
+ "in": "query",
+ "name": "charge",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return applications fees that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/application_fee"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/application_fees",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PlatformEarningList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/application_fees/{fee}/refunds/{id}": {
+ "get": {
+ "description": "By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee.
",
+ "operationId": "GetApplicationFeesFeeRefundsId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "fee",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/fee_refund"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
\n\nThis request only accepts metadata as an argument.
",
+ "operationId": "PostApplicationFeesFeeRefundsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "fee",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/fee_refund"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/application_fees/{id}": {
+ "get": {
+ "description": "Retrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee.
",
+ "operationId": "GetApplicationFeesId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/application_fee"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/application_fees/{id}/refund": {
+ "post": {
+ "description": "",
+ "operationId": "PostApplicationFeesIdRefund",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "directive": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/application_fee"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/application_fees/{id}/refunds": {
+ "get": {
+ "description": "You can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the limit
and starting_after
parameters to page through additional refunds.
",
+ "operationId": "GetApplicationFeesIdRefunds",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/fee_refund"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "FeeRefundList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Refunds an application fee that has previously been collected but not yet refunded.\nFunds will be refunded to the Stripe account from which the fee was originally collected.
\n\nYou can optionally refund only part of an application fee.\nYou can do so multiple times, until the entire fee has been refunded.
\n\nOnce entirely refunded, an application fee can’t be refunded again.\nThis method will raise an error when called on an already-refunded application fee,\nor when trying to refund more money than is left on an application fee.
",
+ "operationId": "PostApplicationFeesIdRefunds",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "A positive integer, in _cents (or local equivalent)_, representing how much of this fee to refund. Can refund only up to the remaining unrefunded amount of the fee.",
+ "type": "integer"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/fee_refund"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/apps/secrets": {
+ "get": {
+ "description": "List all secrets stored on the given scope.
",
+ "operationId": "GetAppsSecrets",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user.",
+ "explode": true,
+ "in": "query",
+ "name": "scope",
+ "required": true,
+ "schema": {
+ "properties": {
+ "type": {
+ "enum": [
+ "account",
+ "user"
+ ],
+ "type": "string"
+ },
+ "user": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "scope_param",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/apps.secret"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/apps/secrets",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "SecretServiceResourceSecretList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Create or replace a secret in the secret store.
",
+ "operationId": "PostAppsSecrets",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "scope": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "expires_at": {
+ "description": "The Unix timestamp for the expiry time of the secret, after which the secret deletes.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "name": {
+ "description": "A name for the secret that's unique within the scope.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "payload": {
+ "description": "The plaintext secret value to be stored.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "scope": {
+ "description": "Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user.",
+ "properties": {
+ "type": {
+ "enum": [
+ "account",
+ "user"
+ ],
+ "type": "string"
+ },
+ "user": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "scope_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "name",
+ "payload",
+ "scope"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/apps.secret"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/apps/secrets/delete": {
+ "post": {
+ "description": "Deletes a secret from the secret store by name and scope.
",
+ "operationId": "PostAppsSecretsDelete",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "scope": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "A name for the secret that's unique within the scope.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "scope": {
+ "description": "Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user.",
+ "properties": {
+ "type": {
+ "enum": [
+ "account",
+ "user"
+ ],
+ "type": "string"
+ },
+ "user": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "scope_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "name",
+ "scope"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/apps.secret"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/apps/secrets/find": {
+ "get": {
+ "description": "Finds a secret in the secret store by name and scope.
",
+ "operationId": "GetAppsSecretsFind",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A name for the secret that's unique within the scope.",
+ "in": "query",
+ "name": "name",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user.",
+ "explode": true,
+ "in": "query",
+ "name": "scope",
+ "required": true,
+ "schema": {
+ "properties": {
+ "type": {
+ "enum": [
+ "account",
+ "user"
+ ],
+ "type": "string"
+ },
+ "user": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "scope_param",
+ "type": "object"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/apps.secret"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/balance": {
+ "get": {
+ "description": "Retrieves the current account balance, based on the authentication that was used to make the request.\n For a sample request, see Accounting for negative balances.
",
+ "operationId": "GetBalance",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/balance"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/balance/history": {
+ "get": {
+ "description": "Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.
\n\nNote that this endpoint was previously called “Balance history” and used the path /v1/balance/history
.
",
+ "operationId": "GetBalanceHistory",
+ "parameters": [
+ {
+ "description": "Only return transactions that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return transactions in a certain currency. 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).",
+ "in": "query",
+ "name": "currency",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID.",
+ "in": "query",
+ "name": "payout",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only returns the original transaction.",
+ "in": "query",
+ "name": "source",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only returns transactions of the given type. One of: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `climate_order_purchase`, `climate_order_refund`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_outbound`, `obligation_reversal_inbound`, `payment`, `payment_failure_refund`, `payment_network_reserve_hold`, `payment_network_reserve_release`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`.",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/balance_transaction"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/balance_transactions",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "BalanceTransactionsList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/balance/history/{id}": {
+ "get": {
+ "description": "Retrieves the balance transaction with the given ID.
\n\nNote that this endpoint previously used the path /v1/balance/history/:id
.
",
+ "operationId": "GetBalanceHistoryId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/balance_transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/balance_transactions": {
+ "get": {
+ "description": "Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.
\n\nNote that this endpoint was previously called “Balance history” and used the path /v1/balance/history
.
",
+ "operationId": "GetBalanceTransactions",
+ "parameters": [
+ {
+ "description": "Only return transactions that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return transactions in a certain currency. 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).",
+ "in": "query",
+ "name": "currency",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID.",
+ "in": "query",
+ "name": "payout",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only returns the original transaction.",
+ "in": "query",
+ "name": "source",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only returns transactions of the given type. One of: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `climate_order_purchase`, `climate_order_refund`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_outbound`, `obligation_reversal_inbound`, `payment`, `payment_failure_refund`, `payment_network_reserve_hold`, `payment_network_reserve_release`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`.",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/balance_transaction"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/balance_transactions",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "BalanceTransactionsList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/balance_transactions/{id}": {
+ "get": {
+ "description": "Retrieves the balance transaction with the given ID.
\n\nNote that this endpoint previously used the path /v1/balance/history/:id
.
",
+ "operationId": "GetBalanceTransactionsId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/balance_transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/billing/meter_event_adjustments": {
+ "post": {
+ "description": "Creates a billing meter event adjustment
",
+ "operationId": "PostBillingMeterEventAdjustments",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "cancel": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "cancel": {
+ "description": "Specifies which event to cancel.",
+ "properties": {
+ "identifier": {
+ "maxLength": 100,
+ "type": "string"
+ }
+ },
+ "title": "event_adjustment_cancel_settings_param",
+ "type": "object"
+ },
+ "event_name": {
+ "description": "The name of the meter event. Corresponds with the `event_name` field on a meter.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": {
+ "description": "Specifies whether to cancel a single event or a range of events for a time period. Time period cancellation is not supported yet.",
+ "enum": [
+ "cancel"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "event_name",
+ "type"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/billing.meter_event_adjustment"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/billing/meter_events": {
+ "post": {
+ "description": "Creates a billing meter event
",
+ "operationId": "PostBillingMeterEvents",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payload": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "event_name": {
+ "description": "The name of the meter event. Corresponds with the `event_name` field on a meter.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "identifier": {
+ "description": "A unique identifier for the event. If not provided, one will be generated. We recommend using a globally unique identifier for this. We'll enforce uniqueness within a rolling 24 hour period.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "payload": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The payload of the event. This must contain the fields corresponding to a meter's `customer_mapping.event_payload_key` (default is `stripe_customer_id`) and `value_settings.event_payload_key` (default is `value`). Read more about the [payload](https://docs.stripe.com/billing/subscriptions/usage-based/recording-usage#payload-key-overrides).",
+ "type": "object"
+ },
+ "timestamp": {
+ "description": "The time of the event. Measured in seconds since the Unix epoch. Must be within the past 35 calendar days or up to 5 minutes in the future. Defaults to current timestamp if not specified.",
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "event_name",
+ "payload"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/billing.meter_event"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/billing/meters": {
+ "get": {
+ "description": "Retrieve a list of billing meters.
",
+ "operationId": "GetBillingMeters",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Filter results to only include meters with the given status.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "active",
+ "inactive"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/billing.meter"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/billing/meters",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "BillingMeterResourceBillingMeterList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a billing meter
",
+ "operationId": "PostBillingMeters",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "customer_mapping": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_aggregation": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "value_settings": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "customer_mapping": {
+ "description": "Fields that specify how to map a meter event to a customer.",
+ "properties": {
+ "event_payload_key": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "by_id"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "event_payload_key",
+ "type"
+ ],
+ "title": "customer_mapping_param",
+ "type": "object"
+ },
+ "default_aggregation": {
+ "description": "The default settings to aggregate a meter's events with.",
+ "properties": {
+ "formula": {
+ "enum": [
+ "count",
+ "sum"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "formula"
+ ],
+ "title": "aggregation_settings_param",
+ "type": "object"
+ },
+ "display_name": {
+ "description": "The meter's name.",
+ "maxLength": 250,
+ "type": "string"
+ },
+ "event_name": {
+ "description": "The name of the meter event to record usage for. Corresponds with the `event_name` field on meter events.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "event_time_window": {
+ "description": "The time window to pre-aggregate meter events for, if any.",
+ "enum": [
+ "day",
+ "hour"
+ ],
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "value_settings": {
+ "description": "Fields that specify how to calculate a meter event's value.",
+ "properties": {
+ "event_payload_key": {
+ "maxLength": 100,
+ "type": "string"
+ }
+ },
+ "required": [
+ "event_payload_key"
+ ],
+ "title": "meter_value_settings_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "default_aggregation",
+ "display_name",
+ "event_name"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/billing.meter"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/billing/meters/{id}": {
+ "get": {
+ "description": "Retrieves a billing meter given an ID
",
+ "operationId": "GetBillingMetersId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Unique identifier for the object.",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/billing.meter"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates a billing meter
",
+ "operationId": "PostBillingMetersId",
+ "parameters": [
+ {
+ "description": "Unique identifier for the object.",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "display_name": {
+ "description": "The meter's name.",
+ "maxLength": 250,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/billing.meter"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/billing/meters/{id}/deactivate": {
+ "post": {
+ "description": "Deactivates a billing meter
",
+ "operationId": "PostBillingMetersIdDeactivate",
+ "parameters": [
+ {
+ "description": "Unique identifier for the object.",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/billing.meter"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/billing/meters/{id}/event_summaries": {
+ "get": {
+ "description": "Retrieve a list of billing meter event summaries.
",
+ "operationId": "GetBillingMetersIdEventSummaries",
+ "parameters": [
+ {
+ "description": "The customer for which to fetch event summaries.",
+ "in": "query",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The timestamp from when to stop aggregating meter events (exclusive). Must be aligned with minute boundaries.",
+ "in": "query",
+ "name": "end_time",
+ "required": true,
+ "schema": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Unique identifier for the object.",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The timestamp from when to start aggregating meter events (inclusive). Must be aligned with minute boundaries.",
+ "in": "query",
+ "name": "start_time",
+ "required": true,
+ "schema": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies what granularity to use when generating event summaries. If not specified, a single event summary would be returned for the specified time range. For hourly granularity, start and end times must align with hour boundaries (e.g., 00:00, 01:00, ..., 23:00). For daily granularity, start and end times must align with UTC day boundaries (00:00 UTC).",
+ "in": "query",
+ "name": "value_grouping_window",
+ "required": false,
+ "schema": {
+ "enum": [
+ "day",
+ "hour"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/billing.meter_event_summary"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/billing/meters/[^/]+/event_summaries",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "BillingMeterResourceBillingMeterEventSummaryList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/billing/meters/{id}/reactivate": {
+ "post": {
+ "description": "Reactivates a billing meter
",
+ "operationId": "PostBillingMetersIdReactivate",
+ "parameters": [
+ {
+ "description": "Unique identifier for the object.",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/billing.meter"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/billing_portal/configurations": {
+ "get": {
+ "description": "Returns a list of configurations that describe the functionality of the customer portal.
",
+ "operationId": "GetBillingPortalConfigurations",
+ "parameters": [
+ {
+ "description": "Only return configurations that are active or inactive (e.g., pass `true` to only list active configurations).",
+ "in": "query",
+ "name": "active",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return the default or non-default configurations (e.g., pass `true` to only list the default configuration).",
+ "in": "query",
+ "name": "is_default",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/billing_portal.configuration"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/billing_portal/configurations",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PortalPublicResourceConfigurationList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a configuration that describes the functionality and behavior of a PortalSession
",
+ "operationId": "PostBillingPortalConfigurations",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "business_profile": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_return_url": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "features": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "login_page": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "business_profile": {
+ "description": "The business information shown to customers in the portal.",
+ "properties": {
+ "headline": {
+ "anyOf": [
+ {
+ "maxLength": 60,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "privacy_policy_url": {
+ "type": "string"
+ },
+ "terms_of_service_url": {
+ "type": "string"
+ }
+ },
+ "title": "business_profile_create_param",
+ "type": "object"
+ },
+ "default_return_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "features": {
+ "description": "Information about the features available in the portal.",
+ "properties": {
+ "customer_update": {
+ "properties": {
+ "allowed_updates": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "address",
+ "email",
+ "name",
+ "phone",
+ "shipping",
+ "tax_id"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "customer_update_creation_param",
+ "type": "object"
+ },
+ "invoice_history": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "invoice_list_param",
+ "type": "object"
+ },
+ "payment_method_update": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "payment_method_update_param",
+ "type": "object"
+ },
+ "subscription_cancel": {
+ "properties": {
+ "cancellation_reason": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "options": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "customer_service",
+ "low_quality",
+ "missing_features",
+ "other",
+ "switched_service",
+ "too_complex",
+ "too_expensive",
+ "unused"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled",
+ "options"
+ ],
+ "title": "subscription_cancellation_reason_creation_param",
+ "type": "object"
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "mode": {
+ "enum": [
+ "at_period_end",
+ "immediately"
+ ],
+ "type": "string"
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "subscription_cancel_creation_param",
+ "type": "object"
+ },
+ "subscription_update": {
+ "properties": {
+ "default_allowed_updates": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "price",
+ "promotion_code",
+ "quantity"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "products": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "prices": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "prices",
+ "product"
+ ],
+ "title": "subscription_update_product_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "default_allowed_updates",
+ "enabled",
+ "products"
+ ],
+ "title": "subscription_update_creation_param",
+ "type": "object"
+ }
+ },
+ "title": "features_creation_param",
+ "type": "object"
+ },
+ "login_page": {
+ "description": "The hosted login page for this configuration. Learn more about the portal login page in our [integration docs](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal#share).",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "login_page_create_param",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "business_profile",
+ "features"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/billing_portal.configuration"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/billing_portal/configurations/{configuration}": {
+ "get": {
+ "description": "Retrieves a configuration that describes the functionality of the customer portal.
",
+ "operationId": "GetBillingPortalConfigurationsConfiguration",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "configuration",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/billing_portal.configuration"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates a configuration that describes the functionality of the customer portal.
",
+ "operationId": "PostBillingPortalConfigurationsConfiguration",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "configuration",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "business_profile": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_return_url": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "features": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "login_page": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Whether the configuration is active and can be used to create portal sessions.",
+ "type": "boolean"
+ },
+ "business_profile": {
+ "description": "The business information shown to customers in the portal.",
+ "properties": {
+ "headline": {
+ "anyOf": [
+ {
+ "maxLength": 60,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "privacy_policy_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "terms_of_service_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "business_profile_update_param",
+ "type": "object"
+ },
+ "default_return_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "features": {
+ "description": "Information about the features available in the portal.",
+ "properties": {
+ "customer_update": {
+ "properties": {
+ "allowed_updates": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "address",
+ "email",
+ "name",
+ "phone",
+ "shipping",
+ "tax_id"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "title": "customer_update_updating_param",
+ "type": "object"
+ },
+ "invoice_history": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "invoice_list_param",
+ "type": "object"
+ },
+ "payment_method_update": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "payment_method_update_param",
+ "type": "object"
+ },
+ "subscription_cancel": {
+ "properties": {
+ "cancellation_reason": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "options": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "customer_service",
+ "low_quality",
+ "missing_features",
+ "other",
+ "switched_service",
+ "too_complex",
+ "too_expensive",
+ "unused"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "subscription_cancellation_reason_updating_param",
+ "type": "object"
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "mode": {
+ "enum": [
+ "at_period_end",
+ "immediately"
+ ],
+ "type": "string"
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "subscription_cancel_updating_param",
+ "type": "object"
+ },
+ "subscription_update": {
+ "properties": {
+ "default_allowed_updates": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "price",
+ "promotion_code",
+ "quantity"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "products": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "prices": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "prices",
+ "product"
+ ],
+ "title": "subscription_update_product_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "subscription_update_updating_param",
+ "type": "object"
+ }
+ },
+ "title": "features_updating_param",
+ "type": "object"
+ },
+ "login_page": {
+ "description": "The hosted login page for this configuration. Learn more about the portal login page in our [integration docs](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal#share).",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "login_page_update_param",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/billing_portal.configuration"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/billing_portal/sessions": {
+ "post": {
+ "description": "Creates a session of the customer portal.
",
+ "operationId": "PostBillingPortalSessions",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "flow_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "configuration": {
+ "description": "The ID of an existing [configuration](https://stripe.com/docs/api/customer_portal/configuration) to use for this session, describing its functionality and features. If not specified, the session uses the default configuration.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer": {
+ "description": "The ID of an existing customer.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "flow_data": {
+ "description": "Information about a specific flow for the customer to go through. See the [docs](https://stripe.com/docs/customer-management/portal-deep-links) to learn more about using customer portal deep links and flows.",
+ "properties": {
+ "after_completion": {
+ "properties": {
+ "hosted_confirmation": {
+ "properties": {
+ "custom_message": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "after_completion_hosted_confirmation_param",
+ "type": "object"
+ },
+ "redirect": {
+ "properties": {
+ "return_url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "return_url"
+ ],
+ "title": "after_completion_redirect_param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "hosted_confirmation",
+ "portal_homepage",
+ "redirect"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "flow_data_after_completion_param",
+ "type": "object"
+ },
+ "subscription_cancel": {
+ "properties": {
+ "retention": {
+ "properties": {
+ "coupon_offer": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "coupon"
+ ],
+ "title": "coupon_offer_param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "coupon_offer"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "coupon_offer",
+ "type"
+ ],
+ "title": "retention_param",
+ "type": "object"
+ },
+ "subscription": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "subscription"
+ ],
+ "title": "flow_data_subscription_cancel_param",
+ "type": "object"
+ },
+ "subscription_update": {
+ "properties": {
+ "subscription": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "subscription"
+ ],
+ "title": "flow_data_subscription_update_param",
+ "type": "object"
+ },
+ "subscription_update_confirm": {
+ "properties": {
+ "discounts": {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "subscription_update_confirm_discount_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "items": {
+ "items": {
+ "properties": {
+ "id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "title": "subscription_update_confirm_item_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "subscription": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "items",
+ "subscription"
+ ],
+ "title": "flow_data_subscription_update_confirm_param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "payment_method_update",
+ "subscription_cancel",
+ "subscription_update",
+ "subscription_update_confirm"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "flow_data_param",
+ "type": "object"
+ },
+ "locale": {
+ "description": "The IETF language tag of the locale customer portal is displayed in. If blank or auto, the customer’s `preferred_locales` or browser’s locale is used.",
+ "enum": [
+ "auto",
+ "bg",
+ "cs",
+ "da",
+ "de",
+ "el",
+ "en",
+ "en-AU",
+ "en-CA",
+ "en-GB",
+ "en-IE",
+ "en-IN",
+ "en-NZ",
+ "en-SG",
+ "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"
+ ],
+ "type": "string"
+ },
+ "on_behalf_of": {
+ "description": "The `on_behalf_of` account to use for this session. When specified, only subscriptions and invoices with this `on_behalf_of` account appear in the portal. For more information, see the [docs](https://stripe.com/docs/connect/separate-charges-and-transfers#settlement-merchant). Use the [Accounts API](https://stripe.com/docs/api/accounts/object#account_object-settings-branding) to modify the `on_behalf_of` account's branding settings, which the portal displays.",
+ "type": "string"
+ },
+ "return_url": {
+ "description": "The default URL to redirect customers to when they click on the portal's link to return to your website.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "customer"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/billing_portal.session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/charges": {
+ "get": {
+ "description": "Returns a list of charges you’ve previously created. The charges are returned in sorted order, with the most recent charges appearing first.
",
+ "operationId": "GetCharges",
+ "parameters": [
+ {
+ "description": "Only return charges that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return charges for the customer specified by this customer ID.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return charges that were created by the PaymentIntent specified by this PaymentIntent ID.",
+ "in": "query",
+ "name": "payment_intent",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return charges for this transfer group.",
+ "in": "query",
+ "name": "transfer_group",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/charge"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/charges",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "ChargeList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "This method is no longer recommended—use the Payment Intents API\nto initiate a new payment instead. Confirmation of the PaymentIntent creates the Charge
\nobject used to request payment.
",
+ "operationId": "PostCharges",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "card": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "destination": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "radar_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).",
+ "type": "integer"
+ },
+ "application_fee": {
+ "type": "integer"
+ },
+ "application_fee_amount": {
+ "description": "A fee in cents (or local equivalent) that will be applied to the charge and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the `Stripe-Account` header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/connect/direct-charges#collect-fees).",
+ "type": "integer"
+ },
+ "capture": {
+ "description": "Whether to immediately capture the charge. Defaults to `true`. When `false`, the charge issues an authorization (or pre-authorization), and will need to be [captured](https://stripe.com/docs/api#capture_charge) later. Uncaptured charges expire after a set number of days (7 by default). For more information, see the [authorizing charges and settling later](https://stripe.com/docs/charges/placing-a-hold) documentation.",
+ "type": "boolean"
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "address_city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_zip": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "cvc": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_month": {
+ "type": "integer"
+ },
+ "exp_year": {
+ "type": "integer"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "object": {
+ "enum": [
+ "card"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "exp_month",
+ "exp_year",
+ "number"
+ ],
+ "title": "customer_payment_source_card",
+ "type": "object"
+ },
+ {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js).",
+ "x-stripeBypassValidation": true
+ },
+ "currency": {
+ "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
+ "type": "string"
+ },
+ "customer": {
+ "description": "The ID of an existing customer that will be charged in this request.",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string which you can attach to a `Charge` object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing.",
+ "maxLength": 40000,
+ "type": "string"
+ },
+ "destination": {
+ "anyOf": [
+ {
+ "properties": {
+ "account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "amount": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "account"
+ ],
+ "title": "destination_specs",
+ "type": "object"
+ },
+ {
+ "type": "string"
+ }
+ ]
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "on_behalf_of": {
+ "description": "The Stripe account ID for which these funds are intended. Automatically set if you use the `destination` parameter. For details, see [Creating Separate Charges and Transfers](https://stripe.com/docs/connect/separate-charges-and-transfers#settlement-merchant).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "radar_options": {
+ "description": "Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.",
+ "properties": {
+ "session": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "radar_options_with_hidden_options",
+ "type": "object"
+ },
+ "receipt_email": {
+ "description": "The email address to which this charge's [receipt](https://stripe.com/docs/dashboard/receipts) will be sent. The receipt will not be sent until the charge is paid, and no receipts will be sent for test mode charges. If this charge is for a [Customer](https://stripe.com/docs/api/customers/object), the email address specified here will override the customer's email address. If `receipt_email` is specified for a charge in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails).",
+ "type": "string"
+ },
+ "shipping": {
+ "description": "Shipping information for the charge. Helps prevent fraud on charges for physical goods.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "carrier": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tracking_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "optional_fields_shipping",
+ "type": "object"
+ },
+ "source": {
+ "description": "A payment source to be charged. This can be the ID of a [card](https://stripe.com/docs/api#cards) (i.e., credit or debit card), a [bank account](https://stripe.com/docs/api#bank_accounts), a [source](https://stripe.com/docs/api#sources), a [token](https://stripe.com/docs/api#tokens), or a [connected account](https://stripe.com/docs/connect/account-debits#charging-a-connected-account). For certain sources---namely, [cards](https://stripe.com/docs/api#cards), [bank accounts](https://stripe.com/docs/api#bank_accounts), and attached [sources](https://stripe.com/docs/api#sources)---you must also pass the ID of the associated customer.",
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "statement_descriptor": {
+ "description": "For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "statement_descriptor_suffix": {
+ "description": "Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "transfer_data": {
+ "description": "An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.",
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "destination": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ "transfer_group": {
+ "description": "A string that identifies this transaction as part of a group. For details, see [Grouping transactions](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options).",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/charge"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/charges/search": {
+ "get": {
+ "description": "Search for charges you’ve previously created using Stripe’s Search Query Language.\nDon’t use search in read-after-write flows where strict consistency is necessary. Under normal operating\nconditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up\nto an hour behind during outages. Search functionality is not available to merchants in India.
",
+ "operationId": "GetChargesSearch",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.",
+ "in": "query",
+ "name": "page",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for charges](https://stripe.com/docs/search#query-fields-for-charges).",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/charge"
+ },
+ "type": "array"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "next_page": {
+ "maxLength": 5000,
+ "nullable": true,
+ "type": "string"
+ },
+ "object": {
+ "description": "String representing the object's type. Objects of the same type share the same value.",
+ "enum": [
+ "search_result"
+ ],
+ "type": "string"
+ },
+ "total_count": {
+ "description": "The total number of objects that match the query, only accurate up to 10,000.",
+ "type": "integer"
+ },
+ "url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "SearchResult",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/charges/{charge}": {
+ "get": {
+ "description": "Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge.
",
+ "operationId": "GetChargesCharge",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "charge",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/charge"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
",
+ "operationId": "PostChargesCharge",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "charge",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "fraud_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "customer": {
+ "description": "The ID of an existing customer that will be associated with this request. This field may only be updated if there is no existing associated customer with this charge.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string which you can attach to a charge object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing.",
+ "maxLength": 40000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fraud_details": {
+ "description": "A set of key-value pairs you can attach to a charge giving information about its riskiness. If you believe a charge is fraudulent, include a `user_report` key with a value of `fraudulent`. If you believe a charge is safe, include a `user_report` key with a value of `safe`. Stripe will use the information you send to improve our fraud detection algorithms.",
+ "properties": {
+ "user_report": {
+ "enum": [
+ "",
+ "fraudulent",
+ "safe"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "user_report"
+ ],
+ "title": "fraud_details",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "receipt_email": {
+ "description": "This is the email address that the receipt for this charge will be sent to. If this field is updated, then a new email receipt will be sent to the updated address.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "shipping": {
+ "description": "Shipping information for the charge. Helps prevent fraud on charges for physical goods.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "carrier": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tracking_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "optional_fields_shipping",
+ "type": "object"
+ },
+ "transfer_group": {
+ "description": "A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/charge"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/charges/{charge}/capture": {
+ "post": {
+ "description": "Capture the payment of an existing, uncaptured charge that was created with the capture
option set to false.
\n\nUncaptured payments expire a set number of days after they are created (7 by default), after which they are marked as refunded and capture attempts will fail.
\n\nDon’t use this method to capture a PaymentIntent-initiated charge. Use Capture a PaymentIntent.
",
+ "operationId": "PostChargesChargeCapture",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "charge",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "The amount to capture, which must be less than or equal to the original amount. Any additional amount will be automatically refunded.",
+ "type": "integer"
+ },
+ "application_fee": {
+ "description": "An application fee to add on to this charge.",
+ "type": "integer"
+ },
+ "application_fee_amount": {
+ "description": "An application fee amount to add on to this charge, which must be less than or equal to the original amount.",
+ "type": "integer"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "receipt_email": {
+ "description": "The email address to send this charge's receipt to. This will override the previously-specified email address for this charge, if one was set. Receipts will not be sent in test mode.",
+ "type": "string"
+ },
+ "statement_descriptor": {
+ "description": "For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "statement_descriptor_suffix": {
+ "description": "Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "transfer_data": {
+ "description": "An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.",
+ "properties": {
+ "amount": {
+ "type": "integer"
+ }
+ },
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ "transfer_group": {
+ "description": "A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/charge"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/charges/{charge}/dispute": {
+ "get": {
+ "description": "Retrieve a dispute for a specified charge.
",
+ "operationId": "GetChargesChargeDispute",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "charge",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/dispute"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "",
+ "operationId": "PostChargesChargeDispute",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "charge",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "evidence": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "evidence": {
+ "description": "Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000.",
+ "properties": {
+ "access_activity_log": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "billing_address": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "cancellation_policy": {
+ "type": "string"
+ },
+ "cancellation_policy_disclosure": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "cancellation_rebuttal": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "customer_communication": {
+ "type": "string"
+ },
+ "customer_email_address": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer_purchase_ip": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer_signature": {
+ "type": "string"
+ },
+ "duplicate_charge_documentation": {
+ "type": "string"
+ },
+ "duplicate_charge_explanation": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "duplicate_charge_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "product_description": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "receipt": {
+ "type": "string"
+ },
+ "refund_policy": {
+ "type": "string"
+ },
+ "refund_policy_disclosure": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "refund_refusal_explanation": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "service_date": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "service_documentation": {
+ "type": "string"
+ },
+ "shipping_address": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "shipping_carrier": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "shipping_date": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "shipping_documentation": {
+ "type": "string"
+ },
+ "shipping_tracking_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "uncategorized_file": {
+ "type": "string"
+ },
+ "uncategorized_text": {
+ "maxLength": 20000,
+ "type": "string"
+ }
+ },
+ "title": "dispute_evidence_params",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "submit": {
+ "description": "Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default).",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/dispute"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/charges/{charge}/dispute/close": {
+ "post": {
+ "description": "",
+ "operationId": "PostChargesChargeDisputeClose",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "charge",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/dispute"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/charges/{charge}/refund": {
+ "post": {
+ "description": "When you create a new refund, you must specify either a Charge or a PaymentIntent object.
\n\nThis action refunds a previously created charge that’s not refunded yet.\nFunds are refunded to the credit or debit card that’s originally charged.
\n\nYou can optionally refund only part of a charge.\nYou can repeat this until the entire charge is refunded.
\n\nAfter you entirely refund a charge, you can’t refund it again.\nThis method raises an error when it’s called on an already-refunded charge,\nor when you attempt to refund more money than is left on a charge.
",
+ "operationId": "PostChargesChargeRefund",
+ "parameters": [
+ {
+ "description": "The identifier of the charge to refund.",
+ "in": "path",
+ "name": "charge",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) representing how much of this charge to refund. Can refund only up to the remaining, unrefunded amount of the charge.",
+ "type": "integer"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "instructions_email": {
+ "description": "For payment methods without native refund support (e.g., Konbini, PromptPay), use this email from the customer to receive refund instructions.",
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "payment_intent": {
+ "description": "The identifier of the PaymentIntent to refund.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "reason": {
+ "description": "String indicating the reason for the refund. If set, possible values are `duplicate`, `fraudulent`, and `requested_by_customer`. If you believe the charge to be fraudulent, specifying `fraudulent` as the reason will add the associated card and email to your [block lists](https://stripe.com/docs/radar/lists), and will also help us improve our fraud detection algorithms.",
+ "enum": [
+ "duplicate",
+ "fraudulent",
+ "requested_by_customer"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "refund_application_fee": {
+ "description": "Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge.",
+ "type": "boolean"
+ },
+ "reverse_transfer": {
+ "description": "Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount).
A transfer can be reversed only by the application that created the charge.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/charge"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/charges/{charge}/refunds": {
+ "get": {
+ "description": "You can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can use this API method and the limit
and starting_after
parameters to page through additional refunds.
",
+ "operationId": "GetChargesChargeRefunds",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "charge",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/refund"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "RefundList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.
\n\nCreating a new refund will refund a charge that has previously been created but not yet refunded.\nFunds will be refunded to the credit or debit card that was originally charged.
\n\nYou can optionally refund only part of a charge.\nYou can do so multiple times, until the entire charge has been refunded.
\n\nOnce entirely refunded, a charge can’t be refunded again.\nThis method will raise an error when called on an already-refunded charge,\nor when trying to refund more money than is left on a charge.
",
+ "operationId": "PostChargesChargeRefunds",
+ "parameters": [
+ {
+ "description": "The identifier of the charge to refund.",
+ "in": "path",
+ "name": "charge",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
+ "type": "string"
+ },
+ "customer": {
+ "description": "Customer whose customer balance to refund from.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "instructions_email": {
+ "description": "For payment methods without native refund support (e.g., Konbini, PromptPay), use this email from the customer to receive refund instructions.",
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "origin": {
+ "description": "Origin of the refund",
+ "enum": [
+ "customer_balance"
+ ],
+ "type": "string"
+ },
+ "payment_intent": {
+ "description": "The identifier of the PaymentIntent to refund.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "reason": {
+ "description": "String indicating the reason for the refund. If set, possible values are `duplicate`, `fraudulent`, and `requested_by_customer`. If you believe the charge to be fraudulent, specifying `fraudulent` as the reason will add the associated card and email to your [block lists](https://stripe.com/docs/radar/lists), and will also help us improve our fraud detection algorithms.",
+ "enum": [
+ "duplicate",
+ "fraudulent",
+ "requested_by_customer"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "refund_application_fee": {
+ "description": "Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge.",
+ "type": "boolean"
+ },
+ "reverse_transfer": {
+ "description": "Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount).
A transfer can be reversed only by the application that created the charge.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/refund"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/charges/{charge}/refunds/{refund}": {
+ "get": {
+ "description": "Retrieves the details of an existing refund.
",
+ "operationId": "GetChargesChargeRefundsRefund",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "charge",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "refund",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/refund"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Update a specified refund.
",
+ "operationId": "PostChargesChargeRefundsRefund",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "charge",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "refund",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/refund"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/checkout/sessions": {
+ "get": {
+ "description": "Returns a list of Checkout Sessions.
",
+ "operationId": "GetCheckoutSessions",
+ "parameters": [
+ {
+ "description": "Only return Checkout Sessions that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return the Checkout Sessions for the Customer specified.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return the Checkout Sessions for the Customer details specified.",
+ "explode": true,
+ "in": "query",
+ "name": "customer_details",
+ "required": false,
+ "schema": {
+ "properties": {
+ "email": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "email"
+ ],
+ "title": "customer_details_params",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return the Checkout Session for the PaymentIntent specified.",
+ "in": "query",
+ "name": "payment_intent",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return the Checkout Sessions for the Payment Link specified.",
+ "in": "query",
+ "name": "payment_link",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return the Checkout Sessions matching the given status.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "complete",
+ "expired",
+ "open"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return the Checkout Session for the subscription specified.",
+ "in": "query",
+ "name": "subscription",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/checkout.session"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PaymentPagesCheckoutSessionList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a Session object.
",
+ "operationId": "PostCheckoutSessions",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "after_expiration": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "automatic_tax": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "consent_collection": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "custom_fields": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "custom_text": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "customer_update": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_creation": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "line_items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_intent_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_types": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "phone_number_collection": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "saved_payment_method_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "setup_intent_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping_address_collection": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "subscription_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax_id_collection": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "after_expiration": {
+ "description": "Configure actions after a Checkout Session has expired.",
+ "properties": {
+ "recovery": {
+ "properties": {
+ "allow_promotion_codes": {
+ "type": "boolean"
+ },
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "recovery_params",
+ "type": "object"
+ }
+ },
+ "title": "after_expiration_params",
+ "type": "object"
+ },
+ "allow_promotion_codes": {
+ "description": "Enables user redeemable promotion codes.",
+ "type": "boolean"
+ },
+ "automatic_tax": {
+ "description": "Settings for automatic tax lookup for this session and resulting payments, invoices, and subscriptions.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_params",
+ "type": "object"
+ },
+ "billing_address_collection": {
+ "description": "Specify whether Checkout should collect the customer's billing address. Defaults to `auto`.",
+ "enum": [
+ "auto",
+ "required"
+ ],
+ "type": "string"
+ },
+ "cancel_url": {
+ "description": "If set, Checkout displays a back button and customers will be directed to this URL 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": 200,
+ "type": "string"
+ },
+ "consent_collection": {
+ "description": "Configure fields for the Checkout Session to gather active consent from customers.",
+ "properties": {
+ "payment_method_reuse_agreement": {
+ "properties": {
+ "position": {
+ "enum": [
+ "auto",
+ "hidden"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "position"
+ ],
+ "title": "payment_method_reuse_agreement_params",
+ "type": "object"
+ },
+ "promotions": {
+ "enum": [
+ "auto",
+ "none"
+ ],
+ "type": "string"
+ },
+ "terms_of_service": {
+ "enum": [
+ "none",
+ "required"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "consent_collection_params",
+ "type": "object"
+ },
+ "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). Required in `setup` mode when `payment_method_types` is not set.",
+ "type": "string"
+ },
+ "custom_fields": {
+ "description": "Collect additional information from your customer using custom fields. Up to 3 fields are supported.",
+ "items": {
+ "properties": {
+ "dropdown": {
+ "properties": {
+ "default_value": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "options": {
+ "items": {
+ "properties": {
+ "label": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "value": {
+ "maxLength": 100,
+ "type": "string"
+ }
+ },
+ "required": [
+ "label",
+ "value"
+ ],
+ "title": "custom_field_option_param",
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "options"
+ ],
+ "title": "custom_field_dropdown_param",
+ "type": "object"
+ },
+ "key": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "label": {
+ "properties": {
+ "custom": {
+ "maxLength": 50,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "custom"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "custom",
+ "type"
+ ],
+ "title": "custom_field_label_param",
+ "type": "object"
+ },
+ "numeric": {
+ "properties": {
+ "default_value": {
+ "maxLength": 255,
+ "type": "string"
+ },
+ "maximum_length": {
+ "type": "integer"
+ },
+ "minimum_length": {
+ "type": "integer"
+ }
+ },
+ "title": "custom_field_numeric_param",
+ "type": "object"
+ },
+ "optional": {
+ "type": "boolean"
+ },
+ "text": {
+ "properties": {
+ "default_value": {
+ "maxLength": 255,
+ "type": "string"
+ },
+ "maximum_length": {
+ "type": "integer"
+ },
+ "minimum_length": {
+ "type": "integer"
+ }
+ },
+ "title": "custom_field_text_param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "dropdown",
+ "numeric",
+ "text"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "key",
+ "label",
+ "type"
+ ],
+ "title": "custom_field_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "custom_text": {
+ "description": "Display additional text for your customers using custom text.",
+ "properties": {
+ "after_submit": {
+ "anyOf": [
+ {
+ "properties": {
+ "message": {
+ "maxLength": 1200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ],
+ "title": "custom_text_position_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "shipping_address": {
+ "anyOf": [
+ {
+ "properties": {
+ "message": {
+ "maxLength": 1200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ],
+ "title": "custom_text_position_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "submit": {
+ "anyOf": [
+ {
+ "properties": {
+ "message": {
+ "maxLength": 1200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ],
+ "title": "custom_text_position_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "terms_of_service_acceptance": {
+ "anyOf": [
+ {
+ "properties": {
+ "message": {
+ "maxLength": 1200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ],
+ "title": "custom_text_position_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "custom_text_param",
+ "type": "object"
+ },
+ "customer": {
+ "description": "ID of an existing Customer, if one exists. In `payment` mode, the customer’s most recently saved card\npayment method will be used to prefill the email, name, card details, and billing address\non the Checkout page. In `subscription` mode, the customer’s [default payment method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method)\nwill be used if it’s a card, otherwise the most recently saved card will be used. A valid billing address, billing name and billing email are required on the payment method for Checkout to prefill the customer's card details.\n\nIf the Customer already has a valid [email](https://stripe.com/docs/api/customers/object#customer_object-email) set, the email will be prefilled and not editable in Checkout.\nIf the Customer does not have a valid `email`, Checkout will set the email entered during the session on the Customer.\n\nIf blank for Checkout Sessions in `subscription` mode or with `customer_creation` set as `always` in `payment` mode, Checkout will create a new Customer object based on information provided during the payment flow.\n\nYou can set [`payment_intent_data.setup_future_usage`](https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-setup_future_usage) to have Checkout automatically attach the payment method to the Customer you pass in for future reuse.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer_creation": {
+ "description": "Configure whether a Checkout Session creates a [Customer](https://stripe.com/docs/api/customers) during Session confirmation.\n\nWhen a Customer is not created, you can still retrieve email, address, and other customer data entered in Checkout\nwith [customer_details](https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-customer_details).\n\nSessions that don't create Customers instead are grouped by [guest customers](https://stripe.com/docs/payments/checkout/guest-customers)\nin the Dashboard. Promotion codes limited to first time customers will return invalid for these Sessions.\n\nCan only be set in `payment` and `setup` mode.",
+ "enum": [
+ "always",
+ "if_required"
+ ],
+ "type": "string"
+ },
+ "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 a session is\ncomplete, use the `customer` field.",
+ "type": "string"
+ },
+ "customer_update": {
+ "description": "Controls what fields on Customer can be updated by the Checkout Session. Can only be provided when `customer` is provided.",
+ "properties": {
+ "address": {
+ "enum": [
+ "auto",
+ "never"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "name": {
+ "enum": [
+ "auto",
+ "never"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "shipping": {
+ "enum": [
+ "auto",
+ "never"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "customer_update_params",
+ "type": "object"
+ },
+ "discounts": {
+ "description": "The coupon or promotion code to apply to this Session. Currently, only up to one may be specified.",
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discount_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "expires_at": {
+ "description": "The Epoch time in seconds at which the Checkout Session will expire. It can be anywhere from 30 minutes to 24 hours after Checkout Session creation. By default, this value is 24 hours from creation.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "invoice_creation": {
+ "description": "Generate a post-purchase Invoice for one-time payments.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "invoice_data": {
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "custom_fields": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "name": {
+ "maxLength": 40,
+ "type": "string"
+ },
+ "value": {
+ "maxLength": 140,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "title": "custom_field_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "description": {
+ "maxLength": 1500,
+ "type": "string"
+ },
+ "footer": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "rendering_options": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_tax_display": {
+ "enum": [
+ "",
+ "exclude_tax",
+ "include_inclusive_tax"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "rendering_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "invoice_data_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "invoice_creation_params",
+ "type": "object"
+ },
+ "line_items": {
+ "description": "A list of items the customer is purchasing. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices).\n\nFor `payment` mode, there is a maximum of 100 line items, however it is recommended to consolidate line items if there are more than a few dozen.\n\nFor `subscription` mode, there is a maximum of 20 line items with recurring Prices and 20 line items with one-time Prices. Line items with one-time Prices will be on the initial invoice only.",
+ "items": {
+ "properties": {
+ "adjustable_quantity": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "maximum": {
+ "type": "integer"
+ },
+ "minimum": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "adjustable_quantity_params",
+ "type": "object"
+ },
+ "dynamic_tax_rates": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "product_data": {
+ "properties": {
+ "description": {
+ "maxLength": 40000,
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "title": "product_data",
+ "type": "object"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency"
+ ],
+ "title": "price_data_with_product_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "line_item_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "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"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "mode": {
+ "description": "The mode of the Checkout Session. Pass `subscription` if the Checkout Session includes at least one recurring item.",
+ "enum": [
+ "payment",
+ "setup",
+ "subscription"
+ ],
+ "type": "string"
+ },
+ "payment_intent_data": {
+ "description": "A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.",
+ "properties": {
+ "application_fee_amount": {
+ "type": "integer"
+ },
+ "capture_method": {
+ "enum": [
+ "automatic",
+ "automatic_async",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "type": "string"
+ },
+ "receipt_email": {
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "shipping": {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "line1"
+ ],
+ "title": "address",
+ "type": "object"
+ },
+ "carrier": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tracking_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "shipping",
+ "type": "object"
+ },
+ "statement_descriptor": {
+ "maxLength": 22,
+ "type": "string"
+ },
+ "statement_descriptor_suffix": {
+ "maxLength": 22,
+ "type": "string"
+ },
+ "transfer_data": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_params",
+ "type": "object"
+ },
+ "transfer_group": {
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_data_params",
+ "type": "object"
+ },
+ "payment_method_collection": {
+ "description": "Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.\nThis may occur if the Checkout Session includes a free trial or a discount.\n\nCan only be set in `subscription` mode. Defaults to `always`.\n\nIf you'd like information on how to collect a payment method outside of Checkout, read the guide on configuring [subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials).",
+ "enum": [
+ "always",
+ "if_required"
+ ],
+ "type": "string"
+ },
+ "payment_method_configuration": {
+ "description": "The ID of the payment method configuration to use with this Checkout session.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "payment_method_data": {
+ "description": "This parameter allows you to set some attributes on the payment method created during a Checkout session.",
+ "properties": {
+ "allow_redisplay": {
+ "enum": [
+ "always",
+ "limited",
+ "unspecified"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_data_param",
+ "type": "object"
+ },
+ "payment_method_options": {
+ "description": "Payment-method-specific configuration.",
+ "properties": {
+ "acss_debit": {
+ "properties": {
+ "currency": {
+ "enum": [
+ "cad",
+ "usd"
+ ],
+ "type": "string"
+ },
+ "mandate_options": {
+ "properties": {
+ "custom_mandate_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "default_for": {
+ "items": {
+ "enum": [
+ "invoice",
+ "subscription"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "interval_description": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "payment_schedule": {
+ "enum": [
+ "combined",
+ "interval",
+ "sporadic"
+ ],
+ "type": "string"
+ },
+ "transaction_type": {
+ "enum": [
+ "business",
+ "personal"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "affirm": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "afterpay_clearpay": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "alipay": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "amazon_pay": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "au_becs_debit": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "bacs_debit": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "bancontact": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "boleto": {
+ "properties": {
+ "expires_after_days": {
+ "type": "integer"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "card": {
+ "properties": {
+ "installments": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "title": "installments_param",
+ "type": "object"
+ },
+ "request_three_d_secure": {
+ "enum": [
+ "any",
+ "automatic",
+ "challenge"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "setup_future_usage": {
+ "enum": [
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "statement_descriptor_suffix_kana": {
+ "maxLength": 22,
+ "type": "string"
+ },
+ "statement_descriptor_suffix_kanji": {
+ "maxLength": 17,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "cashapp": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "customer_balance": {
+ "properties": {
+ "bank_transfer": {
+ "properties": {
+ "eu_bank_transfer": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "eu_bank_transfer_params",
+ "type": "object"
+ },
+ "requested_address_types": {
+ "items": {
+ "enum": [
+ "aba",
+ "iban",
+ "sepa",
+ "sort_code",
+ "spei",
+ "swift",
+ "zengin"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "type": {
+ "enum": [
+ "eu_bank_transfer",
+ "gb_bank_transfer",
+ "jp_bank_transfer",
+ "mx_bank_transfer",
+ "us_bank_transfer"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "bank_transfer_param",
+ "type": "object"
+ },
+ "funding_type": {
+ "enum": [
+ "bank_transfer"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "eps": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "fpx": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "giropay": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "grabpay": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "ideal": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "klarna": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "konbini": {
+ "properties": {
+ "expires_after_days": {
+ "type": "integer"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "link": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "mobilepay": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "multibanco": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "oxxo": {
+ "properties": {
+ "expires_after_days": {
+ "type": "integer"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "p24": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "tos_shown_and_accepted": {
+ "type": "boolean"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "paynow": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "paypal": {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "preferred_locale": {
+ "enum": [
+ "cs-CZ",
+ "da-DK",
+ "de-AT",
+ "de-DE",
+ "de-LU",
+ "el-GR",
+ "en-GB",
+ "en-US",
+ "es-ES",
+ "fi-FI",
+ "fr-BE",
+ "fr-FR",
+ "fr-LU",
+ "hu-HU",
+ "it-IT",
+ "nl-BE",
+ "nl-NL",
+ "pl-PL",
+ "pt-PT",
+ "sk-SK",
+ "sv-SE"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "reference": {
+ "maxLength": 127,
+ "type": "string"
+ },
+ "risk_correlation_id": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "pix": {
+ "properties": {
+ "expires_after_seconds": {
+ "type": "integer"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "revolut_pay": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "sofort": {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "swish": {
+ "properties": {
+ "reference": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "us_bank_account": {
+ "properties": {
+ "financial_connections": {
+ "properties": {
+ "permissions": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ }
+ },
+ "title": "linked_account_options_param",
+ "type": "object"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "wechat_pay": {
+ "properties": {
+ "app_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "client": {
+ "enum": [
+ "android",
+ "ios",
+ "web"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "client"
+ ],
+ "title": "payment_method_options_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "payment_method_types": {
+ "description": "A list of the types of payment methods (e.g., `card`) this Checkout Session can accept.\n\nYou can omit this attribute to manage your payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).\nSee [Dynamic Payment Methods](https://stripe.com/docs/payments/payment-methods/integration-options#using-dynamic-payment-methods) for more details.\n\nRead more about the supported payment methods and their requirements in our [payment\nmethod details guide](/docs/payments/checkout/payment-methods).\n\nIf multiple payment methods are passed, Checkout will dynamically reorder them to\nprioritize the most relevant payment methods based on the customer's location and\nother characteristics.",
+ "items": {
+ "enum": [
+ "acss_debit",
+ "affirm",
+ "afterpay_clearpay",
+ "alipay",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "blik",
+ "boleto",
+ "card",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "klarna",
+ "konbini",
+ "link",
+ "mobilepay",
+ "multibanco",
+ "oxxo",
+ "p24",
+ "paynow",
+ "paypal",
+ "pix",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "twint",
+ "us_bank_account",
+ "wechat_pay",
+ "zip"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "phone_number_collection": {
+ "description": "Controls phone number collection settings for the session.\n\nWe recommend that you review your privacy policy and check with your legal contacts\nbefore using this feature. Learn more about [collecting phone numbers with Checkout](https://stripe.com/docs/payments/checkout/phone-numbers).",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "phone_number_collection_params",
+ "type": "object"
+ },
+ "redirect_on_completion": {
+ "description": "This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-redirect-behavior) of embedded sessions. Defaults to `always`.",
+ "enum": [
+ "always",
+ "if_required",
+ "never"
+ ],
+ "type": "string"
+ },
+ "return_url": {
+ "description": "The URL to redirect your customer back to after they authenticate or cancel their payment on the\npayment method's app or site. This parameter is required if ui_mode is `embedded`\nand redirect-based payment methods are enabled on the session.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "saved_payment_method_options": {
+ "description": "Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode.",
+ "properties": {
+ "allow_redisplay_filters": {
+ "items": {
+ "enum": [
+ "always",
+ "limited",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "payment_method_save": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "saved_payment_method_options_param",
+ "type": "object"
+ },
+ "setup_intent_data": {
+ "description": "A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in `setup` mode.",
+ "properties": {
+ "description": {
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "type": "string"
+ }
+ },
+ "title": "setup_intent_data_param",
+ "type": "object"
+ },
+ "shipping_address_collection": {
+ "description": "When set, provides configuration for Checkout to collect a shipping address from a customer.",
+ "properties": {
+ "allowed_countries": {
+ "items": {
+ "enum": [
+ "AC",
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CV",
+ "CW",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SZ",
+ "TA",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "XK",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW",
+ "ZZ"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "allowed_countries"
+ ],
+ "title": "shipping_address_collection_params",
+ "type": "object"
+ },
+ "shipping_options": {
+ "description": "The shipping rate options to apply to this Session. Up to a maximum of 5.",
+ "items": {
+ "properties": {
+ "shipping_rate": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "shipping_rate_data": {
+ "properties": {
+ "delivery_estimate": {
+ "properties": {
+ "maximum": {
+ "properties": {
+ "unit": {
+ "enum": [
+ "business_day",
+ "day",
+ "hour",
+ "month",
+ "week"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "unit",
+ "value"
+ ],
+ "title": "delivery_estimate_bound",
+ "type": "object"
+ },
+ "minimum": {
+ "properties": {
+ "unit": {
+ "enum": [
+ "business_day",
+ "day",
+ "hour",
+ "month",
+ "week"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "unit",
+ "value"
+ ],
+ "title": "delivery_estimate_bound",
+ "type": "object"
+ }
+ },
+ "title": "delivery_estimate",
+ "type": "object"
+ },
+ "display_name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "fixed_amount": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "currency_options": {
+ "additionalProperties": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount"
+ ],
+ "title": "currency_option",
+ "type": "object"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "title": "fixed_amount",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "tax_code": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "fixed_amount"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "display_name"
+ ],
+ "title": "method_params",
+ "type": "object"
+ }
+ },
+ "title": "shipping_option_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "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. If blank or `auto`, `pay` is used.",
+ "enum": [
+ "auto",
+ "book",
+ "donate",
+ "pay"
+ ],
+ "type": "string"
+ },
+ "subscription_data": {
+ "description": "A subset of parameters to be passed to subscription creation for Checkout Sessions in `subscription` mode.",
+ "properties": {
+ "application_fee_percent": {
+ "type": "number"
+ },
+ "billing_cycle_anchor": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "default_tax_rates": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "invoice_settings": {
+ "properties": {
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "invoice_settings_params",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "type": "string"
+ },
+ "proration_behavior": {
+ "enum": [
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "transfer_data": {
+ "properties": {
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ "trial_end": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "trial_period_days": {
+ "type": "integer"
+ },
+ "trial_settings": {
+ "properties": {
+ "end_behavior": {
+ "properties": {
+ "missing_payment_method": {
+ "enum": [
+ "cancel",
+ "create_invoice",
+ "pause"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "missing_payment_method"
+ ],
+ "title": "end_behavior",
+ "type": "object"
+ }
+ },
+ "required": [
+ "end_behavior"
+ ],
+ "title": "trial_settings_config",
+ "type": "object"
+ }
+ },
+ "title": "subscription_data_params",
+ "type": "object"
+ },
+ "success_url": {
+ "description": "The URL to which Stripe should send customers when payment or setup\nis complete.\nThis parameter is not allowed if ui_mode is `embedded`. If you’d like to use\ninformation from the successful Checkout Session on your page, read the\nguide on [customizing your success page](https://stripe.com/docs/payments/checkout/custom-success-page).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_id_collection": {
+ "description": "Controls tax ID collection during checkout.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "tax_id_collection_params",
+ "type": "object"
+ },
+ "ui_mode": {
+ "description": "The UI mode of the Session. Defaults to `hosted`.",
+ "enum": [
+ "embedded",
+ "hosted"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/checkout.session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/checkout/sessions/{session}": {
+ "get": {
+ "description": "Retrieves a Session object.
",
+ "operationId": "GetCheckoutSessionsSession",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "session",
+ "required": true,
+ "schema": {
+ "maxLength": 66,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/checkout.session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates a Session object.
",
+ "operationId": "PostCheckoutSessionsSession",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "session",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/checkout.session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/checkout/sessions/{session}/expire": {
+ "post": {
+ "description": "A Session can be expired when it is in one of these statuses: open
\n\nAfter it expires, a customer can’t complete a Session and customers loading the Session see a message saying the Session is expired.
",
+ "operationId": "PostCheckoutSessionsSessionExpire",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "session",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/checkout.session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/checkout/sessions/{session}/line_items": {
+ "get": {
+ "description": "When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
",
+ "operationId": "GetCheckoutSessionsSessionLineItems",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "in": "path",
+ "name": "session",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PaymentPagesCheckoutSessionListLineItems",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/climate/orders": {
+ "get": {
+ "description": "Lists all Climate order objects. The orders are returned sorted by creation date, with the\nmost recently created orders appearing first.
",
+ "operationId": "GetClimateOrders",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/climate.order"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/climate/orders",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "ClimateRemovalsOrdersList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a Climate order object for a given Climate product. The order will be processed immediately\nafter creation and payment will be deducted your Stripe balance.
",
+ "operationId": "PostClimateOrders",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "beneficiary": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Requested amount of carbon removal units. Either this or `metric_tons` must be specified.",
+ "type": "integer"
+ },
+ "beneficiary": {
+ "description": "Publicly sharable reference for the end beneficiary of carbon removal. Assumed to be the Stripe account if not set.",
+ "properties": {
+ "public_name": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "public_name"
+ ],
+ "title": "beneficiary_params",
+ "type": "object"
+ },
+ "currency": {
+ "description": "Request currency for the order as a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a supported [settlement currency for your account](https://stripe.com/docs/currencies). If omitted, the account's default currency will be used.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "metric_tons": {
+ "description": "Requested number of tons for the order. Either this or `amount` must be specified.",
+ "format": "decimal",
+ "type": "string"
+ },
+ "product": {
+ "description": "Unique identifier of the Climate product.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "product"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/climate.order"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/climate/orders/{order}": {
+ "get": {
+ "description": "Retrieves the details of a Climate order object with the given ID.
",
+ "operationId": "GetClimateOrdersOrder",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Unique identifier of the order.",
+ "in": "path",
+ "name": "order",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/climate.order"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified order by setting the values of the parameters passed.
",
+ "operationId": "PostClimateOrdersOrder",
+ "parameters": [
+ {
+ "description": "Unique identifier of the order.",
+ "in": "path",
+ "name": "order",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "beneficiary": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "beneficiary": {
+ "anyOf": [
+ {
+ "properties": {
+ "public_name": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "public_name"
+ ],
+ "title": "beneficiary_params",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Publicly sharable reference for the end beneficiary of carbon removal. Assumed to be the Stripe account if not set."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/climate.order"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/climate/orders/{order}/cancel": {
+ "post": {
+ "description": "Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the\nreservation amount_subtotal
, but not the amount_fees
for user-triggered cancellations. Frontier\nmight cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe\nprovides 90 days advance notice and refunds the amount_total
.
",
+ "operationId": "PostClimateOrdersOrderCancel",
+ "parameters": [
+ {
+ "description": "Unique identifier of the order.",
+ "in": "path",
+ "name": "order",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/climate.order"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/climate/products": {
+ "get": {
+ "description": "Lists all available Climate product objects.
",
+ "operationId": "GetClimateProducts",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/climate.product"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/climate/products",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "ClimateRemovalsProductsList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/climate/products/{product}": {
+ "get": {
+ "description": "Retrieves the details of a Climate product with the given ID.
",
+ "operationId": "GetClimateProductsProduct",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "product",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/climate.product"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/climate/suppliers": {
+ "get": {
+ "description": "Lists all available Climate supplier objects.
",
+ "operationId": "GetClimateSuppliers",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/climate.supplier"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/climate/suppliers",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "ClimateRemovalsSuppliersList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/climate/suppliers/{supplier}": {
+ "get": {
+ "description": "Retrieves a Climate supplier object.
",
+ "operationId": "GetClimateSuppliersSupplier",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "supplier",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/climate.supplier"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/confirmation_tokens/{confirmation_token}": {
+ "get": {
+ "description": "Retrieves an existing ConfirmationToken object
",
+ "operationId": "GetConfirmationTokensConfirmationToken",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "confirmation_token",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/confirmation_token"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/country_specs": {
+ "get": {
+ "description": "Lists all Country Spec objects available in the API.
",
+ "operationId": "GetCountrySpecs",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/country_spec"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/country_specs",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "CountrySpecList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/country_specs/{country}": {
+ "get": {
+ "description": "Returns a Country Spec for a given Country code.
",
+ "operationId": "GetCountrySpecsCountry",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "country",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/country_spec"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/coupons": {
+ "get": {
+ "description": "Returns a list of your coupons.
",
+ "operationId": "GetCoupons",
+ "parameters": [
+ {
+ "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/coupon"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/coupons",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "CouponsResourceCouponList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "You can create coupons easily via the coupon management page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly.
\n\nA coupon has either a percent_off
or an amount_off
and currency
. If you set an amount_off
, that amount will be subtracted from any invoice’s subtotal. For example, an invoice with a subtotal of 100 will have a final total of 0 if a coupon with an amount_off
of 200 is applied to it and an invoice with a subtotal of 300 will have a final total of 100 if a coupon with an amount_off
of 200 is applied to it.
",
+ "operationId": "PostCoupons",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "applies_to": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "currency_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount_off": {
+ "description": "A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed).",
+ "type": "integer"
+ },
+ "applies_to": {
+ "description": "A hash containing directions for what this Coupon will apply discounts to.",
+ "properties": {
+ "products": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "applies_to_params",
+ "type": "object"
+ },
+ "currency": {
+ "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the `amount_off` parameter (required if `amount_off` is passed).",
+ "type": "string"
+ },
+ "currency_options": {
+ "additionalProperties": {
+ "properties": {
+ "amount_off": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "amount_off"
+ ],
+ "title": "currency_option",
+ "type": "object"
+ },
+ "description": "Coupons defined in each available currency option (only supported if `amount_off` is passed). Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).",
+ "type": "object"
+ },
+ "duration": {
+ "description": "Specifies how long the discount will be in effect if used on a subscription. Defaults to `once`.",
+ "enum": [
+ "forever",
+ "once",
+ "repeating"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "duration_in_months": {
+ "description": "Required only if `duration` is `repeating`, in which case it must be a positive integer that specifies the number of months the discount will be in effect.",
+ "type": "integer"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "description": "Unique string of your choice that will be used to identify this coupon when applying it to a customer. If you don't want to specify a particular code, you can leave the ID blank and we'll generate a random code for you.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "max_redemptions": {
+ "description": "A positive integer specifying the number of times the coupon can be redeemed before it's no longer valid. For example, you might have a 50% off coupon that the first 20 readers of your blog can use.",
+ "type": "integer"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "name": {
+ "description": "Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set.",
+ "maxLength": 40,
+ "type": "string"
+ },
+ "percent_off": {
+ "description": "A positive float larger than 0, and smaller or equal to 100, that represents the discount the coupon will apply (required if `amount_off` is not passed).",
+ "type": "number"
+ },
+ "redeem_by": {
+ "description": "Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers.",
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/coupon"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/coupons/{coupon}": {
+ "delete": {
+ "description": "You can delete coupons via the coupon management page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can’t redeem the coupon. You can also delete coupons via the API.
",
+ "operationId": "DeleteCouponsCoupon",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "coupon",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_coupon"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves the coupon with the given ID.
",
+ "operationId": "GetCouponsCoupon",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "coupon",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/coupon"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable.
",
+ "operationId": "PostCouponsCoupon",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "coupon",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "currency_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "currency_options": {
+ "additionalProperties": {
+ "properties": {
+ "amount_off": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "amount_off"
+ ],
+ "title": "currency_option",
+ "type": "object"
+ },
+ "description": "Coupons defined in each available currency option (only supported if the coupon is amount-based). Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "name": {
+ "description": "Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set.",
+ "maxLength": 40,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/coupon"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/credit_notes": {
+ "get": {
+ "description": "Returns a list of credit notes.
",
+ "operationId": "GetCreditNotes",
+ "parameters": [
+ {
+ "description": "Only return credit notes that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return credit notes for the customer specified by this customer ID.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return credit notes for the invoice specified by this invoice ID.",
+ "in": "query",
+ "name": "invoice",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/credit_note"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "CreditNotesList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Issue a credit note to adjust the amount of a finalized invoice. For a status=open
invoice, a credit note reduces\nits amount_due
. For a status=paid
invoice, a credit note does not affect its amount_due
. Instead, it can result\nin any combination of the following:
\n\n\n- Refund: create a new refund (using
refund_amount
) or link an existing refund (using refund
). \n- Customer balance credit: credit the customer’s balance (using
credit_amount
) which will be automatically applied to their next invoice when it’s finalized. \n- Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using
out_of_band_amount
). \n
\n\nFor post-payment credit notes the sum of the refund, credit and outside of Stripe amounts must equal the credit note total.
\n\nYou may issue multiple credit notes for an invoice. Each credit note will increment the invoice’s pre_payment_credit_notes_amount
\nor post_payment_credit_notes_amount
depending on its status
at the time of credit note creation.
",
+ "operationId": "PostCreditNotes",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "lines": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping_cost": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "The integer amount in cents (or local equivalent) representing the total amount of the credit note.",
+ "type": "integer"
+ },
+ "credit_amount": {
+ "description": "The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.",
+ "type": "integer"
+ },
+ "effective_at": {
+ "description": "The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "email_type": {
+ "description": "Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`.",
+ "enum": [
+ "credit_note",
+ "none"
+ ],
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice": {
+ "description": "ID of the invoice.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "lines": {
+ "description": "Line items that make up the credit note.",
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "description": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "invoice_line_item": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_amounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "tax_rate": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "taxable_amount": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "amount",
+ "tax_rate",
+ "taxable_amount"
+ ],
+ "title": "tax_amount_with_tax_rate_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": {
+ "enum": [
+ "custom_line_item",
+ "invoice_line_item"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "credit_note_line_item_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "memo": {
+ "description": "The credit note's memo appears on the credit note PDF.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "out_of_band_amount": {
+ "description": "The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.",
+ "type": "integer"
+ },
+ "reason": {
+ "description": "Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`",
+ "enum": [
+ "duplicate",
+ "fraudulent",
+ "order_change",
+ "product_unsatisfactory"
+ ],
+ "type": "string"
+ },
+ "refund": {
+ "description": "ID of an existing refund to link this credit note to.",
+ "type": "string"
+ },
+ "refund_amount": {
+ "description": "The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.",
+ "type": "integer"
+ },
+ "shipping_cost": {
+ "description": "When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note.",
+ "properties": {
+ "shipping_rate": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "credit_note_shipping_cost",
+ "type": "object"
+ }
+ },
+ "required": [
+ "invoice"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/credit_note"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/credit_notes/preview": {
+ "get": {
+ "description": "Get a preview of a credit note without creating it.
",
+ "operationId": "GetCreditNotesPreview",
+ "parameters": [
+ {
+ "description": "The integer amount in cents (or local equivalent) representing the total amount of the credit note.",
+ "in": "query",
+ "name": "amount",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.",
+ "in": "query",
+ "name": "credit_amount",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF.",
+ "in": "query",
+ "name": "effective_at",
+ "required": false,
+ "schema": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`.",
+ "in": "query",
+ "name": "email_type",
+ "required": false,
+ "schema": {
+ "enum": [
+ "credit_note",
+ "none"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "ID of the invoice.",
+ "in": "query",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Line items that make up the credit note.",
+ "explode": true,
+ "in": "query",
+ "name": "lines",
+ "required": false,
+ "schema": {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "description": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "invoice_line_item": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_amounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "tax_rate": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "taxable_amount": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "amount",
+ "tax_rate",
+ "taxable_amount"
+ ],
+ "title": "tax_amount_with_tax_rate_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": {
+ "enum": [
+ "custom_line_item",
+ "invoice_line_item"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "credit_note_line_item_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The credit note's memo appears on the credit note PDF.",
+ "in": "query",
+ "name": "memo",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "explode": true,
+ "in": "query",
+ "name": "metadata",
+ "required": false,
+ "schema": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.",
+ "in": "query",
+ "name": "out_of_band_amount",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`",
+ "in": "query",
+ "name": "reason",
+ "required": false,
+ "schema": {
+ "enum": [
+ "duplicate",
+ "fraudulent",
+ "order_change",
+ "product_unsatisfactory"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "ID of an existing refund to link this credit note to.",
+ "in": "query",
+ "name": "refund",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.",
+ "in": "query",
+ "name": "refund_amount",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note.",
+ "explode": true,
+ "in": "query",
+ "name": "shipping_cost",
+ "required": false,
+ "schema": {
+ "properties": {
+ "shipping_rate": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "credit_note_shipping_cost",
+ "type": "object"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/credit_note"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/credit_notes/preview/lines": {
+ "get": {
+ "description": "When retrieving a credit note preview, you’ll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items.
",
+ "operationId": "GetCreditNotesPreviewLines",
+ "parameters": [
+ {
+ "description": "The integer amount in cents (or local equivalent) representing the total amount of the credit note.",
+ "in": "query",
+ "name": "amount",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.",
+ "in": "query",
+ "name": "credit_amount",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF.",
+ "in": "query",
+ "name": "effective_at",
+ "required": false,
+ "schema": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`.",
+ "in": "query",
+ "name": "email_type",
+ "required": false,
+ "schema": {
+ "enum": [
+ "credit_note",
+ "none"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "ID of the invoice.",
+ "in": "query",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Line items that make up the credit note.",
+ "explode": true,
+ "in": "query",
+ "name": "lines",
+ "required": false,
+ "schema": {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "description": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "invoice_line_item": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_amounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "tax_rate": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "taxable_amount": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "amount",
+ "tax_rate",
+ "taxable_amount"
+ ],
+ "title": "tax_amount_with_tax_rate_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": {
+ "enum": [
+ "custom_line_item",
+ "invoice_line_item"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "credit_note_line_item_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The credit note's memo appears on the credit note PDF.",
+ "in": "query",
+ "name": "memo",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "explode": true,
+ "in": "query",
+ "name": "metadata",
+ "required": false,
+ "schema": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.",
+ "in": "query",
+ "name": "out_of_band_amount",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`",
+ "in": "query",
+ "name": "reason",
+ "required": false,
+ "schema": {
+ "enum": [
+ "duplicate",
+ "fraudulent",
+ "order_change",
+ "product_unsatisfactory"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "ID of an existing refund to link this credit note to.",
+ "in": "query",
+ "name": "refund",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.",
+ "in": "query",
+ "name": "refund_amount",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note.",
+ "explode": true,
+ "in": "query",
+ "name": "shipping_cost",
+ "required": false,
+ "schema": {
+ "properties": {
+ "shipping_rate": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "credit_note_shipping_cost",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/credit_note_line_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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "CreditNoteLinesList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/credit_notes/{credit_note}/lines": {
+ "get": {
+ "description": "When retrieving a credit note, you’ll get a lines property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
",
+ "operationId": "GetCreditNotesCreditNoteLines",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "credit_note",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/credit_note_line_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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "CreditNoteLinesList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/credit_notes/{id}": {
+ "get": {
+ "description": "Retrieves the credit note object with the given identifier.
",
+ "operationId": "GetCreditNotesId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/credit_note"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates an existing credit note.
",
+ "operationId": "PostCreditNotesId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "memo": {
+ "description": "Credit note memo.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/credit_note"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/credit_notes/{id}/void": {
+ "post": {
+ "description": "Marks a credit note as void. Learn more about voiding credit notes.
",
+ "operationId": "PostCreditNotesIdVoid",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/credit_note"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customer_sessions": {
+ "post": {
+ "description": "Creates a Customer Session object that includes a single-use client secret that you can use on your front-end to grant client-side API access for certain customer resources.
",
+ "operationId": "PostCustomerSessions",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "components": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "components": {
+ "description": "Configuration for each component. Exactly 1 component must be enabled.",
+ "properties": {
+ "buy_button": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "buy_button_param",
+ "type": "object"
+ },
+ "payment_element": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "features": {
+ "properties": {
+ "payment_method_allow_redisplay_filters": {
+ "items": {
+ "enum": [
+ "always",
+ "limited",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "payment_method_redisplay": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "payment_method_redisplay_limit": {
+ "type": "integer"
+ },
+ "payment_method_remove": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "payment_method_save": {
+ "enum": [
+ "disabled",
+ "enabled"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "payment_method_save_usage": {
+ "enum": [
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "features_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "payment_element_param",
+ "type": "object"
+ },
+ "pricing_table": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "pricing_table_param",
+ "type": "object"
+ }
+ },
+ "title": "components",
+ "type": "object"
+ },
+ "customer": {
+ "description": "The ID of an existing customer for which to create the Customer Session.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "components",
+ "customer"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/customer_session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers": {
+ "get": {
+ "description": "Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.
",
+ "operationId": "GetCustomers",
+ "parameters": [
+ {
+ "description": "Only return customers that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A case-sensitive filter on the list based on the customer's `email` field. The value must be a string.",
+ "in": "query",
+ "name": "email",
+ "required": false,
+ "schema": {
+ "maxLength": 512,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Provides a list of customers that are associated with the specified test clock. The response will not include customers with test clocks if this parameter is not set.",
+ "in": "query",
+ "name": "test_clock",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/customer"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/customers",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "CustomerResourceCustomerList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new customer object.
",
+ "operationId": "PostCustomers",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "address": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "cash_balance": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "preferred_locales": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax_id_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The customer's address."
+ },
+ "balance": {
+ "description": "An integer amount in cents (or local equivalent) that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice.",
+ "type": "integer"
+ },
+ "cash_balance": {
+ "description": "Balance information and default balance settings for this customer.",
+ "properties": {
+ "settings": {
+ "properties": {
+ "reconciliation_mode": {
+ "enum": [
+ "automatic",
+ "manual",
+ "merchant_default"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "balance_settings_param",
+ "type": "object"
+ }
+ },
+ "title": "cash_balance_param",
+ "type": "object"
+ },
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "email": {
+ "description": "Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*.",
+ "maxLength": 512,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice_prefix": {
+ "description": "The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "invoice_settings": {
+ "description": "Default invoice settings for this customer.",
+ "properties": {
+ "custom_fields": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "name": {
+ "maxLength": 40,
+ "type": "string"
+ },
+ "value": {
+ "maxLength": 140,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "title": "custom_field_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "default_payment_method": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "footer": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "rendering_options": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_tax_display": {
+ "enum": [
+ "",
+ "exclude_tax",
+ "include_inclusive_tax"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "customer_rendering_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "customer_param",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "name": {
+ "description": "The customer's full name or business name.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "next_invoice_sequence": {
+ "description": "The sequence to be used on the customer's next invoice. Defaults to 1.",
+ "type": "integer"
+ },
+ "payment_method": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "description": "The customer's phone number.",
+ "maxLength": 20,
+ "type": "string"
+ },
+ "preferred_locales": {
+ "description": "Customer's preferred languages, ordered by preference.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "promotion_code": {
+ "description": "The ID of a promotion code to apply to the customer. The customer will have a discount applied on all recurring payments. Charges you create through the API will not have the discount.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "shipping": {
+ "anyOf": [
+ {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "customer_shipping",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The customer's shipping information. Appears on invoices emailed to this customer."
+ },
+ "source": {
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "tax": {
+ "description": "Tax details about the customer.",
+ "properties": {
+ "ip_address": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "validate_location": {
+ "enum": [
+ "deferred",
+ "immediately"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "tax_param",
+ "type": "object"
+ },
+ "tax_exempt": {
+ "description": "The customer's tax exemption. One of `none`, `exempt`, or `reverse`.",
+ "enum": [
+ "",
+ "exempt",
+ "none",
+ "reverse"
+ ],
+ "type": "string"
+ },
+ "tax_id_data": {
+ "description": "The customer's tax IDs.",
+ "items": {
+ "properties": {
+ "type": {
+ "enum": [
+ "ad_nrt",
+ "ae_trn",
+ "ar_cuit",
+ "au_abn",
+ "au_arn",
+ "bg_uic",
+ "bh_vat",
+ "bo_tin",
+ "br_cnpj",
+ "br_cpf",
+ "ca_bn",
+ "ca_gst_hst",
+ "ca_pst_bc",
+ "ca_pst_mb",
+ "ca_pst_sk",
+ "ca_qst",
+ "ch_uid",
+ "ch_vat",
+ "cl_tin",
+ "cn_tin",
+ "co_nit",
+ "cr_tin",
+ "de_stn",
+ "do_rcn",
+ "ec_ruc",
+ "eg_tin",
+ "es_cif",
+ "eu_oss_vat",
+ "eu_vat",
+ "gb_vat",
+ "ge_vat",
+ "hk_br",
+ "hu_tin",
+ "id_npwp",
+ "il_vat",
+ "in_gst",
+ "is_vat",
+ "jp_cn",
+ "jp_rn",
+ "jp_trn",
+ "ke_pin",
+ "kr_brn",
+ "kz_bin",
+ "li_uid",
+ "mx_rfc",
+ "my_frp",
+ "my_itn",
+ "my_sst",
+ "ng_tin",
+ "no_vat",
+ "no_voec",
+ "nz_gst",
+ "om_vat",
+ "pe_ruc",
+ "ph_tin",
+ "ro_tin",
+ "rs_pib",
+ "ru_inn",
+ "ru_kpp",
+ "sa_vat",
+ "sg_gst",
+ "sg_uen",
+ "si_tin",
+ "sv_nit",
+ "th_vat",
+ "tr_tin",
+ "tw_vat",
+ "ua_vat",
+ "us_ein",
+ "uy_ruc",
+ "ve_rif",
+ "vn_tin",
+ "za_vat"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "value"
+ ],
+ "title": "data_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "test_clock": {
+ "description": "ID of the test clock to attach to the customer.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/customer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/search": {
+ "get": {
+ "description": "Search for customers you’ve previously created using Stripe’s Search Query Language.\nDon’t use search in read-after-write flows where strict consistency is necessary. Under normal operating\nconditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up\nto an hour behind during outages. Search functionality is not available to merchants in India.
",
+ "operationId": "GetCustomersSearch",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.",
+ "in": "query",
+ "name": "page",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for customers](https://stripe.com/docs/search#query-fields-for-customers).",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/customer"
+ },
+ "type": "array"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "next_page": {
+ "maxLength": 5000,
+ "nullable": true,
+ "type": "string"
+ },
+ "object": {
+ "description": "String representing the object's type. Objects of the same type share the same value.",
+ "enum": [
+ "search_result"
+ ],
+ "type": "string"
+ },
+ "total_count": {
+ "description": "The total number of objects that match the query, only accurate up to 10,000.",
+ "type": "integer"
+ },
+ "url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "SearchResult",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}": {
+ "delete": {
+ "description": "Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.
",
+ "operationId": "DeleteCustomersCustomer",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_customer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves a Customer object.
",
+ "operationId": "GetCustomersCustomer",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/customer"
+ },
+ {
+ "$ref": "#/components/schemas/deleted_customer"
+ }
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer’s active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer’s current subscriptions, if the subscription bills automatically and is in the past_due
state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior.
\n\nThis request accepts mostly the same arguments as the customer creation call.
",
+ "operationId": "PostCustomersCustomer",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "address": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "bank_account": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "card": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "cash_balance": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "preferred_locales": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The customer's address."
+ },
+ "balance": {
+ "description": "An integer amount in cents (or local equivalent) that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice.",
+ "type": "integer"
+ },
+ "bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "account_holder_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "object": {
+ "enum": [
+ "bank_account"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "country"
+ ],
+ "title": "customer_payment_source_bank_account",
+ "type": "object"
+ },
+ {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details."
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "address_city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_zip": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "cvc": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_month": {
+ "type": "integer"
+ },
+ "exp_year": {
+ "type": "integer"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "object": {
+ "enum": [
+ "card"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "exp_month",
+ "exp_year",
+ "number"
+ ],
+ "title": "customer_payment_source_card",
+ "type": "object"
+ },
+ {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js).",
+ "x-stripeBypassValidation": true
+ },
+ "cash_balance": {
+ "description": "Balance information and default balance settings for this customer.",
+ "properties": {
+ "settings": {
+ "properties": {
+ "reconciliation_mode": {
+ "enum": [
+ "automatic",
+ "manual",
+ "merchant_default"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "balance_settings_param",
+ "type": "object"
+ }
+ },
+ "title": "cash_balance_param",
+ "type": "object"
+ },
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_alipay_account": {
+ "description": "ID of Alipay account to make the customer's new default for invoice payments.",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "default_bank_account": {
+ "description": "ID of bank account to make the customer's new default for invoice payments.",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "default_card": {
+ "description": "ID of card to make the customer's new default for invoice payments.",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "default_source": {
+ "description": "If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method) parameter.\n\nProvide the ID of a payment source already attached to this customer to make it this customer's default payment source.\n\nIf you want to add a new payment source and make it the default, see the [source](https://stripe.com/docs/api/customers/update#update_customer-source) property.",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "email": {
+ "description": "Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*.",
+ "maxLength": 512,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice_prefix": {
+ "description": "The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "invoice_settings": {
+ "description": "Default invoice settings for this customer.",
+ "properties": {
+ "custom_fields": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "name": {
+ "maxLength": 40,
+ "type": "string"
+ },
+ "value": {
+ "maxLength": 140,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "title": "custom_field_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "default_payment_method": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "footer": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "rendering_options": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_tax_display": {
+ "enum": [
+ "",
+ "exclude_tax",
+ "include_inclusive_tax"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "customer_rendering_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "customer_param",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "name": {
+ "description": "The customer's full name or business name.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "next_invoice_sequence": {
+ "description": "The sequence to be used on the customer's next invoice. Defaults to 1.",
+ "type": "integer"
+ },
+ "phone": {
+ "description": "The customer's phone number.",
+ "maxLength": 20,
+ "type": "string"
+ },
+ "preferred_locales": {
+ "description": "Customer's preferred languages, ordered by preference.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "promotion_code": {
+ "description": "The ID of a promotion code to apply to the customer. The customer will have a discount applied on all recurring payments. Charges you create through the API will not have the discount.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "shipping": {
+ "anyOf": [
+ {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "customer_shipping",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The customer's shipping information. Appears on invoices emailed to this customer."
+ },
+ "source": {
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "tax": {
+ "description": "Tax details about the customer.",
+ "properties": {
+ "ip_address": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "validate_location": {
+ "enum": [
+ "deferred",
+ "immediately"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "tax_param",
+ "type": "object"
+ },
+ "tax_exempt": {
+ "description": "The customer's tax exemption. One of `none`, `exempt`, or `reverse`.",
+ "enum": [
+ "",
+ "exempt",
+ "none",
+ "reverse"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/customer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/balance_transactions": {
+ "get": {
+ "description": "Returns a list of transactions that updated the customer’s balances.
",
+ "operationId": "GetCustomersCustomerBalanceTransactions",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/customer_balance_transaction"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "CustomerBalanceTransactionList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates an immutable transaction that updates the customer’s credit balance.
",
+ "operationId": "PostCustomersCustomerBalanceTransactions",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "The integer amount in **cents (or local equivalent)** to apply to the customer's credit balance.",
+ "type": "integer"
+ },
+ "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). Specifies the [`invoice_credit_balance`](https://stripe.com/docs/api/customers/object#customer_object-invoice_credit_balance) that this transaction will apply to. If the customer's `currency` is not set, it will be updated to this value.",
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 350,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/customer_balance_transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/balance_transactions/{transaction}": {
+ "get": {
+ "description": "Retrieves a specific customer balance transaction that updated the customer’s balances.
",
+ "operationId": "GetCustomersCustomerBalanceTransactionsTransaction",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "transaction",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/customer_balance_transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Most credit balance transaction fields are immutable, but you may update its description
and metadata
.
",
+ "operationId": "PostCustomersCustomerBalanceTransactionsTransaction",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "transaction",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 350,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/customer_balance_transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/bank_accounts": {
+ "get": {
+ "deprecated": true,
+ "description": "You can see a list of the bank accounts belonging to a Customer. Note that the 10 most recent sources are always available by default on the Customer. If you need more than those 10, you can use this API method and the limit
and starting_after
parameters to page through additional bank accounts.
",
+ "operationId": "GetCustomersCustomerBankAccounts",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/bank_account"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "BankAccountList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "When you create a new credit card, you must specify a customer or recipient on which to create it.
\n\nIf the card’s owner has no default card, then the new card will become the default.\nHowever, if the owner already has a default, then it will not change.\nTo change the default, you should update the customer to have a new default_source
.
",
+ "operationId": "PostCustomersCustomerBankAccounts",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "bank_account": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "card": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "alipay_account": {
+ "description": "A token returned by [Stripe.js](https://stripe.com/docs/js) representing the user’s Alipay account details.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "account_holder_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "object": {
+ "enum": [
+ "bank_account"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "country"
+ ],
+ "title": "customer_payment_source_bank_account",
+ "type": "object"
+ },
+ {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details."
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "address_city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_zip": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "cvc": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_month": {
+ "type": "integer"
+ },
+ "exp_year": {
+ "type": "integer"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "object": {
+ "enum": [
+ "card"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "exp_month",
+ "exp_year",
+ "number"
+ ],
+ "title": "customer_payment_source_card",
+ "type": "object"
+ },
+ {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js).",
+ "x-stripeBypassValidation": true
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "source": {
+ "description": "Please refer to full [documentation](https://stripe.com/docs/api) instead.",
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_source"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/bank_accounts/{id}": {
+ "delete": {
+ "description": "Delete a specified source for a given customer.
",
+ "operationId": "DeleteCustomersCustomerBankAccountsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/payment_source"
+ },
+ {
+ "$ref": "#/components/schemas/deleted_payment_source"
+ }
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "deprecated": true,
+ "description": "By default, you can see the 10 most recent sources stored on a Customer directly on the object, but you can also retrieve details about a specific bank account stored on the Stripe account.
",
+ "operationId": "GetCustomersCustomerBankAccountsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/bank_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Update a specified source for a given customer.
",
+ "operationId": "PostCustomersCustomerBankAccountsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "owner": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account_holder_name": {
+ "description": "The name of the person or business that owns the bank account.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_holder_type": {
+ "description": "The type of entity that holds the account. This can be either `individual` or `company`.",
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_city": {
+ "description": "City/District/Suburb/Town/Village.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_country": {
+ "description": "Billing address country, if provided when creating card.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line1": {
+ "description": "Address line 1 (Street address/PO Box/Company name).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line2": {
+ "description": "Address line 2 (Apartment/Suite/Unit/Building).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_state": {
+ "description": "State/County/Province/Region.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_zip": {
+ "description": "ZIP or postal code.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_month": {
+ "description": "Two digit number representing the card’s expiration month.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_year": {
+ "description": "Four digit number representing the card’s expiration year.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "name": {
+ "description": "Cardholder name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "owner": {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "source_address",
+ "type": "object"
+ },
+ "email": {
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "owner",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/card"
+ },
+ {
+ "$ref": "#/components/schemas/bank_account"
+ },
+ {
+ "$ref": "#/components/schemas/source"
+ }
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/bank_accounts/{id}/verify": {
+ "post": {
+ "description": "Verify a specified bank account for a given customer.
",
+ "operationId": "PostCustomersCustomerBankAccountsIdVerify",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "amounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amounts": {
+ "description": "Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/bank_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/cards": {
+ "get": {
+ "deprecated": true,
+ "description": "You can see a list of the cards belonging to a customer.\nNote that the 10 most recent sources are always available on the Customer
object.\nIf you need more than those 10, you can use this API method and the limit
and starting_after
parameters to page through additional cards.
",
+ "operationId": "GetCustomersCustomerCards",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/card"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "CardList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "When you create a new credit card, you must specify a customer or recipient on which to create it.
\n\nIf the card’s owner has no default card, then the new card will become the default.\nHowever, if the owner already has a default, then it will not change.\nTo change the default, you should update the customer to have a new default_source
.
",
+ "operationId": "PostCustomersCustomerCards",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "bank_account": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "card": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "alipay_account": {
+ "description": "A token returned by [Stripe.js](https://stripe.com/docs/js) representing the user’s Alipay account details.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "account_holder_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "object": {
+ "enum": [
+ "bank_account"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "country"
+ ],
+ "title": "customer_payment_source_bank_account",
+ "type": "object"
+ },
+ {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details."
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "address_city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_zip": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "cvc": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_month": {
+ "type": "integer"
+ },
+ "exp_year": {
+ "type": "integer"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "object": {
+ "enum": [
+ "card"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "exp_month",
+ "exp_year",
+ "number"
+ ],
+ "title": "customer_payment_source_card",
+ "type": "object"
+ },
+ {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js).",
+ "x-stripeBypassValidation": true
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "source": {
+ "description": "Please refer to full [documentation](https://stripe.com/docs/api) instead.",
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_source"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/cards/{id}": {
+ "delete": {
+ "description": "Delete a specified source for a given customer.
",
+ "operationId": "DeleteCustomersCustomerCardsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/payment_source"
+ },
+ {
+ "$ref": "#/components/schemas/deleted_payment_source"
+ }
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "deprecated": true,
+ "description": "You can always see the 10 most recent cards directly on a customer; this method lets you retrieve details about a specific card stored on the customer.
",
+ "operationId": "GetCustomersCustomerCardsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/card"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Update a specified source for a given customer.
",
+ "operationId": "PostCustomersCustomerCardsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "owner": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account_holder_name": {
+ "description": "The name of the person or business that owns the bank account.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_holder_type": {
+ "description": "The type of entity that holds the account. This can be either `individual` or `company`.",
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_city": {
+ "description": "City/District/Suburb/Town/Village.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_country": {
+ "description": "Billing address country, if provided when creating card.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line1": {
+ "description": "Address line 1 (Street address/PO Box/Company name).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line2": {
+ "description": "Address line 2 (Apartment/Suite/Unit/Building).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_state": {
+ "description": "State/County/Province/Region.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_zip": {
+ "description": "ZIP or postal code.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_month": {
+ "description": "Two digit number representing the card’s expiration month.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_year": {
+ "description": "Four digit number representing the card’s expiration year.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "name": {
+ "description": "Cardholder name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "owner": {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "source_address",
+ "type": "object"
+ },
+ "email": {
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "owner",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/card"
+ },
+ {
+ "$ref": "#/components/schemas/bank_account"
+ },
+ {
+ "$ref": "#/components/schemas/source"
+ }
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/cash_balance": {
+ "get": {
+ "description": "Retrieves a customer’s cash balance.
",
+ "operationId": "GetCustomersCustomerCashBalance",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/cash_balance"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Changes the settings on a customer’s cash balance.
",
+ "operationId": "PostCustomersCustomerCashBalance",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "settings": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "settings": {
+ "description": "A hash of settings for this cash balance.",
+ "properties": {
+ "reconciliation_mode": {
+ "enum": [
+ "automatic",
+ "manual",
+ "merchant_default"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "balance_settings_param",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/cash_balance"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/cash_balance_transactions": {
+ "get": {
+ "description": "Returns a list of transactions that modified the customer’s cash balance.
",
+ "operationId": "GetCustomersCustomerCashBalanceTransactions",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "Customers with certain payments enabled have a cash balance, representing funds that were paid\nby the customer to a merchant, but have not yet been allocated to a payment. Cash Balance Transactions\nrepresent when funds are moved into or out of this balance. This includes funding by the customer, allocation\nto payments, and refunds to the customer.",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/customer_cash_balance_transaction"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "CustomerCashBalanceTransactionList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/cash_balance_transactions/{transaction}": {
+ "get": {
+ "description": "Retrieves a specific cash balance transaction, which updated the customer’s cash balance.
",
+ "operationId": "GetCustomersCustomerCashBalanceTransactionsTransaction",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "transaction",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/customer_cash_balance_transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/discount": {
+ "delete": {
+ "description": "Removes the currently applied discount on a customer.
",
+ "operationId": "DeleteCustomersCustomerDiscount",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_discount"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "",
+ "operationId": "GetCustomersCustomerDiscount",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/discount"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/funding_instructions": {
+ "post": {
+ "description": "Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new\nfunding instructions will be created. If funding instructions have already been created for a given customer, the same\nfunding instructions will be retrieved. In other words, we will return the same funding instructions each time.
",
+ "operationId": "PostCustomersCustomerFundingInstructions",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "bank_transfer": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "bank_transfer": {
+ "description": "Additional parameters for `bank_transfer` funding types",
+ "properties": {
+ "eu_bank_transfer": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "eu_bank_account_params",
+ "type": "object"
+ },
+ "requested_address_types": {
+ "items": {
+ "enum": [
+ "iban",
+ "sort_code",
+ "spei",
+ "zengin"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "type": {
+ "enum": [
+ "eu_bank_transfer",
+ "gb_bank_transfer",
+ "jp_bank_transfer",
+ "mx_bank_transfer",
+ "us_bank_transfer"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "bank_transfer_params",
+ "type": "object"
+ },
+ "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"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "funding_type": {
+ "description": "The `funding_type` to get the instructions for.",
+ "enum": [
+ "bank_transfer"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "bank_transfer",
+ "currency",
+ "funding_type"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/funding_instructions"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/payment_methods": {
+ "get": {
+ "description": "Returns a list of PaymentMethods for a given Customer
",
+ "operationId": "GetCustomersCustomerPaymentMethods",
+ "parameters": [
+ {
+ "description": "This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`.",
+ "in": "query",
+ "name": "allow_redisplay",
+ "required": false,
+ "schema": {
+ "enum": [
+ "always",
+ "limited",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request.",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "enum": [
+ "acss_debit",
+ "affirm",
+ "afterpay_clearpay",
+ "alipay",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "blik",
+ "boleto",
+ "card",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "klarna",
+ "konbini",
+ "link",
+ "mobilepay",
+ "multibanco",
+ "oxxo",
+ "p24",
+ "paynow",
+ "paypal",
+ "pix",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "twint",
+ "us_bank_account",
+ "wechat_pay",
+ "zip"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/payment_method"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "CustomerPaymentMethodResourceList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/payment_methods/{payment_method}": {
+ "get": {
+ "description": "Retrieves a PaymentMethod object for a given Customer.
",
+ "operationId": "GetCustomersCustomerPaymentMethodsPaymentMethod",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "payment_method",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_method"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/sources": {
+ "get": {
+ "description": "List sources for a specified customer.
",
+ "operationId": "GetCustomersCustomerSources",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Filter sources according to a particular object type.",
+ "in": "query",
+ "name": "object",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/bank_account"
+ },
+ {
+ "$ref": "#/components/schemas/card"
+ },
+ {
+ "$ref": "#/components/schemas/source"
+ }
+ ],
+ "title": "Polymorphic",
+ "x-stripeBypassValidation": true
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "ApmsSourcesSourceList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "When you create a new credit card, you must specify a customer or recipient on which to create it.
\n\nIf the card’s owner has no default card, then the new card will become the default.\nHowever, if the owner already has a default, then it will not change.\nTo change the default, you should update the customer to have a new default_source
.
",
+ "operationId": "PostCustomersCustomerSources",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "bank_account": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "card": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "alipay_account": {
+ "description": "A token returned by [Stripe.js](https://stripe.com/docs/js) representing the user’s Alipay account details.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "account_holder_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "object": {
+ "enum": [
+ "bank_account"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "country"
+ ],
+ "title": "customer_payment_source_bank_account",
+ "type": "object"
+ },
+ {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details."
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "address_city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_zip": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "cvc": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_month": {
+ "type": "integer"
+ },
+ "exp_year": {
+ "type": "integer"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "object": {
+ "enum": [
+ "card"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "exp_month",
+ "exp_year",
+ "number"
+ ],
+ "title": "customer_payment_source_card",
+ "type": "object"
+ },
+ {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js).",
+ "x-stripeBypassValidation": true
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "source": {
+ "description": "Please refer to full [documentation](https://stripe.com/docs/api) instead.",
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_source"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/sources/{id}": {
+ "delete": {
+ "description": "Delete a specified source for a given customer.
",
+ "operationId": "DeleteCustomersCustomerSourcesId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/payment_source"
+ },
+ {
+ "$ref": "#/components/schemas/deleted_payment_source"
+ }
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieve a specified source for a given customer.
",
+ "operationId": "GetCustomersCustomerSourcesId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_source"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Update a specified source for a given customer.
",
+ "operationId": "PostCustomersCustomerSourcesId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "owner": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account_holder_name": {
+ "description": "The name of the person or business that owns the bank account.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_holder_type": {
+ "description": "The type of entity that holds the account. This can be either `individual` or `company`.",
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_city": {
+ "description": "City/District/Suburb/Town/Village.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_country": {
+ "description": "Billing address country, if provided when creating card.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line1": {
+ "description": "Address line 1 (Street address/PO Box/Company name).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line2": {
+ "description": "Address line 2 (Apartment/Suite/Unit/Building).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_state": {
+ "description": "State/County/Province/Region.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_zip": {
+ "description": "ZIP or postal code.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_month": {
+ "description": "Two digit number representing the card’s expiration month.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_year": {
+ "description": "Four digit number representing the card’s expiration year.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "name": {
+ "description": "Cardholder name.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "owner": {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "source_address",
+ "type": "object"
+ },
+ "email": {
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "owner",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/card"
+ },
+ {
+ "$ref": "#/components/schemas/bank_account"
+ },
+ {
+ "$ref": "#/components/schemas/source"
+ }
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/sources/{id}/verify": {
+ "post": {
+ "description": "Verify a specified bank account for a given customer.
",
+ "operationId": "PostCustomersCustomerSourcesIdVerify",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "amounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amounts": {
+ "description": "Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/bank_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/subscriptions": {
+ "get": {
+ "description": "You can see a list of the customer’s active subscriptions. Note that the 10 most recent active subscriptions are always available by default on the customer object. If you need more than those 10, you can use the limit and starting_after parameters to page through additional subscriptions.
",
+ "operationId": "GetCustomersCustomerSubscriptions",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/subscription"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "SubscriptionList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new subscription on an existing customer.
",
+ "operationId": "PostCustomersCustomerSubscriptions",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "add_invoice_items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "application_fee_percent": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "automatic_tax": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "billing_thresholds": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_tax_rates": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "pending_invoice_item_interval": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "trial_end": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "trial_settings": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "add_invoice_items": {
+ "description": "A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items.",
+ "items": {
+ "properties": {
+ "discounts": {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data_with_negative_amounts",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "add_invoice_item_entry",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "application_fee_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions)."
+ },
+ "automatic_tax": {
+ "description": "Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_config",
+ "type": "object"
+ },
+ "backdate_start_date": {
+ "description": "For new subscriptions, a past timestamp to backdate the subscription's start date to. If set, the first invoice will contain a proration for the timespan between the start date and the current time. Can be combined with trials and the billing cycle anchor.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "billing_cycle_anchor": {
+ "description": "A future timestamp in UTC format to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). The anchor is the reference point that aligns future billing cycle dates. It sets the day of week for `week` intervals, the day of month for `month` and `year` intervals, and the month of year for `year` intervals.",
+ "format": "unix-time",
+ "type": "integer",
+ "x-stripeBypassValidation": true
+ },
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_gte": {
+ "type": "integer"
+ },
+ "reset_billing_cycle_anchor": {
+ "type": "boolean"
+ }
+ },
+ "title": "billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds."
+ },
+ "cancel_at": {
+ "description": "A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "cancel_at_period_end": {
+ "description": "Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`.",
+ "type": "boolean"
+ },
+ "collection_method": {
+ "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.",
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "coupon": {
+ "description": "The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription. This field has been deprecated and will be removed in a future API version. Use `discounts` instead.",
+ "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"
+ },
+ "days_until_due": {
+ "description": "Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`.",
+ "type": "integer"
+ },
+ "default_payment_method": {
+ "description": "ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_source": {
+ "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription."
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The coupons to redeem into discounts for the subscription. If not specified or empty, inherits the discount from the subscription's customer."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice_settings": {
+ "description": "All invoices will be billed using the specified settings.",
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "invoice_settings_param",
+ "type": "object"
+ },
+ "items": {
+ "description": "A list of up to 20 subscription items, each with an attached price.",
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "subscription_item_create_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "off_session": {
+ "description": "Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `false` (on-session).",
+ "type": "boolean"
+ },
+ "payment_behavior": {
+ "description": "Only applies to subscriptions with `collection_method=charge_automatically`.\n\nUse `allow_incomplete` to create Subscriptions with `status=incomplete` if the first invoice can't be paid. Creating Subscriptions with this status allows you to manage scenarios where additional customer actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.\n\nUse `default_incomplete` to create Subscriptions with `status=incomplete` when the first invoice requires payment, otherwise start as active. Subscriptions transition to `status=active` when successfully confirming the PaymentIntent on the first invoice. This allows simpler management of scenarios where additional customer actions are needed to pay a subscription’s invoice, such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. If the PaymentIntent is not confirmed within 23 hours Subscriptions transition to `status=incomplete_expired`, which is a terminal state.\n\nUse `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's first invoice can't be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further customer action is needed, this parameter doesn't create a Subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.\n\n`pending_if_incomplete` is only used with updates and cannot be passed when creating a Subscription.\n\nSubscriptions with `collection_method=send_invoice` are automatically activated regardless of the first Invoice status.",
+ "enum": [
+ "allow_incomplete",
+ "default_incomplete",
+ "error_if_incomplete",
+ "pending_if_incomplete"
+ ],
+ "type": "string"
+ },
+ "payment_settings": {
+ "description": "Payment settings to pass to invoices created by the subscription.",
+ "properties": {
+ "payment_method_options": {
+ "properties": {
+ "acss_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "transaction_type": {
+ "enum": [
+ "business",
+ "personal"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "bancontact": {
+ "anyOf": [
+ {
+ "properties": {
+ "preferred_language": {
+ "enum": [
+ "de",
+ "en",
+ "fr",
+ "nl"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_type": {
+ "enum": [
+ "fixed",
+ "maximum"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 200,
+ "type": "string"
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "network": {
+ "enum": [
+ "amex",
+ "cartes_bancaires",
+ "diners",
+ "discover",
+ "eftpos_au",
+ "interac",
+ "jcb",
+ "mastercard",
+ "unionpay",
+ "unknown",
+ "visa"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "request_three_d_secure": {
+ "enum": [
+ "any",
+ "automatic",
+ "challenge"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "subscription_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "customer_balance": {
+ "anyOf": [
+ {
+ "properties": {
+ "bank_transfer": {
+ "properties": {
+ "eu_bank_transfer": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "eu_bank_transfer_param",
+ "type": "object"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "title": "bank_transfer_param",
+ "type": "object"
+ },
+ "funding_type": {
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "konbini": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "sepa_debit": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "us_bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "financial_connections": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "invoice_linked_account_options_filters_param",
+ "type": "object"
+ },
+ "permissions": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ }
+ },
+ "title": "invoice_linked_account_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_method_options",
+ "type": "object"
+ },
+ "payment_method_types": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "ach_credit_transfer",
+ "ach_debit",
+ "acss_debit",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "boleto",
+ "card",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "konbini",
+ "link",
+ "multibanco",
+ "p24",
+ "paynow",
+ "paypal",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "us_bank_account",
+ "wechat_pay"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "save_default_payment_method": {
+ "enum": [
+ "off",
+ "on_subscription"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_settings",
+ "type": "object"
+ },
+ "pending_invoice_item_interval": {
+ "anyOf": [
+ {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "pending_invoice_item_interval_params",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval."
+ },
+ "promotion_code": {
+ "description": "The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. This field has been deprecated and will be removed in a future API version. Use `discounts` instead.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "proration_behavior": {
+ "description": "Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`.",
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "transfer_data": {
+ "description": "If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges.",
+ "properties": {
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ "trial_end": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ],
+ "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more."
+ },
+ "trial_from_plan": {
+ "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.",
+ "type": "boolean"
+ },
+ "trial_period_days": {
+ "description": "Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.",
+ "type": "integer"
+ },
+ "trial_settings": {
+ "description": "Settings related to subscription trials.",
+ "properties": {
+ "end_behavior": {
+ "properties": {
+ "missing_payment_method": {
+ "enum": [
+ "cancel",
+ "create_invoice",
+ "pause"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "missing_payment_method"
+ ],
+ "title": "end_behavior",
+ "type": "object"
+ }
+ },
+ "required": [
+ "end_behavior"
+ ],
+ "title": "trial_settings_config",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}": {
+ "delete": {
+ "description": "Cancels a customer’s subscription. If you set the at_period_end
parameter to true
, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. Otherwise, with the default false
value, the subscription is terminated immediately. In either case, the customer will not be charged again for the subscription.
\n\nNote, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually deleted. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.
\n\nBy default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.
",
+ "operationId": "DeleteCustomersCustomerSubscriptionsSubscriptionExposedId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "subscription_exposed_id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice_now": {
+ "description": "Can be set to `true` if `at_period_end` is not set to `true`. Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items.",
+ "type": "boolean"
+ },
+ "prorate": {
+ "description": "Can be set to `true` if `at_period_end` is not set to `true`. Will generate a proration invoice item that credits remaining unused time until the subscription period end.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves the subscription with the given ID.
",
+ "operationId": "GetCustomersCustomerSubscriptionsSubscriptionExposedId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "subscription_exposed_id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the upcoming invoice endpoint.
",
+ "operationId": "PostCustomersCustomerSubscriptionsSubscriptionExposedId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "subscription_exposed_id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "add_invoice_items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "application_fee_percent": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "automatic_tax": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "billing_thresholds": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "cancel_at": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "cancellation_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_source": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_tax_rates": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "pause_collection": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "pending_invoice_item_interval": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "trial_end": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "trial_settings": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "add_invoice_items": {
+ "description": "A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items.",
+ "items": {
+ "properties": {
+ "discounts": {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data_with_negative_amounts",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "add_invoice_item_entry",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "application_fee_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions)."
+ },
+ "automatic_tax": {
+ "description": "Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_config",
+ "type": "object"
+ },
+ "billing_cycle_anchor": {
+ "description": "Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).",
+ "enum": [
+ "now",
+ "unchanged"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_gte": {
+ "type": "integer"
+ },
+ "reset_billing_cycle_anchor": {
+ "type": "boolean"
+ }
+ },
+ "title": "billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds."
+ },
+ "cancel_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period."
+ },
+ "cancel_at_period_end": {
+ "description": "Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`.",
+ "type": "boolean"
+ },
+ "cancellation_details": {
+ "description": "Details about why this subscription was cancelled",
+ "properties": {
+ "comment": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "feedback": {
+ "enum": [
+ "",
+ "customer_service",
+ "low_quality",
+ "missing_features",
+ "other",
+ "switched_service",
+ "too_complex",
+ "too_expensive",
+ "unused"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "cancellation_details_param",
+ "type": "object"
+ },
+ "collection_method": {
+ "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.",
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "coupon": {
+ "description": "The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription. This field has been deprecated and will be removed in a future API version. Use `discounts` instead.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "days_until_due": {
+ "description": "Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`.",
+ "type": "integer"
+ },
+ "default_payment_method": {
+ "description": "ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_source": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source)."
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates."
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The coupons to redeem into discounts for the subscription. If not specified or empty, inherits the discount from the subscription's customer."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice_settings": {
+ "description": "All invoices will be billed using the specified settings.",
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "invoice_settings_param",
+ "type": "object"
+ },
+ "items": {
+ "description": "A list of up to 20 subscription items, each with an attached price.",
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "clear_usage": {
+ "type": "boolean"
+ },
+ "deleted": {
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "subscription_item_update_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "off_session": {
+ "description": "Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `false` (on-session).",
+ "type": "boolean"
+ },
+ "pause_collection": {
+ "anyOf": [
+ {
+ "properties": {
+ "behavior": {
+ "enum": [
+ "keep_as_draft",
+ "mark_uncollectible",
+ "void"
+ ],
+ "type": "string"
+ },
+ "resumes_at": {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "behavior"
+ ],
+ "title": "pause_collection_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](/billing/subscriptions/pause-payment)."
+ },
+ "payment_behavior": {
+ "description": "Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.\n\nUse `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method.\n\nUse `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).\n\nUse `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.",
+ "enum": [
+ "allow_incomplete",
+ "default_incomplete",
+ "error_if_incomplete",
+ "pending_if_incomplete"
+ ],
+ "type": "string"
+ },
+ "payment_settings": {
+ "description": "Payment settings to pass to invoices created by the subscription.",
+ "properties": {
+ "payment_method_options": {
+ "properties": {
+ "acss_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "transaction_type": {
+ "enum": [
+ "business",
+ "personal"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "bancontact": {
+ "anyOf": [
+ {
+ "properties": {
+ "preferred_language": {
+ "enum": [
+ "de",
+ "en",
+ "fr",
+ "nl"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_type": {
+ "enum": [
+ "fixed",
+ "maximum"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 200,
+ "type": "string"
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "network": {
+ "enum": [
+ "amex",
+ "cartes_bancaires",
+ "diners",
+ "discover",
+ "eftpos_au",
+ "interac",
+ "jcb",
+ "mastercard",
+ "unionpay",
+ "unknown",
+ "visa"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "request_three_d_secure": {
+ "enum": [
+ "any",
+ "automatic",
+ "challenge"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "subscription_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "customer_balance": {
+ "anyOf": [
+ {
+ "properties": {
+ "bank_transfer": {
+ "properties": {
+ "eu_bank_transfer": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "eu_bank_transfer_param",
+ "type": "object"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "title": "bank_transfer_param",
+ "type": "object"
+ },
+ "funding_type": {
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "konbini": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "sepa_debit": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "us_bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "financial_connections": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "invoice_linked_account_options_filters_param",
+ "type": "object"
+ },
+ "permissions": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ }
+ },
+ "title": "invoice_linked_account_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_method_options",
+ "type": "object"
+ },
+ "payment_method_types": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "ach_credit_transfer",
+ "ach_debit",
+ "acss_debit",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "boleto",
+ "card",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "konbini",
+ "link",
+ "multibanco",
+ "p24",
+ "paynow",
+ "paypal",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "us_bank_account",
+ "wechat_pay"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "save_default_payment_method": {
+ "enum": [
+ "off",
+ "on_subscription"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_settings",
+ "type": "object"
+ },
+ "pending_invoice_item_interval": {
+ "anyOf": [
+ {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "pending_invoice_item_interval_params",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval."
+ },
+ "promotion_code": {
+ "description": "The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. This field has been deprecated and will be removed in a future API version. Use `discounts` instead.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "proration_behavior": {
+ "description": "Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.",
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "proration_date": {
+ "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#upcoming_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "transfer_data": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value."
+ },
+ "trial_end": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ],
+ "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`."
+ },
+ "trial_from_plan": {
+ "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.",
+ "type": "boolean"
+ },
+ "trial_settings": {
+ "description": "Settings related to subscription trials.",
+ "properties": {
+ "end_behavior": {
+ "properties": {
+ "missing_payment_method": {
+ "enum": [
+ "cancel",
+ "create_invoice",
+ "pause"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "missing_payment_method"
+ ],
+ "title": "end_behavior",
+ "type": "object"
+ }
+ },
+ "required": [
+ "end_behavior"
+ ],
+ "title": "trial_settings_config",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}/discount": {
+ "delete": {
+ "description": "Removes the currently applied discount on a customer.
",
+ "operationId": "DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "subscription_exposed_id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_discount"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "",
+ "operationId": "GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "subscription_exposed_id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/discount"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/tax_ids": {
+ "get": {
+ "description": "Returns a list of tax IDs for a customer.
",
+ "operationId": "GetCustomersCustomerTaxIds",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/tax_id"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TaxIDsList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new tax_id
object for a customer.
",
+ "operationId": "PostCustomersCustomerTaxIds",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": {
+ "description": "Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sv_nit`, `th_vat`, `tr_tin`, `tw_vat`, `ua_vat`, `us_ein`, `uy_ruc`, `ve_rif`, `vn_tin`, or `za_vat`",
+ "enum": [
+ "ad_nrt",
+ "ae_trn",
+ "ar_cuit",
+ "au_abn",
+ "au_arn",
+ "bg_uic",
+ "bh_vat",
+ "bo_tin",
+ "br_cnpj",
+ "br_cpf",
+ "ca_bn",
+ "ca_gst_hst",
+ "ca_pst_bc",
+ "ca_pst_mb",
+ "ca_pst_sk",
+ "ca_qst",
+ "ch_uid",
+ "ch_vat",
+ "cl_tin",
+ "cn_tin",
+ "co_nit",
+ "cr_tin",
+ "de_stn",
+ "do_rcn",
+ "ec_ruc",
+ "eg_tin",
+ "es_cif",
+ "eu_oss_vat",
+ "eu_vat",
+ "gb_vat",
+ "ge_vat",
+ "hk_br",
+ "hu_tin",
+ "id_npwp",
+ "il_vat",
+ "in_gst",
+ "is_vat",
+ "jp_cn",
+ "jp_rn",
+ "jp_trn",
+ "ke_pin",
+ "kr_brn",
+ "kz_bin",
+ "li_uid",
+ "mx_rfc",
+ "my_frp",
+ "my_itn",
+ "my_sst",
+ "ng_tin",
+ "no_vat",
+ "no_voec",
+ "nz_gst",
+ "om_vat",
+ "pe_ruc",
+ "ph_tin",
+ "ro_tin",
+ "rs_pib",
+ "ru_inn",
+ "ru_kpp",
+ "sa_vat",
+ "sg_gst",
+ "sg_uen",
+ "si_tin",
+ "sv_nit",
+ "th_vat",
+ "tr_tin",
+ "tw_vat",
+ "ua_vat",
+ "us_ein",
+ "uy_ruc",
+ "ve_rif",
+ "vn_tin",
+ "za_vat"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "value": {
+ "description": "Value of the tax ID.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "value"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax_id"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/customers/{customer}/tax_ids/{id}": {
+ "delete": {
+ "description": "Deletes an existing tax_id
object.
",
+ "operationId": "DeleteCustomersCustomerTaxIdsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_tax_id"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves the tax_id
object with the given identifier.
",
+ "operationId": "GetCustomersCustomerTaxIdsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax_id"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/disputes": {
+ "get": {
+ "description": "Returns a list of your disputes.
",
+ "operationId": "GetDisputes",
+ "parameters": [
+ {
+ "description": "Only return disputes associated to the charge specified by this charge ID.",
+ "in": "query",
+ "name": "charge",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return disputes that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return disputes associated to the PaymentIntent specified by this PaymentIntent ID.",
+ "in": "query",
+ "name": "payment_intent",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/dispute"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/disputes",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "DisputeList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/disputes/{dispute}": {
+ "get": {
+ "description": "Retrieves the dispute with the given ID.
",
+ "operationId": "GetDisputesDispute",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dispute",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/dispute"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "When you get a dispute, contacting your customer is always the best first step. If that doesn’t work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your dashboard, but if you prefer, you can use the API to submit evidence programmatically.
\n\nDepending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our guide to dispute types.
",
+ "operationId": "PostDisputesDispute",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dispute",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "evidence": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "evidence": {
+ "description": "Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000.",
+ "properties": {
+ "access_activity_log": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "billing_address": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "cancellation_policy": {
+ "type": "string"
+ },
+ "cancellation_policy_disclosure": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "cancellation_rebuttal": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "customer_communication": {
+ "type": "string"
+ },
+ "customer_email_address": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer_purchase_ip": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer_signature": {
+ "type": "string"
+ },
+ "duplicate_charge_documentation": {
+ "type": "string"
+ },
+ "duplicate_charge_explanation": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "duplicate_charge_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "product_description": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "receipt": {
+ "type": "string"
+ },
+ "refund_policy": {
+ "type": "string"
+ },
+ "refund_policy_disclosure": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "refund_refusal_explanation": {
+ "maxLength": 20000,
+ "type": "string"
+ },
+ "service_date": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "service_documentation": {
+ "type": "string"
+ },
+ "shipping_address": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "shipping_carrier": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "shipping_date": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "shipping_documentation": {
+ "type": "string"
+ },
+ "shipping_tracking_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "uncategorized_file": {
+ "type": "string"
+ },
+ "uncategorized_text": {
+ "maxLength": 20000,
+ "type": "string"
+ }
+ },
+ "title": "dispute_evidence_params",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "submit": {
+ "description": "Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default).",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/dispute"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/disputes/{dispute}/close": {
+ "post": {
+ "description": "Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.
\n\nThe status of the dispute will change from needs_response
to lost
. Closing a dispute is irreversible.
",
+ "operationId": "PostDisputesDisputeClose",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dispute",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/dispute"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/entitlements/active_entitlements": {
+ "get": {
+ "description": "Retrieve a list of active entitlements for a customer
",
+ "operationId": "GetEntitlementsActiveEntitlements",
+ "parameters": [
+ {
+ "description": "The ID of the customer.",
+ "in": "query",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/entitlements.active_entitlement"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "EntitlementsResourceCustomerEntitlementList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/entitlements/active_entitlements/{id}": {
+ "get": {
+ "description": "Retrieve an active entitlement
",
+ "operationId": "GetEntitlementsActiveEntitlementsId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The ID of the entitlement.",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/entitlements.active_entitlement"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/entitlements/features": {
+ "get": {
+ "description": "Retrieve a list of features
",
+ "operationId": "GetEntitlementsFeatures",
+ "parameters": [
+ {
+ "description": "If set, filter results to only include features with the given archive status.",
+ "in": "query",
+ "name": "archived",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "If set, filter results to only include features with the given lookup_key.",
+ "in": "query",
+ "name": "lookup_key",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/entitlements.feature"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/entitlements/features",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "EntitlementsResourceFeatureList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a feature
",
+ "operationId": "PostEntitlementsFeatures",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "lookup_key": {
+ "description": "A unique key you provide as your own system identifier. This may be up to 80 characters.",
+ "maxLength": 80,
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
+ "type": "object"
+ },
+ "name": {
+ "description": "The feature's name, for your own purpose, not meant to be displayable to the customer.",
+ "maxLength": 80,
+ "type": "string"
+ }
+ },
+ "required": [
+ "lookup_key",
+ "name"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/entitlements.feature"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/entitlements/features/{id}": {
+ "get": {
+ "description": "Retrieves a feature
",
+ "operationId": "GetEntitlementsFeaturesId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The ID of the feature.",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/entitlements.feature"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Update a feature’s metadata or permanently deactivate it.
",
+ "operationId": "PostEntitlementsFeaturesId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Inactive features cannot be attached to new products and will not be returned from the features list endpoint.",
+ "type": "boolean"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
+ },
+ "name": {
+ "description": "The feature's name, for your own purpose, not meant to be displayable to the customer.",
+ "maxLength": 80,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/entitlements.feature"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/ephemeral_keys": {
+ "post": {
+ "description": "Creates a short-lived API key for a given resource.
",
+ "operationId": "PostEphemeralKeys",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "customer": {
+ "description": "The ID of the Customer you'd like to modify using the resulting ephemeral key.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "issuing_card": {
+ "description": "The ID of the Issuing Card you'd like to access using the resulting ephemeral key.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "nonce": {
+ "description": "A single-use token, created by Stripe.js, used for creating ephemeral keys for Issuing Cards without exchanging sensitive information.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "verification_session": {
+ "description": "The ID of the Identity VerificationSession you'd like to access using the resulting ephemeral key",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ephemeral_key"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/ephemeral_keys/{key}": {
+ "delete": {
+ "description": "Invalidates a short-lived API key for a given resource.
",
+ "operationId": "DeleteEphemeralKeysKey",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "key",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ephemeral_key"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/events": {
+ "get": {
+ "description": "List events, going back up to 30 days. Each event data is rendered according to Stripe API version at its creation time, specified in event object api_version
attribute (not according to your current Stripe API version or Stripe-Version
header).
",
+ "operationId": "GetEvents",
+ "parameters": [
+ {
+ "description": "Only return events that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Filter events by whether all webhooks were successfully delivered. If false, events which are still pending or have failed all delivery attempts to a webhook endpoint will be returned.",
+ "in": "query",
+ "name": "delivery_success",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A string containing a specific event name, or group of events using * as a wildcard. The list will be filtered to include only events with a matching event property.",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "An array of up to 20 strings containing specific event names. The list will be filtered to include only events with a matching event property. You may pass either `type` or `types`, but not both.",
+ "explode": true,
+ "in": "query",
+ "name": "types",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/event"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/events",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "NotificationEventList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/events/{id}": {
+ "get": {
+ "description": "Retrieves the details of an event if it was created in the last 30 days. Supply the unique identifier of the event, which you might have received in a webhook.
",
+ "operationId": "GetEventsId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/event"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/exchange_rates": {
+ "get": {
+ "description": "Returns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports.
",
+ "operationId": "GetExchangeRates",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with the exchange rate for currency X your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and total number of supported payout currencies, and the default is the max.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with the exchange rate for currency X, your subsequent call can include `starting_after=X` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/exchange_rate"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/exchange_rates",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "ExchangeRateList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/exchange_rates/{rate_id}": {
+ "get": {
+ "description": "Retrieves the exchange rates from the given currency to every supported currency.
",
+ "operationId": "GetExchangeRatesRateId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "rate_id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/exchange_rate"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/file_links": {
+ "get": {
+ "description": "Returns a list of file links.
",
+ "operationId": "GetFileLinks",
+ "parameters": [
+ {
+ "description": "Only return links that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Filter links by their expiration status. By default, Stripe returns all links.",
+ "in": "query",
+ "name": "expired",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return links for the given file.",
+ "in": "query",
+ "name": "file",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/file_link"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/file_links",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "FileResourceFileLinkList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new file link object.
",
+ "operationId": "PostFileLinks",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "expires_at": {
+ "description": "The link isn't usable after this future timestamp.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "file": {
+ "description": "The ID of the file. The file's `purpose` must be one of the following: `business_icon`, `business_logo`, `customer_signature`, `dispute_evidence`, `finance_report_run`, `identity_document_downloadable`, `pci_document`, `selfie`, `sigma_scheduled_query`, `tax_document_user_upload`, or `terminal_reader_splashscreen`.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "required": [
+ "file"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/file_link"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/file_links/{link}": {
+ "get": {
+ "description": "Retrieves the file link with the given ID.
",
+ "operationId": "GetFileLinksLink",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "link",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/file_link"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates an existing file link object. Expired links can no longer be updated.
",
+ "operationId": "PostFileLinksLink",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "link",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expires_at": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "expires_at": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A future timestamp after which the link will no longer be usable, or `now` to expire the link immediately."
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/file_link"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/files": {
+ "get": {
+ "description": "Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation dates, placing the most recently created files at the top.
",
+ "operationId": "GetFiles",
+ "parameters": [
+ {
+ "description": "Only return files that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Filter queries by the file purpose. If you don't provide a purpose, the queries return unfiltered files.",
+ "in": "query",
+ "name": "purpose",
+ "required": false,
+ "schema": {
+ "enum": [
+ "account_requirement",
+ "additional_verification",
+ "business_icon",
+ "business_logo",
+ "customer_signature",
+ "dispute_evidence",
+ "document_provider_identity_document",
+ "finance_report_run",
+ "identity_document",
+ "identity_document_downloadable",
+ "pci_document",
+ "selfie",
+ "sigma_scheduled_query",
+ "tax_document_user_upload",
+ "terminal_reader_splashscreen"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/file"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/files",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "FileResourceFileList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "To upload a file to Stripe, you need to send a request of type multipart/form-data
. Include the file you want to upload in the request, and the parameters for creating a file.
\n\nAll of Stripe’s officially supported Client libraries support sending multipart/form-data
.
",
+ "operationId": "PostFiles",
+ "requestBody": {
+ "content": {
+ "multipart/form-data": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "file_link_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "file": {
+ "description": "A file to upload. Make sure that the specifications follow RFC 2388, which defines file transfers for the `multipart/form-data` protocol.",
+ "format": "binary",
+ "type": "string"
+ },
+ "file_link_data": {
+ "description": "Optional parameters that automatically create a [file link](https://stripe.com/docs/api#file_links) for the newly created file.",
+ "properties": {
+ "create": {
+ "type": "boolean"
+ },
+ "expires_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "create"
+ ],
+ "title": "file_link_creation_params",
+ "type": "object"
+ },
+ "purpose": {
+ "description": "The [purpose](https://stripe.com/docs/file-upload#uploading-a-file) of the uploaded file.",
+ "enum": [
+ "account_requirement",
+ "additional_verification",
+ "business_icon",
+ "business_logo",
+ "customer_signature",
+ "dispute_evidence",
+ "identity_document",
+ "pci_document",
+ "tax_document_user_upload",
+ "terminal_reader_splashscreen"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "file",
+ "purpose"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/file"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ },
+ "servers": [
+ {
+ "url": "https://files.stripe.com/"
+ }
+ ]
+ }
+ },
+ "/v1/files/{file}": {
+ "get": {
+ "description": "Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the corresponding file object. Learn how to access file contents.
",
+ "operationId": "GetFilesFile",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "file",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/file"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/financial_connections/accounts": {
+ "get": {
+ "description": "Returns a list of Financial Connections Account
objects.
",
+ "operationId": "GetFinancialConnectionsAccounts",
+ "parameters": [
+ {
+ "description": "If present, only return accounts that belong to the specified account holder. `account_holder[customer]` and `account_holder[account]` are mutually exclusive.",
+ "explode": true,
+ "in": "query",
+ "name": "account_holder",
+ "required": false,
+ "schema": {
+ "properties": {
+ "account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "accountholder_params",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "If present, only return accounts that were collected as part of the given session.",
+ "in": "query",
+ "name": "session",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/financial_connections.account"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/financial_connections/accounts",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "BankConnectionsResourceLinkedAccountList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/financial_connections/accounts/{account}": {
+ "get": {
+ "description": "Retrieves the details of an Financial Connections Account
.
",
+ "operationId": "GetFinancialConnectionsAccountsAccount",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/financial_connections.account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/financial_connections/accounts/{account}/disconnect": {
+ "post": {
+ "description": "Disables your access to a Financial Connections Account
. You will no longer be able to access data associated with the account (e.g. balances, transactions).
",
+ "operationId": "PostFinancialConnectionsAccountsAccountDisconnect",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/financial_connections.account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/financial_connections/accounts/{account}/owners": {
+ "get": {
+ "description": "Lists all owners for a given Account
",
+ "operationId": "GetFinancialConnectionsAccountsAccountOwners",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The ID of the ownership object to fetch owners from.",
+ "in": "query",
+ "name": "ownership",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/financial_connections.account_owner"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "BankConnectionsResourceOwnerList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/financial_connections/accounts/{account}/refresh": {
+ "post": {
+ "description": "Refreshes the data associated with a Financial Connections Account
.
",
+ "operationId": "PostFinancialConnectionsAccountsAccountRefresh",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "features": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "features": {
+ "description": "The list of account features that you would like to refresh.",
+ "items": {
+ "enum": [
+ "balance",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "features"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/financial_connections.account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/financial_connections/accounts/{account}/subscribe": {
+ "post": {
+ "description": "Subscribes to periodic refreshes of data associated with a Financial Connections Account
.
",
+ "operationId": "PostFinancialConnectionsAccountsAccountSubscribe",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "features": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "features": {
+ "description": "The list of account features to which you would like to subscribe.",
+ "items": {
+ "enum": [
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "features"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/financial_connections.account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/financial_connections/accounts/{account}/unsubscribe": {
+ "post": {
+ "description": "Unsubscribes from periodic refreshes of data associated with a Financial Connections Account
.
",
+ "operationId": "PostFinancialConnectionsAccountsAccountUnsubscribe",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "features": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "features": {
+ "description": "The list of account features from which you would like to unsubscribe.",
+ "items": {
+ "enum": [
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "features"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/financial_connections.account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/financial_connections/sessions": {
+ "post": {
+ "description": "To launch the Financial Connections authorization flow, create a Session
. The session’s client_secret
can be used to launch the flow using Stripe.js.
",
+ "operationId": "PostFinancialConnectionsSessions",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "account_holder": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "filters": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "permissions": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "prefetch": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account_holder": {
+ "description": "The account holder to link accounts for.",
+ "properties": {
+ "account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "customer"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "accountholder_params",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "filters": {
+ "description": "Filters to restrict the kinds of accounts to collect.",
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "credit_card",
+ "line_of_credit",
+ "mortgage",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "countries": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "filters_params",
+ "type": "object"
+ },
+ "permissions": {
+ "description": "List of data features that you would like to request access to.\n\nPossible values are `balances`, `transactions`, `ownership`, and `payment_method`.",
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "description": "List of data features that you would like to retrieve upon account creation.",
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "return_url": {
+ "description": "For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_holder",
+ "permissions"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/financial_connections.session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/financial_connections/sessions/{session}": {
+ "get": {
+ "description": "Retrieves the details of a Financial Connections Session
",
+ "operationId": "GetFinancialConnectionsSessionsSession",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "session",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/financial_connections.session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/financial_connections/transactions": {
+ "get": {
+ "description": "Returns a list of Financial Connections Transaction
objects.
",
+ "operationId": "GetFinancialConnectionsTransactions",
+ "parameters": [
+ {
+ "description": "The ID of the Stripe account whose transactions will be retrieved.",
+ "in": "query",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A filter on the list based on the object `transacted_at` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:",
+ "explode": true,
+ "in": "query",
+ "name": "transacted_at",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A filter on the list based on the object `transaction_refresh` field. The value can be a dictionary with the following options:",
+ "explode": true,
+ "in": "query",
+ "name": "transaction_refresh",
+ "required": false,
+ "schema": {
+ "properties": {
+ "after": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "after"
+ ],
+ "title": "transaction_refresh_params",
+ "type": "object"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/financial_connections.transaction"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/financial_connections/transactions",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "BankConnectionsResourceTransactionList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/financial_connections/transactions/{transaction}": {
+ "get": {
+ "description": "Retrieves the details of a Financial Connections Transaction
",
+ "operationId": "GetFinancialConnectionsTransactionsTransaction",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "transaction",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/financial_connections.transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/forwarding/requests": {
+ "get": {
+ "description": "Lists all ForwardingRequest objects.
",
+ "operationId": "GetForwardingRequests",
+ "parameters": [
+ {
+ "description": "Similar to other List endpoints, filters results based on created timestamp. You can pass gt, gte, lt, and lte timestamp values.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "created_param",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A pagination cursor to fetch the previous page of the list. The value must be a ForwardingRequest ID.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A pagination cursor to fetch the next page of the list. The value must be a ForwardingRequest ID.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "List of ForwardingRequest data.",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/forwarding.request"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "ForwardingRequestList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a ForwardingRequest object.
",
+ "operationId": "PostForwardingRequests",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "replacements": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "request": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "payment_method": {
+ "description": "The PaymentMethod to insert into the forwarded request. Forwarding previously consumed PaymentMethods is allowed.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "replacements": {
+ "description": "The field kinds to be replaced in the forwarded request.",
+ "items": {
+ "enum": [
+ "card_cvc",
+ "card_expiry",
+ "card_number",
+ "cardholder_name"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "request": {
+ "description": "The request body and headers to be sent to the destination endpoint.",
+ "properties": {
+ "body": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "headers": {
+ "items": {
+ "properties": {
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "value": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "title": "header_param",
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "title": "request_param",
+ "type": "object"
+ },
+ "url": {
+ "description": "The destination URL for the forwarded request. Must be supported by the config.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "payment_method",
+ "replacements",
+ "url"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/forwarding.request"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/forwarding/requests/{id}": {
+ "get": {
+ "description": "Retrieves a ForwardingRequest object.
",
+ "operationId": "GetForwardingRequestsId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/forwarding.request"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/identity/verification_reports": {
+ "get": {
+ "description": "List all verification reports.
",
+ "operationId": "GetIdentityVerificationReports",
+ "parameters": [
+ {
+ "description": "A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems.",
+ "in": "query",
+ "name": "client_reference_id",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return VerificationReports that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return VerificationReports of this type",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "enum": [
+ "document",
+ "id_number"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return VerificationReports created by this VerificationSession ID. It is allowed to provide a VerificationIntent ID.",
+ "in": "query",
+ "name": "verification_session",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/identity.verification_report"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/identity/verification_reports",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "GelatoVerificationReportList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/identity/verification_reports/{report}": {
+ "get": {
+ "description": "Retrieves an existing VerificationReport
",
+ "operationId": "GetIdentityVerificationReportsReport",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "report",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/identity.verification_report"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/identity/verification_sessions": {
+ "get": {
+ "description": "Returns a list of VerificationSessions
",
+ "operationId": "GetIdentityVerificationSessions",
+ "parameters": [
+ {
+ "description": "A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems.",
+ "in": "query",
+ "name": "client_reference_id",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return VerificationSessions that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "in": "query",
+ "name": "related_customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return VerificationSessions with this status. [Learn more about the lifecycle of sessions](https://stripe.com/docs/identity/how-sessions-work).",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "canceled",
+ "processing",
+ "requires_input",
+ "verified"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/identity.verification_session"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/identity/verification_sessions",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "GelatoVerificationSessionList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a VerificationSession object.
\n\nAfter the VerificationSession is created, display a verification modal using the session client_secret
or send your users to the session’s url
.
\n\nIf your API key is in test mode, verification checks won’t actually process, though everything else will occur as if in live mode.
\n\nRelated guide: Verify your users’ identity documents
",
+ "operationId": "PostIdentityVerificationSessions",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "provided_details": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "client_reference_id": {
+ "description": "A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "options": {
+ "description": "A set of options for the session’s verification checks.",
+ "properties": {
+ "document": {
+ "anyOf": [
+ {
+ "properties": {
+ "allowed_types": {
+ "items": {
+ "enum": [
+ "driving_license",
+ "id_card",
+ "passport"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "require_id_number": {
+ "type": "boolean"
+ },
+ "require_live_capture": {
+ "type": "boolean"
+ },
+ "require_matching_selfie": {
+ "type": "boolean"
+ }
+ },
+ "title": "document_options",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "session_options_param",
+ "type": "object"
+ },
+ "provided_details": {
+ "description": "Details provided about the user being verified. These details may be shown to the user.",
+ "properties": {
+ "email": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ }
+ },
+ "title": "provided_details_param",
+ "type": "object"
+ },
+ "related_customer": {
+ "description": "Token referencing a Customer resource.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "return_url": {
+ "description": "The URL that the user will be redirected to upon completing the verification flow.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of [verification check](https://stripe.com/docs/identity/verification-checks) to be performed. You must provide a `type` if not passing `verification_flow`.",
+ "enum": [
+ "document",
+ "id_number"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "verification_flow": {
+ "description": "The ID of a Verification Flow from the Dashboard. See https://docs.stripe.com/identity/verification-flows.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/identity.verification_session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/identity/verification_sessions/{session}": {
+ "get": {
+ "description": "Retrieves the details of a VerificationSession that was previously created.
\n\nWhen the session status is requires_input
, you can use this method to retrieve a valid\nclient_secret
or url
to allow re-submission.
",
+ "operationId": "GetIdentityVerificationSessionsSession",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "session",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/identity.verification_session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates a VerificationSession object.
\n\nWhen the session status is requires_input
, you can use this method to update the\nverification check and options.
",
+ "operationId": "PostIdentityVerificationSessionsSession",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "session",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "provided_details": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "options": {
+ "description": "A set of options for the session’s verification checks.",
+ "properties": {
+ "document": {
+ "anyOf": [
+ {
+ "properties": {
+ "allowed_types": {
+ "items": {
+ "enum": [
+ "driving_license",
+ "id_card",
+ "passport"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "require_id_number": {
+ "type": "boolean"
+ },
+ "require_live_capture": {
+ "type": "boolean"
+ },
+ "require_matching_selfie": {
+ "type": "boolean"
+ }
+ },
+ "title": "document_options",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "session_options_param",
+ "type": "object"
+ },
+ "provided_details": {
+ "description": "Details provided about the user being verified. These details may be shown to the user.",
+ "properties": {
+ "email": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ }
+ },
+ "title": "provided_details_param",
+ "type": "object"
+ },
+ "type": {
+ "description": "The type of [verification check](https://stripe.com/docs/identity/verification-checks) to be performed.",
+ "enum": [
+ "document",
+ "id_number"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/identity.verification_session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/identity/verification_sessions/{session}/cancel": {
+ "post": {
+ "description": "A VerificationSession object can be canceled when it is in requires_input
status.
\n\nOnce canceled, future submission attempts are disabled. This cannot be undone. Learn more.
",
+ "operationId": "PostIdentityVerificationSessionsSessionCancel",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "session",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/identity.verification_session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/identity/verification_sessions/{session}/redact": {
+ "post": {
+ "description": "Redact a VerificationSession to remove all collected information from Stripe. This will redact\nthe VerificationSession and all objects related to it, including VerificationReports, Events,\nrequest logs, etc.
\n\nA VerificationSession object can be redacted when it is in requires_input
or verified
\nstatus. Redacting a VerificationSession in requires_action
\nstate will automatically cancel it.
\n\nThe redaction process may take up to four days. When the redaction process is in progress, the\nVerificationSession’s redaction.status
field will be set to processing
; when the process is\nfinished, it will change to redacted
and an identity.verification_session.redacted
event\nwill be emitted.
\n\nRedaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the\nfields that contain personal data will be replaced by the string [redacted]
or a similar\nplaceholder. The metadata
field will also be erased. Redacted objects cannot be updated or\nused for any purpose.
\n\nLearn more.
",
+ "operationId": "PostIdentityVerificationSessionsSessionRedact",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "session",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/identity.verification_session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoiceitems": {
+ "get": {
+ "description": "Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first.
",
+ "operationId": "GetInvoiceitems",
+ "parameters": [
+ {
+ "description": "Only return invoice items that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The identifier of the customer whose invoice items to return. If none is provided, all invoice items will be returned.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return invoice items belonging to this invoice. If none is provided, all invoice items will be returned. If specifying an invoice, no customer identifier is needed.",
+ "in": "query",
+ "name": "invoice",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Set to `true` to only show pending invoice items, which are not yet attached to any invoices. Set to `false` to only show invoice items already attached to invoices. If unspecified, no filter is applied.",
+ "in": "query",
+ "name": "pending",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/invoiceitem"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/invoiceitems",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "InvoicesItemsList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified.
",
+ "operationId": "PostInvoiceitems",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "period": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "price_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax_code": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax_rates": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. Passing in a negative `amount` will reduce the `amount_due` on the invoice.",
+ "type": "integer"
+ },
+ "currency": {
+ "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
+ "type": "string"
+ },
+ "customer": {
+ "description": "The ID of the customer who will be billed when this invoice item is billed.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discountable": {
+ "description": "Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items.",
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The coupons and promotion codes to redeem into discounts for the invoice item or invoice line item."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice": {
+ "description": "The ID of an existing invoice to add this invoice item to. When left blank, the invoice item will be added to the next upcoming scheduled invoice. This is useful when adding invoice items in response to an invoice.created webhook. You can only add invoice items to draft invoices and there is a maximum of 250 items per invoice.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "period": {
+ "description": "The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details.",
+ "properties": {
+ "end": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "start": {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "end",
+ "start"
+ ],
+ "title": "period",
+ "type": "object"
+ },
+ "price": {
+ "description": "The ID of the price object. One of `price` or `price_data` is required.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "description": "Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.",
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "description": "Non-negative integer. The quantity of units for the invoice item.",
+ "type": "integer"
+ },
+ "subscription": {
+ "description": "The ID of a subscription to add this invoice item to. When left blank, the invoice item is added to the next upcoming scheduled invoice. When set, scheduled invoices for subscriptions other than the specified subscription will ignore the invoice item. Use this when you want to express that an invoice item has been accrued within the context of a particular subscription.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "description": "Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.",
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "tax_code": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A [tax code](https://stripe.com/docs/tax/tax-categories) ID."
+ },
+ "tax_rates": {
+ "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.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "unit_amount": {
+ "description": "The integer unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This `unit_amount` will be multiplied by the quantity to get the full amount. Passing in a negative `unit_amount` will reduce the `amount_due` on the invoice.",
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "description": "Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.",
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "customer"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoiceitem"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoiceitems/{invoiceitem}": {
+ "delete": {
+ "description": "Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they’re not attached to invoices, or if it’s attached to a draft invoice.
",
+ "operationId": "DeleteInvoiceitemsInvoiceitem",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "invoiceitem",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_invoiceitem"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves the invoice item with the given ID.
",
+ "operationId": "GetInvoiceitemsInvoiceitem",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "invoiceitem",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoiceitem"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it’s attached to is closed.
",
+ "operationId": "PostInvoiceitemsInvoiceitem",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "invoiceitem",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "period": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "price_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax_code": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax_rates": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount.",
+ "type": "integer"
+ },
+ "description": {
+ "description": "An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discountable": {
+ "description": "Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items. Cannot be set to true for prorations.",
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The coupons, promotion codes & existing discounts which apply to the invoice item or invoice line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "period": {
+ "description": "The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details.",
+ "properties": {
+ "end": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "start": {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "end",
+ "start"
+ ],
+ "title": "period",
+ "type": "object"
+ },
+ "price": {
+ "description": "The ID of the price object. One of `price` or `price_data` is required.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "description": "Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.",
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "description": "Non-negative integer. The quantity of units for the invoice item.",
+ "type": "integer"
+ },
+ "tax_behavior": {
+ "description": "Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.",
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "tax_code": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A [tax code](https://stripe.com/docs/tax/tax-categories) ID."
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "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. Pass an empty string to remove previously-defined tax rates."
+ },
+ "unit_amount": {
+ "description": "The integer unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This unit_amount will be multiplied by the quantity to get the full amount. If you want to apply a credit to the customer's account, pass a negative unit_amount.",
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "description": "Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.",
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoiceitem"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices": {
+ "get": {
+ "description": "You can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first.
",
+ "operationId": "GetInvoices",
+ "parameters": [
+ {
+ "description": "The collection method of the invoice to retrieve. Either `charge_automatically` or `send_invoice`.",
+ "in": "query",
+ "name": "collection_method",
+ "required": false,
+ "schema": {
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return invoices that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return invoices for the customer specified by this customer ID.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "explode": true,
+ "in": "query",
+ "name": "due_date",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview)",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "draft",
+ "open",
+ "paid",
+ "uncollectible",
+ "void"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return invoices for the subscription specified by this subscription ID.",
+ "in": "query",
+ "name": "subscription",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/invoice"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/invoices",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "InvoicesResourceList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you finalize the invoice, which allows you to pay or send the invoice to your customers.
",
+ "operationId": "PostInvoices",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "account_tax_ids": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "automatic_tax": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "custom_fields": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_tax_rates": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "from_invoice": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "issuer": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "rendering": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping_cost": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The account tax IDs associated with the invoice. Only editable when the invoice is a draft."
+ },
+ "application_fee_amount": {
+ "description": "A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees).",
+ "type": "integer"
+ },
+ "auto_advance": {
+ "description": "Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action.",
+ "type": "boolean"
+ },
+ "automatic_tax": {
+ "description": "Settings for automatic tax lookup for this invoice.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_param",
+ "type": "object"
+ },
+ "collection_method": {
+ "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. Defaults to `charge_automatically`.",
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "currency": {
+ "description": "The currency to create this invoice in. Defaults to that of `customer` if not specified.",
+ "type": "string"
+ },
+ "custom_fields": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "name": {
+ "maxLength": 40,
+ "type": "string"
+ },
+ "value": {
+ "maxLength": 140,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "title": "custom_field_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A list of up to 4 custom fields to be displayed on the invoice."
+ },
+ "customer": {
+ "description": "The ID of the customer who will be billed.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "days_until_due": {
+ "description": "The number of days from when the invoice is created until it is due. Valid only for invoices where `collection_method=send_invoice`.",
+ "type": "integer"
+ },
+ "default_payment_method": {
+ "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.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_source": {
+ "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.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_tax_rates": {
+ "description": "The tax rates that will apply to any line item that does not have `tax_rates` set.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard.",
+ "maxLength": 1500,
+ "type": "string"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The coupons and promotion codes to redeem into discounts for the invoice. If not specified, inherits the discount from the invoice's customer. Pass an empty string to avoid inheriting any discounts."
+ },
+ "due_date": {
+ "description": "The date on which payment for this invoice is due. Valid only for invoices where `collection_method=send_invoice`.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "effective_at": {
+ "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.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "footer": {
+ "description": "Footer to be displayed on the invoice.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "from_invoice": {
+ "description": "Revise an existing invoice. The new invoice will be created in `status=draft`. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details.",
+ "properties": {
+ "action": {
+ "enum": [
+ "revision"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "invoice": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "invoice"
+ ],
+ "title": "from_invoice",
+ "type": "object"
+ },
+ "issuer": {
+ "description": "The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.",
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "number": {
+ "description": "Set the number for this invoice. If no number is present then a number will be assigned automatically when the invoice is finalized. In many markets, regulations require invoices to be unique, sequential and / or gapless. You are responsible for ensuring this is true across all your different invoicing systems in the event that you edit the invoice number using our API. If you use only Stripe for your invoices and do not change invoice numbers, Stripe handles this aspect of compliance for you automatically.",
+ "maxLength": 26,
+ "type": "string"
+ },
+ "on_behalf_of": {
+ "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://stripe.com/docs/billing/invoices/connect) documentation for details.",
+ "type": "string"
+ },
+ "payment_settings": {
+ "description": "Configuration settings for the PaymentIntent that is generated when the invoice is finalized.",
+ "properties": {
+ "default_mandate": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "payment_method_options": {
+ "properties": {
+ "acss_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "transaction_type": {
+ "enum": [
+ "business",
+ "personal"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "bancontact": {
+ "anyOf": [
+ {
+ "properties": {
+ "preferred_language": {
+ "enum": [
+ "de",
+ "en",
+ "fr",
+ "nl"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "installments": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "plan": {
+ "anyOf": [
+ {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "interval": {
+ "enum": [
+ "month"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "fixed_count"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "count",
+ "interval",
+ "type"
+ ],
+ "title": "installment_plan",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "installments_param",
+ "type": "object"
+ },
+ "request_three_d_secure": {
+ "enum": [
+ "any",
+ "automatic",
+ "challenge"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "customer_balance": {
+ "anyOf": [
+ {
+ "properties": {
+ "bank_transfer": {
+ "properties": {
+ "eu_bank_transfer": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "eu_bank_transfer_param",
+ "type": "object"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "title": "bank_transfer_param",
+ "type": "object"
+ },
+ "funding_type": {
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "konbini": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "sepa_debit": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "us_bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "financial_connections": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "invoice_linked_account_options_filters_param",
+ "type": "object"
+ },
+ "permissions": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ }
+ },
+ "title": "invoice_linked_account_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_method_options",
+ "type": "object"
+ },
+ "payment_method_types": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "ach_credit_transfer",
+ "ach_debit",
+ "acss_debit",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "boleto",
+ "card",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "konbini",
+ "link",
+ "multibanco",
+ "p24",
+ "paynow",
+ "paypal",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "us_bank_account",
+ "wechat_pay"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_settings",
+ "type": "object"
+ },
+ "pending_invoice_items_behavior": {
+ "description": "How to handle pending invoice items on invoice creation. Defaults to `exclude` if the parameter is omitted.",
+ "enum": [
+ "exclude",
+ "include"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "rendering": {
+ "description": "The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page.",
+ "properties": {
+ "amount_tax_display": {
+ "enum": [
+ "",
+ "exclude_tax",
+ "include_inclusive_tax"
+ ],
+ "type": "string"
+ },
+ "pdf": {
+ "properties": {
+ "page_size": {
+ "enum": [
+ "a4",
+ "auto",
+ "letter"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "rendering_pdf_param",
+ "type": "object"
+ }
+ },
+ "title": "rendering_param",
+ "type": "object"
+ },
+ "shipping_cost": {
+ "description": "Settings for the cost of shipping for this invoice.",
+ "properties": {
+ "shipping_rate": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "shipping_rate_data": {
+ "properties": {
+ "delivery_estimate": {
+ "properties": {
+ "maximum": {
+ "properties": {
+ "unit": {
+ "enum": [
+ "business_day",
+ "day",
+ "hour",
+ "month",
+ "week"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "unit",
+ "value"
+ ],
+ "title": "delivery_estimate_bound",
+ "type": "object"
+ },
+ "minimum": {
+ "properties": {
+ "unit": {
+ "enum": [
+ "business_day",
+ "day",
+ "hour",
+ "month",
+ "week"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "unit",
+ "value"
+ ],
+ "title": "delivery_estimate_bound",
+ "type": "object"
+ }
+ },
+ "title": "delivery_estimate",
+ "type": "object"
+ },
+ "display_name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "fixed_amount": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "currency_options": {
+ "additionalProperties": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount"
+ ],
+ "title": "currency_option",
+ "type": "object"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "title": "fixed_amount",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "tax_code": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "fixed_amount"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "display_name"
+ ],
+ "title": "method_params",
+ "type": "object"
+ }
+ },
+ "title": "shipping_cost",
+ "type": "object"
+ },
+ "shipping_details": {
+ "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.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "recipient_shipping_with_optional_fields_address",
+ "type": "object"
+ },
+ "statement_descriptor": {
+ "description": "Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "subscription": {
+ "description": "The ID of the subscription to invoice, if any. If set, the created invoice will only include pending invoice items for that subscription. The subscription's billing cycle and regular subscription events won't be affected.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "transfer_data": {
+ "description": "If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge.",
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/create_preview": {
+ "post": {
+ "description": "At any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice.
\n\nNote that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer’s discount.
\n\nYou can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass the subscription_details.proration_date
parameter when doing the actual subscription update. The recommended way to get only the prorations being previewed is to consider only proration line items where period[start]
is equal to the subscription_details.proration_date
value passed in the request.
\n\nNote: Currency conversion calculations use the latest exchange rates. Exchange rates may vary between the time of the preview and the time of the actual invoice creation. Learn more
",
+ "operationId": "PostInvoicesCreatePreview",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "automatic_tax": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "customer_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "issuer": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "on_behalf_of": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "schedule_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "subscription_details": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "automatic_tax": {
+ "description": "Settings for automatic tax lookup for this invoice preview.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_param",
+ "type": "object"
+ },
+ "coupon": {
+ "description": "The ID of the coupon to apply to this phase of the subscription schedule. This field has been deprecated and will be removed in a future API version. Use `discounts` instead.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "description": "The currency to preview this invoice in. Defaults to that of `customer` if not specified.",
+ "type": "string"
+ },
+ "customer": {
+ "description": "The identifier of the customer whose upcoming invoice you'd like to retrieve. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer_details": {
+ "description": "Details about the customer you want to invoice or overrides for an existing customer. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set.",
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "shipping": {
+ "anyOf": [
+ {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "customer_shipping",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "tax": {
+ "properties": {
+ "ip_address": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "tax_param",
+ "type": "object"
+ },
+ "tax_exempt": {
+ "enum": [
+ "",
+ "exempt",
+ "none",
+ "reverse"
+ ],
+ "type": "string"
+ },
+ "tax_ids": {
+ "items": {
+ "properties": {
+ "type": {
+ "enum": [
+ "ad_nrt",
+ "ae_trn",
+ "ar_cuit",
+ "au_abn",
+ "au_arn",
+ "bg_uic",
+ "bh_vat",
+ "bo_tin",
+ "br_cnpj",
+ "br_cpf",
+ "ca_bn",
+ "ca_gst_hst",
+ "ca_pst_bc",
+ "ca_pst_mb",
+ "ca_pst_sk",
+ "ca_qst",
+ "ch_uid",
+ "ch_vat",
+ "cl_tin",
+ "cn_tin",
+ "co_nit",
+ "cr_tin",
+ "de_stn",
+ "do_rcn",
+ "ec_ruc",
+ "eg_tin",
+ "es_cif",
+ "eu_oss_vat",
+ "eu_vat",
+ "gb_vat",
+ "ge_vat",
+ "hk_br",
+ "hu_tin",
+ "id_npwp",
+ "il_vat",
+ "in_gst",
+ "is_vat",
+ "jp_cn",
+ "jp_rn",
+ "jp_trn",
+ "ke_pin",
+ "kr_brn",
+ "kz_bin",
+ "li_uid",
+ "mx_rfc",
+ "my_frp",
+ "my_itn",
+ "my_sst",
+ "ng_tin",
+ "no_vat",
+ "no_voec",
+ "nz_gst",
+ "om_vat",
+ "pe_ruc",
+ "ph_tin",
+ "ro_tin",
+ "rs_pib",
+ "ru_inn",
+ "ru_kpp",
+ "sa_vat",
+ "sg_gst",
+ "sg_uen",
+ "si_tin",
+ "sv_nit",
+ "th_vat",
+ "tr_tin",
+ "tw_vat",
+ "ua_vat",
+ "us_ein",
+ "uy_ruc",
+ "ve_rif",
+ "vn_tin",
+ "za_vat"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "value"
+ ],
+ "title": "data_params",
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "title": "customer_details_param",
+ "type": "object"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the subscription or customer. This works for both coupons directly applied to an invoice and coupons applied to a subscription. Pass an empty string to avoid inheriting any discounts."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice_items": {
+ "description": "List of invoice items to add or update in the upcoming invoice preview.",
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discountable": {
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "invoiceitem": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "period": {
+ "properties": {
+ "end": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "start": {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "end",
+ "start"
+ ],
+ "title": "period",
+ "type": "object"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "tax_code": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "invoice_item_preview_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "issuer": {
+ "description": "The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.",
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "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://stripe.com/docs/billing/invoices/connect) documentation for details."
+ },
+ "preview_mode": {
+ "description": "Customizes the types of values to include when calculating the invoice. Defaults to `next` if unspecified.",
+ "enum": [
+ "next",
+ "recurring"
+ ],
+ "type": "string"
+ },
+ "schedule": {
+ "description": "The identifier of the schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "schedule_details": {
+ "description": "The schedule creation or modification params to apply as a preview. Cannot be used with `subscription` or `subscription_` prefixed fields.",
+ "properties": {
+ "end_behavior": {
+ "enum": [
+ "cancel",
+ "release"
+ ],
+ "type": "string"
+ },
+ "phases": {
+ "items": {
+ "properties": {
+ "add_invoice_items": {
+ "items": {
+ "properties": {
+ "discounts": {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data_with_negative_amounts",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "add_invoice_item_entry",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "application_fee_percent": {
+ "type": "number"
+ },
+ "automatic_tax": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_config",
+ "type": "object"
+ },
+ "billing_cycle_anchor": {
+ "enum": [
+ "automatic",
+ "phase_start"
+ ],
+ "type": "string"
+ },
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_gte": {
+ "type": "integer"
+ },
+ "reset_billing_cycle_anchor": {
+ "type": "boolean"
+ }
+ },
+ "title": "billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "collection_method": {
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_payment_method": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "end_date": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ]
+ },
+ "invoice_settings": {
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "days_until_due": {
+ "type": "integer"
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "invoice_settings",
+ "type": "object"
+ },
+ "items": {
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "configuration_item_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "iterations": {
+ "type": "integer"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "type": "string"
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "start_date": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ]
+ },
+ "transfer_data": {
+ "properties": {
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ "trial": {
+ "type": "boolean"
+ },
+ "trial_end": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "items"
+ ],
+ "title": "phase_configuration_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "schedule_details_params",
+ "type": "object"
+ },
+ "subscription": {
+ "description": "The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_details.items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_details.items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "subscription_details": {
+ "description": "The subscription creation or modification params to apply as a preview. Cannot be used with `schedule` or `schedule_details` fields.",
+ "properties": {
+ "billing_cycle_anchor": {
+ "anyOf": [
+ {
+ "enum": [
+ "now",
+ "unchanged"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ]
+ },
+ "cancel_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cancel_at_period_end": {
+ "type": "boolean"
+ },
+ "cancel_now": {
+ "type": "boolean"
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "items": {
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "clear_usage": {
+ "type": "boolean"
+ },
+ "deleted": {
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "subscription_item_update_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "proration_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "resume_at": {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "start_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "trial_end": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "title": "subscription_details_params",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/search": {
+ "get": {
+ "description": "Search for invoices you’ve previously created using Stripe’s Search Query Language.\nDon’t use search in read-after-write flows where strict consistency is necessary. Under normal operating\nconditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up\nto an hour behind during outages. Search functionality is not available to merchants in India.
",
+ "operationId": "GetInvoicesSearch",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.",
+ "in": "query",
+ "name": "page",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for invoices](https://stripe.com/docs/search#query-fields-for-invoices).",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/invoice"
+ },
+ "type": "array"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "next_page": {
+ "maxLength": 5000,
+ "nullable": true,
+ "type": "string"
+ },
+ "object": {
+ "description": "String representing the object's type. Objects of the same type share the same value.",
+ "enum": [
+ "search_result"
+ ],
+ "type": "string"
+ },
+ "total_count": {
+ "description": "The total number of objects that match the query, only accurate up to 10,000.",
+ "type": "integer"
+ },
+ "url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "SearchResult",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/upcoming": {
+ "get": {
+ "description": "At any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice.
\n\nNote that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer’s discount.
\n\nYou can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass the subscription_details.proration_date
parameter when doing the actual subscription update. The recommended way to get only the prorations being previewed is to consider only proration line items where period[start]
is equal to the subscription_details.proration_date
value passed in the request.
\n\nNote: Currency conversion calculations use the latest exchange rates. Exchange rates may vary between the time of the preview and the time of the actual invoice creation. Learn more
",
+ "operationId": "GetInvoicesUpcoming",
+ "parameters": [
+ {
+ "description": "Settings for automatic tax lookup for this invoice preview.",
+ "explode": true,
+ "in": "query",
+ "name": "automatic_tax",
+ "required": false,
+ "schema": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_param",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The ID of the coupon to apply to this phase of the subscription schedule. This field has been deprecated and will be removed in a future API version. Use `discounts` instead.",
+ "in": "query",
+ "name": "coupon",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The currency to preview this invoice in. Defaults to that of `customer` if not specified.",
+ "in": "query",
+ "name": "currency",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The identifier of the customer whose upcoming invoice you'd like to retrieve. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Details about the customer you want to invoice or overrides for an existing customer. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set.",
+ "explode": true,
+ "in": "query",
+ "name": "customer_details",
+ "required": false,
+ "schema": {
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "shipping": {
+ "anyOf": [
+ {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "customer_shipping",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "tax": {
+ "properties": {
+ "ip_address": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "tax_param",
+ "type": "object"
+ },
+ "tax_exempt": {
+ "enum": [
+ "",
+ "exempt",
+ "none",
+ "reverse"
+ ],
+ "type": "string"
+ },
+ "tax_ids": {
+ "items": {
+ "properties": {
+ "type": {
+ "enum": [
+ "ad_nrt",
+ "ae_trn",
+ "ar_cuit",
+ "au_abn",
+ "au_arn",
+ "bg_uic",
+ "bh_vat",
+ "bo_tin",
+ "br_cnpj",
+ "br_cpf",
+ "ca_bn",
+ "ca_gst_hst",
+ "ca_pst_bc",
+ "ca_pst_mb",
+ "ca_pst_sk",
+ "ca_qst",
+ "ch_uid",
+ "ch_vat",
+ "cl_tin",
+ "cn_tin",
+ "co_nit",
+ "cr_tin",
+ "de_stn",
+ "do_rcn",
+ "ec_ruc",
+ "eg_tin",
+ "es_cif",
+ "eu_oss_vat",
+ "eu_vat",
+ "gb_vat",
+ "ge_vat",
+ "hk_br",
+ "hu_tin",
+ "id_npwp",
+ "il_vat",
+ "in_gst",
+ "is_vat",
+ "jp_cn",
+ "jp_rn",
+ "jp_trn",
+ "ke_pin",
+ "kr_brn",
+ "kz_bin",
+ "li_uid",
+ "mx_rfc",
+ "my_frp",
+ "my_itn",
+ "my_sst",
+ "ng_tin",
+ "no_vat",
+ "no_voec",
+ "nz_gst",
+ "om_vat",
+ "pe_ruc",
+ "ph_tin",
+ "ro_tin",
+ "rs_pib",
+ "ru_inn",
+ "ru_kpp",
+ "sa_vat",
+ "sg_gst",
+ "sg_uen",
+ "si_tin",
+ "sv_nit",
+ "th_vat",
+ "tr_tin",
+ "tw_vat",
+ "ua_vat",
+ "us_ein",
+ "uy_ruc",
+ "ve_rif",
+ "vn_tin",
+ "za_vat"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "value"
+ ],
+ "title": "data_params",
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "title": "customer_details_param",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the subscription or customer. This works for both coupons directly applied to an invoice and coupons applied to a subscription. Pass an empty string to avoid inheriting any discounts.",
+ "explode": true,
+ "in": "query",
+ "name": "discounts",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "List of invoice items to add or update in the upcoming invoice preview.",
+ "explode": true,
+ "in": "query",
+ "name": "invoice_items",
+ "required": false,
+ "schema": {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discountable": {
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "invoiceitem": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "period": {
+ "properties": {
+ "end": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "start": {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "end",
+ "start"
+ ],
+ "title": "period",
+ "type": "object"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "tax_code": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "invoice_item_preview_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.",
+ "explode": true,
+ "in": "query",
+ "name": "issuer",
+ "required": false,
+ "schema": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "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://stripe.com/docs/billing/invoices/connect) documentation for details.",
+ "explode": true,
+ "in": "query",
+ "name": "on_behalf_of",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Customizes the types of values to include when calculating the invoice. Defaults to `next` if unspecified.",
+ "in": "query",
+ "name": "preview_mode",
+ "required": false,
+ "schema": {
+ "enum": [
+ "next",
+ "recurring"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The identifier of the schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields.",
+ "in": "query",
+ "name": "schedule",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The schedule creation or modification params to apply as a preview. Cannot be used with `subscription` or `subscription_` prefixed fields.",
+ "explode": true,
+ "in": "query",
+ "name": "schedule_details",
+ "required": false,
+ "schema": {
+ "properties": {
+ "end_behavior": {
+ "enum": [
+ "cancel",
+ "release"
+ ],
+ "type": "string"
+ },
+ "phases": {
+ "items": {
+ "properties": {
+ "add_invoice_items": {
+ "items": {
+ "properties": {
+ "discounts": {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data_with_negative_amounts",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "add_invoice_item_entry",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "application_fee_percent": {
+ "type": "number"
+ },
+ "automatic_tax": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_config",
+ "type": "object"
+ },
+ "billing_cycle_anchor": {
+ "enum": [
+ "automatic",
+ "phase_start"
+ ],
+ "type": "string"
+ },
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_gte": {
+ "type": "integer"
+ },
+ "reset_billing_cycle_anchor": {
+ "type": "boolean"
+ }
+ },
+ "title": "billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "collection_method": {
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_payment_method": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "end_date": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ]
+ },
+ "invoice_settings": {
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "days_until_due": {
+ "type": "integer"
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "invoice_settings",
+ "type": "object"
+ },
+ "items": {
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "configuration_item_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "iterations": {
+ "type": "integer"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "type": "string"
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "start_date": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ]
+ },
+ "transfer_data": {
+ "properties": {
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ "trial": {
+ "type": "boolean"
+ },
+ "trial_end": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "items"
+ ],
+ "title": "phase_configuration_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "schedule_details_params",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_details.items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_details.items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.",
+ "in": "query",
+ "name": "subscription",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`. This field has been deprecated and will be removed in a future API version. Use `subscription_details.billing_cycle_anchor` instead.",
+ "explode": true,
+ "in": "query",
+ "name": "subscription_billing_cycle_anchor",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "enum": [
+ "now",
+ "unchanged"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. This field has been deprecated and will be removed in a future API version. Use `subscription_details.cancel_at` instead.",
+ "explode": true,
+ "in": "query",
+ "name": "subscription_cancel_at",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. This field has been deprecated and will be removed in a future API version. Use `subscription_details.cancel_at_period_end` instead.",
+ "in": "query",
+ "name": "subscription_cancel_at_period_end",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "This simulates the subscription being canceled or expired immediately. This field has been deprecated and will be removed in a future API version. Use `subscription_details.cancel_now` instead.",
+ "in": "query",
+ "name": "subscription_cancel_now",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have `tax_rates` set. This field has been deprecated and will be removed in a future API version. Use `subscription_details.default_tax_rates` instead.",
+ "explode": true,
+ "in": "query",
+ "name": "subscription_default_tax_rates",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The subscription creation or modification params to apply as a preview. Cannot be used with `schedule` or `schedule_details` fields.",
+ "explode": true,
+ "in": "query",
+ "name": "subscription_details",
+ "required": false,
+ "schema": {
+ "properties": {
+ "billing_cycle_anchor": {
+ "anyOf": [
+ {
+ "enum": [
+ "now",
+ "unchanged"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ]
+ },
+ "cancel_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cancel_at_period_end": {
+ "type": "boolean"
+ },
+ "cancel_now": {
+ "type": "boolean"
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "items": {
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "clear_usage": {
+ "type": "boolean"
+ },
+ "deleted": {
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "subscription_item_update_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "proration_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "resume_at": {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "start_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "trial_end": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "title": "subscription_details_params",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A list of up to 20 subscription items, each with an attached price. This field has been deprecated and will be removed in a future API version. Use `subscription_details.items` instead.",
+ "explode": true,
+ "in": "query",
+ "name": "subscription_items",
+ "required": false,
+ "schema": {
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "clear_usage": {
+ "type": "boolean"
+ },
+ "deleted": {
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "subscription_item_update_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. This field has been deprecated and will be removed in a future API version. Use `subscription_details.proration_behavior` instead.",
+ "in": "query",
+ "name": "subscription_proration_behavior",
+ "required": false,
+ "schema": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "If previewing an update to a subscription, and doing proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period and within the current phase of the schedule backing this subscription, if the schedule exists. If set, `subscription`, and one of `subscription_items`, or `subscription_trial_end` are required. Also, `subscription_proration_behavior` cannot be set to 'none'. This field has been deprecated and will be removed in a future API version. Use `subscription_details.proration_date` instead.",
+ "in": "query",
+ "name": "subscription_proration_date",
+ "required": false,
+ "schema": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "For paused subscriptions, setting `subscription_resume_at` to `now` will preview the invoice that will be generated if the subscription is resumed. This field has been deprecated and will be removed in a future API version. Use `subscription_details.resume_at` instead.",
+ "in": "query",
+ "name": "subscription_resume_at",
+ "required": false,
+ "schema": {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Date a subscription is intended to start (can be future or past). This field has been deprecated and will be removed in a future API version. Use `subscription_details.start_date` instead.",
+ "in": "query",
+ "name": "subscription_start_date",
+ "required": false,
+ "schema": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_items` or `subscription` is required. This field has been deprecated and will be removed in a future API version. Use `subscription_details.trial_end` instead.",
+ "explode": true,
+ "in": "query",
+ "name": "subscription_trial_end",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/upcoming/lines": {
+ "get": {
+ "description": "When retrieving an upcoming invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
",
+ "operationId": "GetInvoicesUpcomingLines",
+ "parameters": [
+ {
+ "description": "Settings for automatic tax lookup for this invoice preview.",
+ "explode": true,
+ "in": "query",
+ "name": "automatic_tax",
+ "required": false,
+ "schema": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_param",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The ID of the coupon to apply to this phase of the subscription schedule. This field has been deprecated and will be removed in a future API version. Use `discounts` instead.",
+ "in": "query",
+ "name": "coupon",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The currency to preview this invoice in. Defaults to that of `customer` if not specified.",
+ "in": "query",
+ "name": "currency",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The identifier of the customer whose upcoming invoice you'd like to retrieve. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Details about the customer you want to invoice or overrides for an existing customer. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set.",
+ "explode": true,
+ "in": "query",
+ "name": "customer_details",
+ "required": false,
+ "schema": {
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "shipping": {
+ "anyOf": [
+ {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "customer_shipping",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "tax": {
+ "properties": {
+ "ip_address": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "tax_param",
+ "type": "object"
+ },
+ "tax_exempt": {
+ "enum": [
+ "",
+ "exempt",
+ "none",
+ "reverse"
+ ],
+ "type": "string"
+ },
+ "tax_ids": {
+ "items": {
+ "properties": {
+ "type": {
+ "enum": [
+ "ad_nrt",
+ "ae_trn",
+ "ar_cuit",
+ "au_abn",
+ "au_arn",
+ "bg_uic",
+ "bh_vat",
+ "bo_tin",
+ "br_cnpj",
+ "br_cpf",
+ "ca_bn",
+ "ca_gst_hst",
+ "ca_pst_bc",
+ "ca_pst_mb",
+ "ca_pst_sk",
+ "ca_qst",
+ "ch_uid",
+ "ch_vat",
+ "cl_tin",
+ "cn_tin",
+ "co_nit",
+ "cr_tin",
+ "de_stn",
+ "do_rcn",
+ "ec_ruc",
+ "eg_tin",
+ "es_cif",
+ "eu_oss_vat",
+ "eu_vat",
+ "gb_vat",
+ "ge_vat",
+ "hk_br",
+ "hu_tin",
+ "id_npwp",
+ "il_vat",
+ "in_gst",
+ "is_vat",
+ "jp_cn",
+ "jp_rn",
+ "jp_trn",
+ "ke_pin",
+ "kr_brn",
+ "kz_bin",
+ "li_uid",
+ "mx_rfc",
+ "my_frp",
+ "my_itn",
+ "my_sst",
+ "ng_tin",
+ "no_vat",
+ "no_voec",
+ "nz_gst",
+ "om_vat",
+ "pe_ruc",
+ "ph_tin",
+ "ro_tin",
+ "rs_pib",
+ "ru_inn",
+ "ru_kpp",
+ "sa_vat",
+ "sg_gst",
+ "sg_uen",
+ "si_tin",
+ "sv_nit",
+ "th_vat",
+ "tr_tin",
+ "tw_vat",
+ "ua_vat",
+ "us_ein",
+ "uy_ruc",
+ "ve_rif",
+ "vn_tin",
+ "za_vat"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "value"
+ ],
+ "title": "data_params",
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "title": "customer_details_param",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the subscription or customer. This works for both coupons directly applied to an invoice and coupons applied to a subscription. Pass an empty string to avoid inheriting any discounts.",
+ "explode": true,
+ "in": "query",
+ "name": "discounts",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "List of invoice items to add or update in the upcoming invoice preview.",
+ "explode": true,
+ "in": "query",
+ "name": "invoice_items",
+ "required": false,
+ "schema": {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discountable": {
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "invoiceitem": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "period": {
+ "properties": {
+ "end": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "start": {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "end",
+ "start"
+ ],
+ "title": "period",
+ "type": "object"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "tax_code": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "invoice_item_preview_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.",
+ "explode": true,
+ "in": "query",
+ "name": "issuer",
+ "required": false,
+ "schema": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "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://stripe.com/docs/billing/invoices/connect) documentation for details.",
+ "explode": true,
+ "in": "query",
+ "name": "on_behalf_of",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Customizes the types of values to include when calculating the invoice. Defaults to `next` if unspecified.",
+ "in": "query",
+ "name": "preview_mode",
+ "required": false,
+ "schema": {
+ "enum": [
+ "next",
+ "recurring"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The identifier of the schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields.",
+ "in": "query",
+ "name": "schedule",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The schedule creation or modification params to apply as a preview. Cannot be used with `subscription` or `subscription_` prefixed fields.",
+ "explode": true,
+ "in": "query",
+ "name": "schedule_details",
+ "required": false,
+ "schema": {
+ "properties": {
+ "end_behavior": {
+ "enum": [
+ "cancel",
+ "release"
+ ],
+ "type": "string"
+ },
+ "phases": {
+ "items": {
+ "properties": {
+ "add_invoice_items": {
+ "items": {
+ "properties": {
+ "discounts": {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data_with_negative_amounts",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "add_invoice_item_entry",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "application_fee_percent": {
+ "type": "number"
+ },
+ "automatic_tax": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_config",
+ "type": "object"
+ },
+ "billing_cycle_anchor": {
+ "enum": [
+ "automatic",
+ "phase_start"
+ ],
+ "type": "string"
+ },
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_gte": {
+ "type": "integer"
+ },
+ "reset_billing_cycle_anchor": {
+ "type": "boolean"
+ }
+ },
+ "title": "billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "collection_method": {
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_payment_method": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "end_date": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ]
+ },
+ "invoice_settings": {
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "days_until_due": {
+ "type": "integer"
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "invoice_settings",
+ "type": "object"
+ },
+ "items": {
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "configuration_item_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "iterations": {
+ "type": "integer"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "type": "string"
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "start_date": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ]
+ },
+ "transfer_data": {
+ "properties": {
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ "trial": {
+ "type": "boolean"
+ },
+ "trial_end": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "items"
+ ],
+ "title": "phase_configuration_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "schedule_details_params",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_details.items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_details.items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.",
+ "in": "query",
+ "name": "subscription",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`. This field has been deprecated and will be removed in a future API version. Use `subscription_details.billing_cycle_anchor` instead.",
+ "explode": true,
+ "in": "query",
+ "name": "subscription_billing_cycle_anchor",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "enum": [
+ "now",
+ "unchanged"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. This field has been deprecated and will be removed in a future API version. Use `subscription_details.cancel_at` instead.",
+ "explode": true,
+ "in": "query",
+ "name": "subscription_cancel_at",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. This field has been deprecated and will be removed in a future API version. Use `subscription_details.cancel_at_period_end` instead.",
+ "in": "query",
+ "name": "subscription_cancel_at_period_end",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "This simulates the subscription being canceled or expired immediately. This field has been deprecated and will be removed in a future API version. Use `subscription_details.cancel_now` instead.",
+ "in": "query",
+ "name": "subscription_cancel_now",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have `tax_rates` set. This field has been deprecated and will be removed in a future API version. Use `subscription_details.default_tax_rates` instead.",
+ "explode": true,
+ "in": "query",
+ "name": "subscription_default_tax_rates",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The subscription creation or modification params to apply as a preview. Cannot be used with `schedule` or `schedule_details` fields.",
+ "explode": true,
+ "in": "query",
+ "name": "subscription_details",
+ "required": false,
+ "schema": {
+ "properties": {
+ "billing_cycle_anchor": {
+ "anyOf": [
+ {
+ "enum": [
+ "now",
+ "unchanged"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ]
+ },
+ "cancel_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cancel_at_period_end": {
+ "type": "boolean"
+ },
+ "cancel_now": {
+ "type": "boolean"
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "items": {
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "clear_usage": {
+ "type": "boolean"
+ },
+ "deleted": {
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "subscription_item_update_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "proration_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "resume_at": {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "start_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "trial_end": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "title": "subscription_details_params",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A list of up to 20 subscription items, each with an attached price. This field has been deprecated and will be removed in a future API version. Use `subscription_details.items` instead.",
+ "explode": true,
+ "in": "query",
+ "name": "subscription_items",
+ "required": false,
+ "schema": {
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "clear_usage": {
+ "type": "boolean"
+ },
+ "deleted": {
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "subscription_item_update_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. This field has been deprecated and will be removed in a future API version. Use `subscription_details.proration_behavior` instead.",
+ "in": "query",
+ "name": "subscription_proration_behavior",
+ "required": false,
+ "schema": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "If previewing an update to a subscription, and doing proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period and within the current phase of the schedule backing this subscription, if the schedule exists. If set, `subscription`, and one of `subscription_items`, or `subscription_trial_end` are required. Also, `subscription_proration_behavior` cannot be set to 'none'. This field has been deprecated and will be removed in a future API version. Use `subscription_details.proration_date` instead.",
+ "in": "query",
+ "name": "subscription_proration_date",
+ "required": false,
+ "schema": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "For paused subscriptions, setting `subscription_resume_at` to `now` will preview the invoice that will be generated if the subscription is resumed. This field has been deprecated and will be removed in a future API version. Use `subscription_details.resume_at` instead.",
+ "in": "query",
+ "name": "subscription_resume_at",
+ "required": false,
+ "schema": {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Date a subscription is intended to start (can be future or past). This field has been deprecated and will be removed in a future API version. Use `subscription_details.start_date` instead.",
+ "in": "query",
+ "name": "subscription_start_date",
+ "required": false,
+ "schema": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_items` or `subscription` is required. This field has been deprecated and will be removed in a future API version. Use `subscription_details.trial_end` instead.",
+ "explode": true,
+ "in": "query",
+ "name": "subscription_trial_end",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/line_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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "InvoiceLinesList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/{invoice}": {
+ "delete": {
+ "description": "Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be voided.
",
+ "operationId": "DeleteInvoicesInvoice",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves the invoice with the given ID.
",
+ "operationId": "GetInvoicesInvoice",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Draft invoices are fully editable. Once an invoice is finalized,\nmonetary values, as well as collection_method
, become uneditable.
\n\nIf you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on,\nsending reminders for, or automatically reconciling invoices, pass\nauto_advance=false
.
",
+ "operationId": "PostInvoicesInvoice",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "account_tax_ids": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "automatic_tax": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "custom_fields": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_source": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_tax_rates": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "effective_at": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "issuer": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "number": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "on_behalf_of": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "rendering": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping_cost": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The account tax IDs associated with the invoice. Only editable when the invoice is a draft."
+ },
+ "application_fee_amount": {
+ "description": "A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees).",
+ "type": "integer"
+ },
+ "auto_advance": {
+ "description": "Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice.",
+ "type": "boolean"
+ },
+ "automatic_tax": {
+ "description": "Settings for automatic tax lookup for this invoice.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_param",
+ "type": "object"
+ },
+ "collection_method": {
+ "description": "Either `charge_automatically` or `send_invoice`. This field can be updated only on `draft` invoices.",
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "custom_fields": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "name": {
+ "maxLength": 40,
+ "type": "string"
+ },
+ "value": {
+ "maxLength": 140,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "title": "custom_field_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A list of up to 4 custom fields to be displayed on the invoice. If a value for `custom_fields` is specified, the list specified will replace the existing custom field list on this invoice. Pass an empty string to remove previously-defined fields."
+ },
+ "days_until_due": {
+ "description": "The number of days from which the invoice is created until it is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices.",
+ "type": "integer"
+ },
+ "default_payment_method": {
+ "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.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_source": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "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."
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The tax rates that will apply to any line item that does not have `tax_rates` set. Pass an empty string to remove previously-defined tax rates."
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard.",
+ "maxLength": 1500,
+ "type": "string"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The discounts that will apply to the invoice. Pass an empty string to remove previously-defined discounts."
+ },
+ "due_date": {
+ "description": "The date on which payment for this invoice is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "effective_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "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."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "footer": {
+ "description": "Footer to be displayed on the invoice.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "issuer": {
+ "description": "The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.",
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "number": {
+ "anyOf": [
+ {
+ "maxLength": 26,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set the number for this invoice. If no number is present then a number will be assigned automatically when the invoice is finalized. In many markets, regulations require invoices to be unique, sequential and / or gapless. You are responsible for ensuring this is true across all your different invoicing systems in the event that you edit the invoice number using our API. If you use only Stripe for your invoices and do not change invoice numbers, Stripe handles this aspect of compliance for you automatically."
+ },
+ "on_behalf_of": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "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://stripe.com/docs/billing/invoices/connect) documentation for details."
+ },
+ "payment_settings": {
+ "description": "Configuration settings for the PaymentIntent that is generated when the invoice is finalized.",
+ "properties": {
+ "default_mandate": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "payment_method_options": {
+ "properties": {
+ "acss_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "transaction_type": {
+ "enum": [
+ "business",
+ "personal"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "bancontact": {
+ "anyOf": [
+ {
+ "properties": {
+ "preferred_language": {
+ "enum": [
+ "de",
+ "en",
+ "fr",
+ "nl"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "installments": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "plan": {
+ "anyOf": [
+ {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "interval": {
+ "enum": [
+ "month"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "fixed_count"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "count",
+ "interval",
+ "type"
+ ],
+ "title": "installment_plan",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "installments_param",
+ "type": "object"
+ },
+ "request_three_d_secure": {
+ "enum": [
+ "any",
+ "automatic",
+ "challenge"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "customer_balance": {
+ "anyOf": [
+ {
+ "properties": {
+ "bank_transfer": {
+ "properties": {
+ "eu_bank_transfer": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "eu_bank_transfer_param",
+ "type": "object"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "title": "bank_transfer_param",
+ "type": "object"
+ },
+ "funding_type": {
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "konbini": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "sepa_debit": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "us_bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "financial_connections": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "invoice_linked_account_options_filters_param",
+ "type": "object"
+ },
+ "permissions": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ }
+ },
+ "title": "invoice_linked_account_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_method_options",
+ "type": "object"
+ },
+ "payment_method_types": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "ach_credit_transfer",
+ "ach_debit",
+ "acss_debit",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "boleto",
+ "card",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "konbini",
+ "link",
+ "multibanco",
+ "p24",
+ "paynow",
+ "paypal",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "us_bank_account",
+ "wechat_pay"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_settings",
+ "type": "object"
+ },
+ "rendering": {
+ "description": "The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page.",
+ "properties": {
+ "amount_tax_display": {
+ "enum": [
+ "",
+ "exclude_tax",
+ "include_inclusive_tax"
+ ],
+ "type": "string"
+ },
+ "pdf": {
+ "properties": {
+ "page_size": {
+ "enum": [
+ "a4",
+ "auto",
+ "letter"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "rendering_pdf_param",
+ "type": "object"
+ }
+ },
+ "title": "rendering_param",
+ "type": "object"
+ },
+ "shipping_cost": {
+ "anyOf": [
+ {
+ "properties": {
+ "shipping_rate": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "shipping_rate_data": {
+ "properties": {
+ "delivery_estimate": {
+ "properties": {
+ "maximum": {
+ "properties": {
+ "unit": {
+ "enum": [
+ "business_day",
+ "day",
+ "hour",
+ "month",
+ "week"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "unit",
+ "value"
+ ],
+ "title": "delivery_estimate_bound",
+ "type": "object"
+ },
+ "minimum": {
+ "properties": {
+ "unit": {
+ "enum": [
+ "business_day",
+ "day",
+ "hour",
+ "month",
+ "week"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "unit",
+ "value"
+ ],
+ "title": "delivery_estimate_bound",
+ "type": "object"
+ }
+ },
+ "title": "delivery_estimate",
+ "type": "object"
+ },
+ "display_name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "fixed_amount": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "currency_options": {
+ "additionalProperties": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount"
+ ],
+ "title": "currency_option",
+ "type": "object"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "title": "fixed_amount",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "tax_code": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "fixed_amount"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "display_name"
+ ],
+ "title": "method_params",
+ "type": "object"
+ }
+ },
+ "title": "shipping_cost",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Settings for the cost of shipping for this invoice."
+ },
+ "shipping_details": {
+ "anyOf": [
+ {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "recipient_shipping_with_optional_fields_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "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."
+ },
+ "statement_descriptor": {
+ "description": "Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "transfer_data": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge. This will be unset if you POST an empty value."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/{invoice}/add_lines": {
+ "post": {
+ "description": "Adds multiple line items to an invoice. This is only possible when an invoice is still a draft.
",
+ "operationId": "PostInvoicesInvoiceAddLines",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "lines": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice_metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "lines": {
+ "description": "The line items to add.",
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "description": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discountable": {
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "invoice_item": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "period": {
+ "properties": {
+ "end": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "start": {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "end",
+ "start"
+ ],
+ "title": "period",
+ "type": "object"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "product_data": {
+ "properties": {
+ "description": {
+ "maxLength": 40000,
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "title": "product_data",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency"
+ ],
+ "title": "one_time_price_data_with_product_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_amounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "tax_rate_data": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "display_name": {
+ "maxLength": 50,
+ "type": "string"
+ },
+ "inclusive": {
+ "type": "boolean"
+ },
+ "jurisdiction": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "percentage": {
+ "type": "number"
+ },
+ "state": {
+ "maxLength": 2,
+ "type": "string"
+ },
+ "tax_type": {
+ "enum": [
+ "amusement_tax",
+ "communications_tax",
+ "gst",
+ "hst",
+ "igst",
+ "jct",
+ "lease_tax",
+ "pst",
+ "qst",
+ "rst",
+ "sales_tax",
+ "vat"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "display_name",
+ "inclusive",
+ "percentage"
+ ],
+ "title": "tax_rate_data_param",
+ "type": "object"
+ },
+ "taxable_amount": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "amount",
+ "tax_rate_data",
+ "taxable_amount"
+ ],
+ "title": "tax_amount_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "lines_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "lines"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/{invoice}/finalize": {
+ "post": {
+ "description": "Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you’d like to finalize a draft invoice manually, you can do so using this method.
",
+ "operationId": "PostInvoicesInvoiceFinalize",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "auto_advance": {
+ "description": "Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action.",
+ "type": "boolean"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/{invoice}/lines": {
+ "get": {
+ "description": "When retrieving an invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
",
+ "operationId": "GetInvoicesInvoiceLines",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/line_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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "InvoiceLinesList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/{invoice}/lines/{line_item_id}": {
+ "post": {
+ "description": "Updates an invoice’s line item. Some fields, such as tax_amounts
, only live on the invoice line item,\nso they can only be updated through this endpoint. Other fields, such as amount
, live on both the invoice\nitem and the invoice line item, so updates on this endpoint will propagate to the invoice item as well.\nUpdating an invoice’s line item is only possible before the invoice is finalized.
",
+ "operationId": "PostInvoicesInvoiceLinesLineItemId",
+ "parameters": [
+ {
+ "description": "Invoice ID of line item",
+ "in": "path",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Invoice line item ID",
+ "in": "path",
+ "name": "line_item_id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "period": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "price_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax_amounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax_rates": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount.",
+ "type": "integer"
+ },
+ "description": {
+ "description": "An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discountable": {
+ "description": "Controls whether discounts apply to this line item. Defaults to false for prorations or negative line items, and true for all other line items. Cannot be set to true for prorations.",
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The coupons, promotion codes & existing discounts which apply to the line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. For [type=subscription](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-type) line items, the incoming metadata specified on the request is directly used to set this value, in contrast to [type=invoiceitem](api/invoices/line_item#invoice_line_item_object-type) line items, where any existing metadata on the invoice line is merged with the incoming data."
+ },
+ "period": {
+ "description": "The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details.",
+ "properties": {
+ "end": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "start": {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "end",
+ "start"
+ ],
+ "title": "period",
+ "type": "object"
+ },
+ "price": {
+ "description": "The ID of the price object. One of `price` or `price_data` is required.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "description": "Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.",
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "product_data": {
+ "properties": {
+ "description": {
+ "maxLength": 40000,
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "title": "product_data",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency"
+ ],
+ "title": "one_time_price_data_with_product_data",
+ "type": "object"
+ },
+ "quantity": {
+ "description": "Non-negative integer. The quantity of units for the line item.",
+ "type": "integer"
+ },
+ "tax_amounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "tax_rate_data": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "display_name": {
+ "maxLength": 50,
+ "type": "string"
+ },
+ "inclusive": {
+ "type": "boolean"
+ },
+ "jurisdiction": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "percentage": {
+ "type": "number"
+ },
+ "state": {
+ "maxLength": 2,
+ "type": "string"
+ },
+ "tax_type": {
+ "enum": [
+ "amusement_tax",
+ "communications_tax",
+ "gst",
+ "hst",
+ "igst",
+ "jct",
+ "lease_tax",
+ "pst",
+ "qst",
+ "rst",
+ "sales_tax",
+ "vat"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "display_name",
+ "inclusive",
+ "percentage"
+ ],
+ "title": "tax_rate_data_param",
+ "type": "object"
+ },
+ "taxable_amount": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "amount",
+ "tax_rate_data",
+ "taxable_amount"
+ ],
+ "title": "tax_amount_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A list of up to 10 tax amounts for this line item. This can be useful if you calculate taxes on your own or use a third-party to calculate them. You cannot set tax amounts if any line item has [tax_rates](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-tax_rates) or if the invoice has [default_tax_rates](https://stripe.com/docs/api/invoices/object#invoice_object-default_tax_rates) or uses [automatic tax](https://stripe.com/docs/tax/invoicing). Pass an empty string to remove previously defined tax amounts."
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The tax rates which apply to the line item. When set, the `default_tax_rates` on the invoice do not apply to this line item. Pass an empty string to remove previously-defined tax rates."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/line_item"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/{invoice}/mark_uncollectible": {
+ "post": {
+ "description": "Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes.
",
+ "operationId": "PostInvoicesInvoiceMarkUncollectible",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/{invoice}/pay": {
+ "post": {
+ "description": "Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your subscriptions settings. However, if you’d like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so.
",
+ "operationId": "PostInvoicesInvoicePay",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "mandate": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "forgive": {
+ "description": "In cases where the source used to pay the invoice has insufficient funds, passing `forgive=true` controls whether a charge should be attempted for the full amount available on the source, up to the amount to fully pay the invoice. This effectively forgives the difference between the amount available on the source and the amount due. \n\nPassing `forgive=false` will fail the charge if the source hasn't been pre-funded with the right amount. An example for this case is with ACH Credit Transfers and wires: if the amount wired is less than the amount due by a small amount, you might want to forgive the difference. Defaults to `false`.",
+ "type": "boolean"
+ },
+ "mandate": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "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 payment_method param or the invoice's default_payment_method or default_source, if set."
+ },
+ "off_session": {
+ "description": "Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `true` (off-session).",
+ "type": "boolean"
+ },
+ "paid_out_of_band": {
+ "description": "Boolean representing whether an invoice is paid outside of Stripe. This will result in no charge being made. Defaults to `false`.",
+ "type": "boolean"
+ },
+ "payment_method": {
+ "description": "A PaymentMethod to be charged. The PaymentMethod must be the ID of a PaymentMethod belonging to the customer associated with the invoice being paid.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "source": {
+ "description": "A payment source to be charged. The source must be the ID of a source belonging to the customer associated with the invoice being paid.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/{invoice}/remove_lines": {
+ "post": {
+ "description": "Removes multiple line items from an invoice. This is only possible when an invoice is still a draft.
",
+ "operationId": "PostInvoicesInvoiceRemoveLines",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "lines": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice_metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "lines": {
+ "description": "The line items to remove.",
+ "items": {
+ "properties": {
+ "behavior": {
+ "enum": [
+ "delete",
+ "unassign"
+ ],
+ "type": "string"
+ },
+ "id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "behavior",
+ "id"
+ ],
+ "title": "lines_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "lines"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/{invoice}/send": {
+ "post": {
+ "description": "Stripe will automatically send invoices to customers according to your subscriptions settings. However, if you’d like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.
\n\nRequests made in test-mode result in no emails being sent, despite sending an invoice.sent
event.
",
+ "operationId": "PostInvoicesInvoiceSend",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/{invoice}/update_lines": {
+ "post": {
+ "description": "Updates multiple line items on an invoice. This is only possible when an invoice is still a draft.
",
+ "operationId": "PostInvoicesInvoiceUpdateLines",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "lines": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice_metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. For [type=subscription](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-type) line items, the incoming metadata specified on the request is directly used to set this value, in contrast to [type=invoiceitem](api/invoices/line_item#invoice_line_item_object-type) line items, where any existing metadata on the invoice line is merged with the incoming data."
+ },
+ "lines": {
+ "description": "The line items to update.",
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "description": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discountable": {
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "period": {
+ "properties": {
+ "end": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "start": {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "end",
+ "start"
+ ],
+ "title": "period",
+ "type": "object"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "product_data": {
+ "properties": {
+ "description": {
+ "maxLength": 40000,
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "title": "product_data",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency"
+ ],
+ "title": "one_time_price_data_with_product_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_amounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "tax_rate_data": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "display_name": {
+ "maxLength": 50,
+ "type": "string"
+ },
+ "inclusive": {
+ "type": "boolean"
+ },
+ "jurisdiction": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "percentage": {
+ "type": "number"
+ },
+ "state": {
+ "maxLength": 2,
+ "type": "string"
+ },
+ "tax_type": {
+ "enum": [
+ "amusement_tax",
+ "communications_tax",
+ "gst",
+ "hst",
+ "igst",
+ "jct",
+ "lease_tax",
+ "pst",
+ "qst",
+ "rst",
+ "sales_tax",
+ "vat"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "display_name",
+ "inclusive",
+ "percentage"
+ ],
+ "title": "tax_rate_data_param",
+ "type": "object"
+ },
+ "taxable_amount": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "amount",
+ "tax_rate_data",
+ "taxable_amount"
+ ],
+ "title": "tax_amount_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "title": "lines_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "lines"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/invoices/{invoice}/void": {
+ "post": {
+ "description": "Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to deletion, however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.
\n\nConsult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you’re doing business in. You might need to issue another invoice or credit note instead. Stripe recommends that you consult with your legal counsel for advice specific to your business.
",
+ "operationId": "PostInvoicesInvoiceVoid",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "invoice",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/invoice"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/authorizations": {
+ "get": {
+ "description": "Returns a list of Issuing Authorization
objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
",
+ "operationId": "GetIssuingAuthorizations",
+ "parameters": [
+ {
+ "description": "Only return authorizations that belong to the given card.",
+ "in": "query",
+ "name": "card",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return authorizations that belong to the given cardholder.",
+ "in": "query",
+ "name": "cardholder",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return authorizations that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return authorizations with the given status. One of `pending`, `closed`, or `reversed`.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "closed",
+ "pending",
+ "reversed"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/issuing.authorization"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/issuing/authorizations",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "IssuingAuthorizationList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/authorizations/{authorization}": {
+ "get": {
+ "description": "Retrieves an Issuing Authorization
object.
",
+ "operationId": "GetIssuingAuthorizationsAuthorization",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "authorization",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.authorization"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified Issuing Authorization
object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
",
+ "operationId": "PostIssuingAuthorizationsAuthorization",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "authorization",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.authorization"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/authorizations/{authorization}/approve": {
+ "post": {
+ "deprecated": true,
+ "description": "[Deprecated] Approves a pending Issuing Authorization
object. This request should be made within the timeout window of the real-time authorization flow. \nThis method is deprecated. Instead, respond directly to the webhook request to approve an authorization.
",
+ "operationId": "PostIssuingAuthorizationsAuthorizationApprove",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "authorization",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "If the authorization's `pending_request.is_amount_controllable` property is `true`, you may provide this value to control how much to hold for the authorization. Must be positive (use [`decline`](https://stripe.com/docs/api/issuing/authorizations/decline) to decline an authorization request).",
+ "type": "integer"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.authorization"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/authorizations/{authorization}/decline": {
+ "post": {
+ "deprecated": true,
+ "description": "[Deprecated] Declines a pending Issuing Authorization
object. This request should be made within the timeout window of the real time authorization flow.\nThis method is deprecated. Instead, respond directly to the webhook request to decline an authorization.
",
+ "operationId": "PostIssuingAuthorizationsAuthorizationDecline",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "authorization",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.authorization"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/cardholders": {
+ "get": {
+ "description": "Returns a list of Issuing Cardholder
objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
",
+ "operationId": "GetIssuingCardholders",
+ "parameters": [
+ {
+ "description": "Only return cardholders that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return cardholders that have the given email address.",
+ "in": "query",
+ "name": "email",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return cardholders that have the given phone number.",
+ "in": "query",
+ "name": "phone_number",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return cardholders that have the given status. One of `active`, `inactive`, or `blocked`.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "active",
+ "blocked",
+ "inactive"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return cardholders that have the given type. One of `individual` or `company`.",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/issuing.cardholder"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/issuing/cardholders",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "IssuingCardholderList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new Issuing Cardholder
object that can be issued cards.
",
+ "operationId": "PostIssuingCardholders",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "billing": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "company": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "individual": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "preferred_locales": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "spending_controls": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "billing": {
+ "description": "The cardholder's billing address.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "city",
+ "country",
+ "line1",
+ "postal_code"
+ ],
+ "title": "required_address",
+ "type": "object"
+ }
+ },
+ "required": [
+ "address"
+ ],
+ "title": "billing_specs",
+ "type": "object"
+ },
+ "company": {
+ "description": "Additional information about a `company` cardholder.",
+ "properties": {
+ "tax_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "company_param",
+ "type": "object"
+ },
+ "email": {
+ "description": "The cardholder's email address.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "individual": {
+ "description": "Additional information about an `individual` cardholder.",
+ "properties": {
+ "card_issuing": {
+ "properties": {
+ "user_terms_acceptance": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "terms_acceptance_param",
+ "type": "object"
+ }
+ },
+ "title": "card_issuing_param",
+ "type": "object"
+ },
+ "dob": {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth_specs",
+ "type": "object"
+ },
+ "first_name": {
+ "type": "string"
+ },
+ "last_name": {
+ "type": "string"
+ },
+ "verification": {
+ "properties": {
+ "document": {
+ "properties": {
+ "back": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_param",
+ "type": "object"
+ }
+ },
+ "title": "person_verification_param",
+ "type": "object"
+ }
+ },
+ "title": "individual_param",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "name": {
+ "description": "The cardholder's name. This will be printed on cards issued to them. The maximum length of this field is 24 characters. This field cannot contain any special characters or numbers.",
+ "type": "string"
+ },
+ "phone_number": {
+ "description": "The cardholder's phone number. This will be transformed to [E.164](https://en.wikipedia.org/wiki/E.164) if it is not provided in that format already. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure#when-is-3d-secure-applied) for more details.",
+ "type": "string"
+ },
+ "preferred_locales": {
+ "description": "The cardholder’s preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`.\n This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder.",
+ "items": {
+ "enum": [
+ "de",
+ "en",
+ "es",
+ "fr",
+ "it"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "spending_controls": {
+ "description": "Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details.",
+ "properties": {
+ "allowed_categories": {
+ "items": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "allowed_merchant_countries": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "blocked_categories": {
+ "items": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "blocked_merchant_countries": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "spending_limits": {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "categories": {
+ "items": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "interval": {
+ "enum": [
+ "all_time",
+ "daily",
+ "monthly",
+ "per_authorization",
+ "weekly",
+ "yearly"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "interval"
+ ],
+ "title": "spending_limits_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "spending_limits_currency": {
+ "type": "string"
+ }
+ },
+ "title": "authorization_controls_param_v2",
+ "type": "object"
+ },
+ "status": {
+ "description": "Specifies whether to permit authorizations on this cardholder's cards. Defaults to `active`.",
+ "enum": [
+ "active",
+ "inactive"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "description": "One of `individual` or `company`. See [Choose a cardholder type](https://stripe.com/docs/issuing/other/choose-cardholder) for more details.",
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "billing",
+ "name"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.cardholder"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/cardholders/{cardholder}": {
+ "get": {
+ "description": "Retrieves an Issuing Cardholder
object.
",
+ "operationId": "GetIssuingCardholdersCardholder",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cardholder",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.cardholder"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified Issuing Cardholder
object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
",
+ "operationId": "PostIssuingCardholdersCardholder",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cardholder",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "billing": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "company": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "individual": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "preferred_locales": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "spending_controls": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "billing": {
+ "description": "The cardholder's billing address.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "city",
+ "country",
+ "line1",
+ "postal_code"
+ ],
+ "title": "required_address",
+ "type": "object"
+ }
+ },
+ "required": [
+ "address"
+ ],
+ "title": "billing_specs",
+ "type": "object"
+ },
+ "company": {
+ "description": "Additional information about a `company` cardholder.",
+ "properties": {
+ "tax_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "company_param",
+ "type": "object"
+ },
+ "email": {
+ "description": "The cardholder's email address.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "individual": {
+ "description": "Additional information about an `individual` cardholder.",
+ "properties": {
+ "card_issuing": {
+ "properties": {
+ "user_terms_acceptance": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "terms_acceptance_param",
+ "type": "object"
+ }
+ },
+ "title": "card_issuing_param",
+ "type": "object"
+ },
+ "dob": {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth_specs",
+ "type": "object"
+ },
+ "first_name": {
+ "type": "string"
+ },
+ "last_name": {
+ "type": "string"
+ },
+ "verification": {
+ "properties": {
+ "document": {
+ "properties": {
+ "back": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_param",
+ "type": "object"
+ }
+ },
+ "title": "person_verification_param",
+ "type": "object"
+ }
+ },
+ "title": "individual_param",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "phone_number": {
+ "description": "The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure) for more details.",
+ "type": "string"
+ },
+ "preferred_locales": {
+ "description": "The cardholder’s preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`.\n This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder.",
+ "items": {
+ "enum": [
+ "de",
+ "en",
+ "es",
+ "fr",
+ "it"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "spending_controls": {
+ "description": "Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details.",
+ "properties": {
+ "allowed_categories": {
+ "items": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "allowed_merchant_countries": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "blocked_categories": {
+ "items": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "blocked_merchant_countries": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "spending_limits": {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "categories": {
+ "items": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "interval": {
+ "enum": [
+ "all_time",
+ "daily",
+ "monthly",
+ "per_authorization",
+ "weekly",
+ "yearly"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "interval"
+ ],
+ "title": "spending_limits_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "spending_limits_currency": {
+ "type": "string"
+ }
+ },
+ "title": "authorization_controls_param_v2",
+ "type": "object"
+ },
+ "status": {
+ "description": "Specifies whether to permit authorizations on this cardholder's cards.",
+ "enum": [
+ "active",
+ "inactive"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.cardholder"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/cards": {
+ "get": {
+ "description": "Returns a list of Issuing Card
objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
",
+ "operationId": "GetIssuingCards",
+ "parameters": [
+ {
+ "description": "Only return cards belonging to the Cardholder with the provided ID.",
+ "in": "query",
+ "name": "cardholder",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return cards that were issued during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return cards that have the given expiration month.",
+ "in": "query",
+ "name": "exp_month",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return cards that have the given expiration year.",
+ "in": "query",
+ "name": "exp_year",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return cards that have the given last four digits.",
+ "in": "query",
+ "name": "last4",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "in": "query",
+ "name": "personalization_design",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return cards that have the given status. One of `active`, `inactive`, or `canceled`.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "active",
+ "canceled",
+ "inactive"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return cards that have the given type. One of `virtual` or `physical`.",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "enum": [
+ "physical",
+ "virtual"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/issuing.card"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/issuing/cards",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "IssuingCardList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates an Issuing Card
object.
",
+ "operationId": "PostIssuingCards",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "pin": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "second_line": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "spending_controls": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "cardholder": {
+ "description": "The [Cardholder](https://stripe.com/docs/api#issuing_cardholder_object) object with which the card will be associated.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "description": "The currency for the card.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "financial_account": {
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "personalization_design": {
+ "description": "The personalization design object belonging to this card.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "pin": {
+ "description": "The desired PIN for this card.",
+ "properties": {
+ "encrypted_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "encrypted_pin_param",
+ "type": "object"
+ },
+ "replacement_for": {
+ "description": "The card this is meant to be a replacement for (if any).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "replacement_reason": {
+ "description": "If `replacement_for` is specified, this should indicate why that card is being replaced.",
+ "enum": [
+ "damaged",
+ "expired",
+ "lost",
+ "stolen"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "second_line": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The second line to print on the card."
+ },
+ "shipping": {
+ "description": "The address where the card will be shipped.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "city",
+ "country",
+ "line1",
+ "postal_code"
+ ],
+ "title": "required_address",
+ "type": "object"
+ },
+ "address_validation": {
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "normalization_only",
+ "validation_and_normalization"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "title": "address_validation_param",
+ "type": "object"
+ },
+ "customs": {
+ "properties": {
+ "eori_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "customs_param",
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone_number": {
+ "type": "string"
+ },
+ "require_signature": {
+ "type": "boolean"
+ },
+ "service": {
+ "enum": [
+ "express",
+ "priority",
+ "standard"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": {
+ "enum": [
+ "bulk",
+ "individual"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "shipping_specs",
+ "type": "object"
+ },
+ "spending_controls": {
+ "description": "Rules that control spending for this card. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details.",
+ "properties": {
+ "allowed_categories": {
+ "items": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "allowed_merchant_countries": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "blocked_categories": {
+ "items": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "blocked_merchant_countries": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "spending_limits": {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "categories": {
+ "items": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "interval": {
+ "enum": [
+ "all_time",
+ "daily",
+ "monthly",
+ "per_authorization",
+ "weekly",
+ "yearly"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "interval"
+ ],
+ "title": "spending_limits_param",
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "title": "authorization_controls_param",
+ "type": "object"
+ },
+ "status": {
+ "description": "Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`.",
+ "enum": [
+ "active",
+ "inactive"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of card to issue. Possible values are `physical` or `virtual`.",
+ "enum": [
+ "physical",
+ "virtual"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "type"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.card"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/cards/{card}": {
+ "get": {
+ "description": "Retrieves an Issuing Card
object.
",
+ "operationId": "GetIssuingCardsCard",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "card",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.card"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified Issuing Card
object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
",
+ "operationId": "PostIssuingCardsCard",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "card",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "pin": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "spending_controls": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "cancellation_reason": {
+ "description": "Reason why the `status` of this card is `canceled`.",
+ "enum": [
+ "lost",
+ "stolen"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "personalization_design": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "pin": {
+ "description": "The desired new PIN for this card.",
+ "properties": {
+ "encrypted_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "encrypted_pin_param",
+ "type": "object"
+ },
+ "shipping": {
+ "description": "Updated shipping information for the card.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "city",
+ "country",
+ "line1",
+ "postal_code"
+ ],
+ "title": "required_address",
+ "type": "object"
+ },
+ "address_validation": {
+ "properties": {
+ "mode": {
+ "enum": [
+ "disabled",
+ "normalization_only",
+ "validation_and_normalization"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "title": "address_validation_param",
+ "type": "object"
+ },
+ "customs": {
+ "properties": {
+ "eori_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "customs_param",
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone_number": {
+ "type": "string"
+ },
+ "require_signature": {
+ "type": "boolean"
+ },
+ "service": {
+ "enum": [
+ "express",
+ "priority",
+ "standard"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": {
+ "enum": [
+ "bulk",
+ "individual"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "shipping_specs",
+ "type": "object"
+ },
+ "spending_controls": {
+ "description": "Rules that control spending for this card. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details.",
+ "properties": {
+ "allowed_categories": {
+ "items": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "allowed_merchant_countries": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "blocked_categories": {
+ "items": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "blocked_merchant_countries": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "spending_limits": {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "categories": {
+ "items": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "interval": {
+ "enum": [
+ "all_time",
+ "daily",
+ "monthly",
+ "per_authorization",
+ "weekly",
+ "yearly"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "interval"
+ ],
+ "title": "spending_limits_param",
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "title": "authorization_controls_param",
+ "type": "object"
+ },
+ "status": {
+ "description": "Dictates whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`. If this card is being canceled because it was lost or stolen, this information should be provided as `cancellation_reason`.",
+ "enum": [
+ "active",
+ "canceled",
+ "inactive"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.card"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/disputes": {
+ "get": {
+ "description": "Returns a list of Issuing Dispute
objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
",
+ "operationId": "GetIssuingDisputes",
+ "parameters": [
+ {
+ "description": "Only return Issuing disputes that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Select Issuing disputes with the given status.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "expired",
+ "lost",
+ "submitted",
+ "unsubmitted",
+ "won"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Select the Issuing dispute for the given transaction.",
+ "in": "query",
+ "name": "transaction",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/issuing.dispute"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/issuing/disputes",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "IssuingDisputeList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates an Issuing Dispute
object. Individual pieces of evidence within the evidence
object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to Dispute reasons and evidence for more details about evidence requirements.
",
+ "operationId": "PostIssuingDisputes",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "evidence": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "treasury": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "The dispute amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). If not set, defaults to the full transaction amount.",
+ "type": "integer"
+ },
+ "evidence": {
+ "description": "Evidence provided for the dispute.",
+ "properties": {
+ "canceled": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "canceled_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cancellation_policy_provided": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cancellation_reason": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "expected_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_description": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_type": {
+ "enum": [
+ "",
+ "merchandise",
+ "service"
+ ],
+ "type": "string"
+ },
+ "return_status": {
+ "enum": [
+ "",
+ "merchant_rejected",
+ "successful"
+ ],
+ "type": "string"
+ },
+ "returned_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "canceled",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "duplicate": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card_statement": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cash_receipt": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "check_image": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "original_transaction": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "duplicate",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "fraudulent": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "fraudulent",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "merchandise_not_as_described": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "received_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "return_description": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "return_status": {
+ "enum": [
+ "",
+ "merchant_rejected",
+ "successful"
+ ],
+ "type": "string"
+ },
+ "returned_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "merchandise_not_as_described",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "no_valid_authorization": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "no_valid_authorization",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "not_received": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "expected_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_description": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_type": {
+ "enum": [
+ "",
+ "merchandise",
+ "service"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "not_received",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "other": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_description": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_type": {
+ "enum": [
+ "",
+ "merchandise",
+ "service"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "other",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "reason": {
+ "enum": [
+ "canceled",
+ "duplicate",
+ "fraudulent",
+ "merchandise_not_as_described",
+ "no_valid_authorization",
+ "not_received",
+ "other",
+ "service_not_as_described"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "service_not_as_described": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "canceled_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cancellation_reason": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "received_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "service_not_as_described",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "evidence_param",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "transaction": {
+ "description": "The ID of the issuing transaction to create a dispute for. For transaction on Treasury FinancialAccounts, use `treasury.received_debit`.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "treasury": {
+ "description": "Params for disputes related to Treasury FinancialAccounts",
+ "properties": {
+ "received_debit": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "received_debit"
+ ],
+ "title": "treasury_param",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.dispute"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/disputes/{dispute}": {
+ "get": {
+ "description": "Retrieves an Issuing Dispute
object.
",
+ "operationId": "GetIssuingDisputesDispute",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dispute",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.dispute"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified Issuing Dispute
object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on the evidence
object can be unset by passing in an empty string.
",
+ "operationId": "PostIssuingDisputesDispute",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dispute",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "evidence": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "The dispute amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
+ "type": "integer"
+ },
+ "evidence": {
+ "description": "Evidence provided for the dispute.",
+ "properties": {
+ "canceled": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "canceled_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cancellation_policy_provided": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cancellation_reason": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "expected_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_description": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_type": {
+ "enum": [
+ "",
+ "merchandise",
+ "service"
+ ],
+ "type": "string"
+ },
+ "return_status": {
+ "enum": [
+ "",
+ "merchant_rejected",
+ "successful"
+ ],
+ "type": "string"
+ },
+ "returned_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "canceled",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "duplicate": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card_statement": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cash_receipt": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "check_image": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "original_transaction": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "duplicate",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "fraudulent": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "fraudulent",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "merchandise_not_as_described": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "received_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "return_description": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "return_status": {
+ "enum": [
+ "",
+ "merchant_rejected",
+ "successful"
+ ],
+ "type": "string"
+ },
+ "returned_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "merchandise_not_as_described",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "no_valid_authorization": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "no_valid_authorization",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "not_received": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "expected_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_description": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_type": {
+ "enum": [
+ "",
+ "merchandise",
+ "service"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "not_received",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "other": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_description": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_type": {
+ "enum": [
+ "",
+ "merchandise",
+ "service"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "other",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "reason": {
+ "enum": [
+ "canceled",
+ "duplicate",
+ "fraudulent",
+ "merchandise_not_as_described",
+ "no_valid_authorization",
+ "not_received",
+ "other",
+ "service_not_as_described"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "service_not_as_described": {
+ "anyOf": [
+ {
+ "properties": {
+ "additional_documentation": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "canceled_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cancellation_reason": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "explanation": {
+ "anyOf": [
+ {
+ "maxLength": 2500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "received_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "service_not_as_described",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "evidence_param",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.dispute"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/disputes/{dispute}/submit": {
+ "post": {
+ "description": "Submits an Issuing Dispute
to the card network. Stripe validates that all evidence fields required for the dispute’s reason are present. For more details, see Dispute reasons and evidence.
",
+ "operationId": "PostIssuingDisputesDisputeSubmit",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dispute",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.dispute"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/personalization_designs": {
+ "get": {
+ "description": "Returns a list of personalization design objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
",
+ "operationId": "GetIssuingPersonalizationDesigns",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return personalization designs with the given lookup keys.",
+ "explode": true,
+ "in": "query",
+ "name": "lookup_keys",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return personalization designs with the given preferences.",
+ "explode": true,
+ "in": "query",
+ "name": "preferences",
+ "required": false,
+ "schema": {
+ "properties": {
+ "is_default": {
+ "type": "boolean"
+ },
+ "is_platform_default": {
+ "type": "boolean"
+ }
+ },
+ "title": "preferences_list_param",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return personalization designs with the given status.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "active",
+ "inactive",
+ "rejected",
+ "review"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/issuing.personalization_design"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/issuing/personalization_designs",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "IssuingPersonalizationDesignList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a personalization design object.
",
+ "operationId": "PostIssuingPersonalizationDesigns",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "carrier_text": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "preferences": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "card_logo": {
+ "description": "The file for the card logo, for use with physical bundles that support card logos. Must have a `purpose` value of `issuing_logo`.",
+ "type": "string"
+ },
+ "carrier_text": {
+ "description": "Hash containing carrier text, for use with physical bundles that support carrier text.",
+ "properties": {
+ "footer_body": {
+ "anyOf": [
+ {
+ "maxLength": 200,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "footer_title": {
+ "anyOf": [
+ {
+ "maxLength": 30,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "header_body": {
+ "anyOf": [
+ {
+ "maxLength": 200,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "header_title": {
+ "anyOf": [
+ {
+ "maxLength": 30,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "carrier_text_param",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "lookup_key": {
+ "description": "A lookup key used to retrieve personalization designs dynamically from a static string. This may be up to 200 characters.",
+ "maxLength": 200,
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "name": {
+ "description": "Friendly display name.",
+ "maxLength": 200,
+ "type": "string"
+ },
+ "physical_bundle": {
+ "description": "The physical bundle object belonging to this personalization design.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "preferences": {
+ "description": "Information on whether this personalization design is used to create cards when one is not specified.",
+ "properties": {
+ "is_default": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "is_default"
+ ],
+ "title": "preferences_param",
+ "type": "object"
+ },
+ "transfer_lookup_key": {
+ "description": "If set to true, will atomically remove the lookup key from the existing personalization design, and assign it to this personalization design.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "physical_bundle"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.personalization_design"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/personalization_designs/{personalization_design}": {
+ "get": {
+ "description": "Retrieves a personalization design object.
",
+ "operationId": "GetIssuingPersonalizationDesignsPersonalizationDesign",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "personalization_design",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.personalization_design"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates a card personalization object.
",
+ "operationId": "PostIssuingPersonalizationDesignsPersonalizationDesign",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personalization_design",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "card_logo": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "carrier_text": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "lookup_key": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "name": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "preferences": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "card_logo": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The file for the card logo, for use with physical bundles that support card logos. Must have a `purpose` value of `issuing_logo`."
+ },
+ "carrier_text": {
+ "anyOf": [
+ {
+ "properties": {
+ "footer_body": {
+ "anyOf": [
+ {
+ "maxLength": 200,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "footer_title": {
+ "anyOf": [
+ {
+ "maxLength": 30,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "header_body": {
+ "anyOf": [
+ {
+ "maxLength": 200,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "header_title": {
+ "anyOf": [
+ {
+ "maxLength": 30,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "carrier_text_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Hash containing carrier text, for use with physical bundles that support carrier text."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "lookup_key": {
+ "anyOf": [
+ {
+ "maxLength": 200,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A lookup key used to retrieve personalization designs dynamically from a static string. This may be up to 200 characters."
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "name": {
+ "anyOf": [
+ {
+ "maxLength": 200,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Friendly display name. Providing an empty string will set the field to null."
+ },
+ "physical_bundle": {
+ "description": "The physical bundle object belonging to this personalization design.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "preferences": {
+ "description": "Information on whether this personalization design is used to create cards when one is not specified.",
+ "properties": {
+ "is_default": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "is_default"
+ ],
+ "title": "preferences_param",
+ "type": "object"
+ },
+ "transfer_lookup_key": {
+ "description": "If set to true, will atomically remove the lookup key from the existing personalization design, and assign it to this personalization design.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.personalization_design"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/physical_bundles": {
+ "get": {
+ "description": "Returns a list of physical bundle objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
",
+ "operationId": "GetIssuingPhysicalBundles",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return physical bundles with the given status.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "active",
+ "inactive",
+ "review"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return physical bundles with the given type.",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "enum": [
+ "custom",
+ "standard"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/issuing.physical_bundle"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/issuing/physical_bundles",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "IssuingPhysicalBundleList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/physical_bundles/{physical_bundle}": {
+ "get": {
+ "description": "Retrieves a physical bundle object.
",
+ "operationId": "GetIssuingPhysicalBundlesPhysicalBundle",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "physical_bundle",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.physical_bundle"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/settlements/{settlement}": {
+ "get": {
+ "description": "Retrieves an Issuing Settlement
object.
",
+ "operationId": "GetIssuingSettlementsSettlement",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "settlement",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.settlement"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified Issuing Settlement
object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
",
+ "operationId": "PostIssuingSettlementsSettlement",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "settlement",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.settlement"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/tokens": {
+ "get": {
+ "description": "Lists all Issuing Token
objects for a given card.
",
+ "operationId": "GetIssuingTokens",
+ "parameters": [
+ {
+ "description": "The Issuing card identifier to list tokens for.",
+ "in": "query",
+ "name": "card",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return Issuing tokens that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Select Issuing tokens with the given status.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "active",
+ "deleted",
+ "requested",
+ "suspended"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/issuing.token"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "IssuingNetworkTokenList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/tokens/{token}": {
+ "get": {
+ "description": "Retrieves an Issuing Token
object.
",
+ "operationId": "GetIssuingTokensToken",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "token",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.token"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Attempts to update the specified Issuing Token
object to the status specified.
",
+ "operationId": "PostIssuingTokensToken",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "token",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "status": {
+ "description": "Specifies which status the token should be updated to.",
+ "enum": [
+ "active",
+ "deleted",
+ "suspended"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.token"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/transactions": {
+ "get": {
+ "description": "Returns a list of Issuing Transaction
objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
",
+ "operationId": "GetIssuingTransactions",
+ "parameters": [
+ {
+ "description": "Only return transactions that belong to the given card.",
+ "in": "query",
+ "name": "card",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return transactions that belong to the given cardholder.",
+ "in": "query",
+ "name": "cardholder",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return transactions that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return transactions that have the given type. One of `capture` or `refund`.",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "enum": [
+ "capture",
+ "refund"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/issuing.transaction"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/issuing/transactions",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "IssuingTransactionList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/issuing/transactions/{transaction}": {
+ "get": {
+ "description": "Retrieves an Issuing Transaction
object.
",
+ "operationId": "GetIssuingTransactionsTransaction",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "transaction",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified Issuing Transaction
object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
",
+ "operationId": "PostIssuingTransactionsTransaction",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "transaction",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/link_account_sessions": {
+ "post": {
+ "description": "To launch the Financial Connections authorization flow, create a Session
. The session’s client_secret
can be used to launch the flow using Stripe.js.
",
+ "operationId": "PostLinkAccountSessions",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "account_holder": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "filters": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "permissions": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "prefetch": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account_holder": {
+ "description": "The account holder to link accounts for.",
+ "properties": {
+ "account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "customer"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "accountholder_params",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "filters": {
+ "description": "Filters to restrict the kinds of accounts to collect.",
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "credit_card",
+ "line_of_credit",
+ "mortgage",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "countries": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "filters_params",
+ "type": "object"
+ },
+ "permissions": {
+ "description": "List of data features that you would like to request access to.\n\nPossible values are `balances`, `transactions`, `ownership`, and `payment_method`.",
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "description": "List of data features that you would like to retrieve upon account creation.",
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "return_url": {
+ "description": "For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_holder",
+ "permissions"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/financial_connections.session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/link_account_sessions/{session}": {
+ "get": {
+ "description": "Retrieves the details of a Financial Connections Session
",
+ "operationId": "GetLinkAccountSessionsSession",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "session",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/financial_connections.session"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/linked_accounts": {
+ "get": {
+ "description": "Returns a list of Financial Connections Account
objects.
",
+ "operationId": "GetLinkedAccounts",
+ "parameters": [
+ {
+ "description": "If present, only return accounts that belong to the specified account holder. `account_holder[customer]` and `account_holder[account]` are mutually exclusive.",
+ "explode": true,
+ "in": "query",
+ "name": "account_holder",
+ "required": false,
+ "schema": {
+ "properties": {
+ "account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "accountholder_params",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "If present, only return accounts that were collected as part of the given session.",
+ "in": "query",
+ "name": "session",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/financial_connections.account"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/financial_connections/accounts",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "BankConnectionsResourceLinkedAccountList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/linked_accounts/{account}": {
+ "get": {
+ "description": "Retrieves the details of an Financial Connections Account
.
",
+ "operationId": "GetLinkedAccountsAccount",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/financial_connections.account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/linked_accounts/{account}/disconnect": {
+ "post": {
+ "description": "Disables your access to a Financial Connections Account
. You will no longer be able to access data associated with the account (e.g. balances, transactions).
",
+ "operationId": "PostLinkedAccountsAccountDisconnect",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/financial_connections.account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/linked_accounts/{account}/owners": {
+ "get": {
+ "description": "Lists all owners for a given Account
",
+ "operationId": "GetLinkedAccountsAccountOwners",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The ID of the ownership object to fetch owners from.",
+ "in": "query",
+ "name": "ownership",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/financial_connections.account_owner"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "BankConnectionsResourceOwnerList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/linked_accounts/{account}/refresh": {
+ "post": {
+ "description": "Refreshes the data associated with a Financial Connections Account
.
",
+ "operationId": "PostLinkedAccountsAccountRefresh",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "features": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "features": {
+ "description": "The list of account features that you would like to refresh.",
+ "items": {
+ "enum": [
+ "balance",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "features"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/financial_connections.account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/mandates/{mandate}": {
+ "get": {
+ "description": "Retrieves a Mandate object.
",
+ "operationId": "GetMandatesMandate",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "mandate",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/mandate"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_intents": {
+ "get": {
+ "description": "Returns a list of PaymentIntents.
",
+ "operationId": "GetPaymentIntents",
+ "parameters": [
+ {
+ "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp or a dictionary with a number of different query options.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return PaymentIntents for the customer that this customer ID specifies.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/payment_intent"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/payment_intents",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PaymentFlowsPaymentIntentList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a PaymentIntent object.
\n\nAfter the PaymentIntent is created, attach a payment method and confirm\nto continue the payment. Learn more about the available payment flows\nwith the Payment Intents API.
\n\nWhen you use confirm=true
during creation, it’s equivalent to creating\nand confirming the PaymentIntent in the same call. You can use any parameters\navailable in the confirm API when you supply\nconfirm=true
.
",
+ "operationId": "PostPaymentIntents",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "automatic_payment_methods": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "mandate_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "off_session": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_types": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "radar_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).",
+ "type": "integer"
+ },
+ "application_fee_amount": {
+ "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
+ "type": "integer"
+ },
+ "automatic_payment_methods": {
+ "description": "When you enable this parameter, this PaymentIntent accepts payment methods that you enable in the Dashboard and that are compatible with this PaymentIntent's other parameters.",
+ "properties": {
+ "allow_redirects": {
+ "enum": [
+ "always",
+ "never"
+ ],
+ "type": "string"
+ },
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_payment_methods_param",
+ "type": "object"
+ },
+ "capture_method": {
+ "description": "Controls when the funds will be captured from the customer's account.",
+ "enum": [
+ "automatic",
+ "automatic_async",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "confirm": {
+ "description": "Set to `true` to attempt to [confirm this PaymentIntent](https://stripe.com/docs/api/payment_intents/confirm) immediately. This parameter defaults to `false`. When creating and confirming a PaymentIntent at the same time, you can also provide the parameters available in the [Confirm API](https://stripe.com/docs/api/payment_intents/confirm).",
+ "type": "boolean"
+ },
+ "confirmation_method": {
+ "description": "Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment.",
+ "enum": [
+ "automatic",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "confirmation_token": {
+ "description": "ID of the ConfirmationToken used to confirm this PaymentIntent.\n\nIf the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence.",
+ "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": {
+ "description": "ID of the Customer this PaymentIntent belongs to, if one exists.\n\nPayment methods attached to other Customers cannot be used with this PaymentIntent.\n\nIf [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "error_on_requires_action": {
+ "description": "Set to `true` to fail the payment attempt if the PaymentIntent transitions into `requires_action`. Use this parameter for simpler integrations that don't handle customer actions, such as [saving cards without authentication](https://stripe.com/docs/payments/save-card-without-authentication). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).",
+ "type": "boolean"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "mandate": {
+ "description": "ID of the mandate that's used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "mandate_data": {
+ "anyOf": [
+ {
+ "properties": {
+ "customer_acceptance": {
+ "properties": {
+ "accepted_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "offline": {
+ "properties": {},
+ "title": "offline_param",
+ "type": "object"
+ },
+ "online": {
+ "properties": {
+ "ip_address": {
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ip_address",
+ "user_agent"
+ ],
+ "title": "online_param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "offline",
+ "online"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "customer_acceptance_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "customer_acceptance"
+ ],
+ "title": "secret_key_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "This hash contains details about the Mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm)."
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "off_session": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "enum": [
+ "one_off",
+ "recurring"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "Set to `true` to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm)."
+ },
+ "on_behalf_of": {
+ "description": "The Stripe account ID that these funds are intended for. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
+ "type": "string"
+ },
+ "payment_method": {
+ "description": "ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent.\n\nIf you omit this parameter with `confirm=true`, `customer.default_source` attaches as this PaymentIntent's payment instrument to improve migration for users of the Charges API. We recommend that you explicitly provide the `payment_method` moving forward.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "payment_method_configuration": {
+ "description": "The ID of the payment method configuration to use with this PaymentIntent.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "payment_method_data": {
+ "description": "If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear\nin the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method)\nproperty on the PaymentIntent.",
+ "properties": {
+ "acss_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "institution_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "transit_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "institution_number",
+ "transit_number"
+ ],
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "affirm": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "afterpay_clearpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "alipay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "allow_redisplay": {
+ "enum": [
+ "always",
+ "limited",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "amazon_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "au_becs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "bsb_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "bsb_number"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "bacs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "sort_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "bancontact": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "billing_details": {
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "billing_details_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "email": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "name": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "billing_details_inner_params",
+ "type": "object"
+ },
+ "blik": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "boleto": {
+ "properties": {
+ "tax_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "tax_id"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "cashapp": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "customer_balance": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "eps": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "arzte_und_apotheker_bank",
+ "austrian_anadi_bank_ag",
+ "bank_austria",
+ "bankhaus_carl_spangler",
+ "bankhaus_schelhammer_und_schattera_ag",
+ "bawag_psk_ag",
+ "bks_bank_ag",
+ "brull_kallmus_bank_ag",
+ "btv_vier_lander_bank",
+ "capital_bank_grawe_gruppe_ag",
+ "deutsche_bank_ag",
+ "dolomitenbank",
+ "easybank_ag",
+ "erste_bank_und_sparkassen",
+ "hypo_alpeadriabank_international_ag",
+ "hypo_bank_burgenland_aktiengesellschaft",
+ "hypo_noe_lb_fur_niederosterreich_u_wien",
+ "hypo_oberosterreich_salzburg_steiermark",
+ "hypo_tirol_bank_ag",
+ "hypo_vorarlberg_bank_ag",
+ "marchfelder_bank",
+ "oberbank_ag",
+ "raiffeisen_bankengruppe_osterreich",
+ "schoellerbank_ag",
+ "sparda_bank_wien",
+ "volksbank_gruppe",
+ "volkskreditbank_ag",
+ "vr_bank_braunau"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "fpx": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "affin_bank",
+ "agrobank",
+ "alliance_bank",
+ "ambank",
+ "bank_islam",
+ "bank_muamalat",
+ "bank_of_china",
+ "bank_rakyat",
+ "bsn",
+ "cimb",
+ "deutsche_bank",
+ "hong_leong_bank",
+ "hsbc",
+ "kfh",
+ "maybank2e",
+ "maybank2u",
+ "ocbc",
+ "pb_enterprise",
+ "public_bank",
+ "rhb",
+ "standard_chartered",
+ "uob"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "bank"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "giropay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "grabpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "ideal": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "abn_amro",
+ "asn_bank",
+ "bunq",
+ "handelsbanken",
+ "ing",
+ "knab",
+ "moneyou",
+ "n26",
+ "nn",
+ "rabobank",
+ "regiobank",
+ "revolut",
+ "sns_bank",
+ "triodos_bank",
+ "van_lanschot",
+ "yoursafe"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "interac_present": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "klarna": {
+ "properties": {
+ "dob": {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth",
+ "type": "object"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "konbini": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "link": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "mobilepay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "multibanco": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "oxxo": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "p24": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "alior_bank",
+ "bank_millennium",
+ "bank_nowy_bfg_sa",
+ "bank_pekao_sa",
+ "banki_spbdzielcze",
+ "blik",
+ "bnp_paribas",
+ "boz",
+ "citi_handlowy",
+ "credit_agricole",
+ "envelobank",
+ "etransfer_pocztowy24",
+ "getin_bank",
+ "ideabank",
+ "ing",
+ "inteligo",
+ "mbank_mtransfer",
+ "nest_przelew",
+ "noble_pay",
+ "pbac_z_ipko",
+ "plus_bank",
+ "santander_przelew24",
+ "tmobile_usbugi_bankowe",
+ "toyota_bank",
+ "velobank",
+ "volkswagen_bank"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "paynow": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "paypal": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "pix": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "promptpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "radar_options": {
+ "properties": {
+ "session": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "radar_options_with_hidden_options",
+ "type": "object"
+ },
+ "revolut_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "properties": {
+ "iban": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "iban"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "sofort": {
+ "properties": {
+ "country": {
+ "enum": [
+ "AT",
+ "BE",
+ "DE",
+ "ES",
+ "IT",
+ "NL"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "swish": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "twint": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "acss_debit",
+ "affirm",
+ "afterpay_clearpay",
+ "alipay",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "blik",
+ "boleto",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "klarna",
+ "konbini",
+ "link",
+ "mobilepay",
+ "multibanco",
+ "oxxo",
+ "p24",
+ "paynow",
+ "paypal",
+ "pix",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "twint",
+ "us_bank_account",
+ "wechat_pay",
+ "zip"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "us_bank_account": {
+ "properties": {
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "financial_connections_account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "wechat_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "zip": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "payment_method_data_params",
+ "type": "object"
+ },
+ "payment_method_options": {
+ "description": "Payment method-specific configuration for this PaymentIntent.",
+ "properties": {
+ "acss_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "custom_mandate_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "interval_description": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "payment_schedule": {
+ "enum": [
+ "combined",
+ "interval",
+ "sporadic"
+ ],
+ "type": "string"
+ },
+ "transaction_type": {
+ "enum": [
+ "business",
+ "personal"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_mandate_options_param",
+ "type": "object"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "affirm": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "preferred_locale": {
+ "maxLength": 30,
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "afterpay_clearpay": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "reference": {
+ "maxLength": 128,
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "alipay": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "amazon_pay": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "au_becs_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "bacs_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "bancontact": {
+ "anyOf": [
+ {
+ "properties": {
+ "preferred_language": {
+ "enum": [
+ "de",
+ "en",
+ "fr",
+ "nl"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "blik": {
+ "anyOf": [
+ {
+ "properties": {
+ "code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "boleto": {
+ "anyOf": [
+ {
+ "properties": {
+ "expires_after_days": {
+ "type": "integer"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "cvc_token": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "installments": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "plan": {
+ "anyOf": [
+ {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "interval": {
+ "enum": [
+ "month"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "fixed_count"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "count",
+ "interval",
+ "type"
+ ],
+ "title": "installment_plan",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "installments_param",
+ "type": "object"
+ },
+ "mandate_options": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_type": {
+ "enum": [
+ "fixed",
+ "maximum"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "end_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "sporadic",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ },
+ "reference": {
+ "maxLength": 80,
+ "type": "string"
+ },
+ "start_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "supported_types": {
+ "items": {
+ "enum": [
+ "india"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "amount",
+ "amount_type",
+ "interval",
+ "reference",
+ "start_date"
+ ],
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "network": {
+ "enum": [
+ "amex",
+ "cartes_bancaires",
+ "diners",
+ "discover",
+ "eftpos_au",
+ "interac",
+ "jcb",
+ "mastercard",
+ "unionpay",
+ "unknown",
+ "visa"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "request_extended_authorization": {
+ "enum": [
+ "if_available",
+ "never"
+ ],
+ "type": "string"
+ },
+ "request_incremental_authorization": {
+ "enum": [
+ "if_available",
+ "never"
+ ],
+ "type": "string"
+ },
+ "request_multicapture": {
+ "enum": [
+ "if_available",
+ "never"
+ ],
+ "type": "string"
+ },
+ "request_overcapture": {
+ "enum": [
+ "if_available",
+ "never"
+ ],
+ "type": "string"
+ },
+ "request_three_d_secure": {
+ "enum": [
+ "any",
+ "automatic",
+ "challenge"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "require_cvc_recollection": {
+ "type": "boolean"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "statement_descriptor_suffix_kana": {
+ "anyOf": [
+ {
+ "maxLength": 22,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "statement_descriptor_suffix_kanji": {
+ "anyOf": [
+ {
+ "maxLength": 17,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "three_d_secure": {
+ "properties": {
+ "ares_trans_status": {
+ "enum": [
+ "A",
+ "C",
+ "I",
+ "N",
+ "R",
+ "U",
+ "Y"
+ ],
+ "type": "string"
+ },
+ "cryptogram": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "electronic_commerce_indicator": {
+ "enum": [
+ "01",
+ "02",
+ "05",
+ "06",
+ "07"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "exemption_indicator": {
+ "enum": [
+ "low_risk",
+ "none"
+ ],
+ "type": "string"
+ },
+ "network_options": {
+ "properties": {
+ "cartes_bancaires": {
+ "properties": {
+ "cb_avalgo": {
+ "enum": [
+ "0",
+ "1",
+ "2",
+ "3",
+ "4",
+ "A"
+ ],
+ "type": "string"
+ },
+ "cb_exemption": {
+ "maxLength": 4,
+ "type": "string"
+ },
+ "cb_score": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "cb_avalgo"
+ ],
+ "title": "cartes_bancaires_network_options_param",
+ "type": "object"
+ }
+ },
+ "title": "network_options_param",
+ "type": "object"
+ },
+ "requestor_challenge_indicator": {
+ "maxLength": 2,
+ "type": "string"
+ },
+ "transaction_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "version": {
+ "enum": [
+ "1.0.2",
+ "2.1.0",
+ "2.2.0"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "cryptogram",
+ "transaction_id",
+ "version"
+ ],
+ "title": "payment_method_options_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_intent_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card_present": {
+ "anyOf": [
+ {
+ "properties": {
+ "request_extended_authorization": {
+ "type": "boolean"
+ },
+ "request_incremental_authorization_support": {
+ "type": "boolean"
+ },
+ "routing": {
+ "properties": {
+ "requested_priority": {
+ "enum": [
+ "domestic",
+ "international"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "routing_payment_method_options_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cashapp": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "customer_balance": {
+ "anyOf": [
+ {
+ "properties": {
+ "bank_transfer": {
+ "properties": {
+ "eu_bank_transfer": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "eu_bank_transfer_params",
+ "type": "object"
+ },
+ "requested_address_types": {
+ "items": {
+ "enum": [
+ "aba",
+ "iban",
+ "sepa",
+ "sort_code",
+ "spei",
+ "swift",
+ "zengin"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "type": {
+ "enum": [
+ "eu_bank_transfer",
+ "gb_bank_transfer",
+ "jp_bank_transfer",
+ "mx_bank_transfer",
+ "us_bank_transfer"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "bank_transfer_param",
+ "type": "object"
+ },
+ "funding_type": {
+ "enum": [
+ "bank_transfer"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "eps": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "fpx": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "giropay": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "grabpay": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "ideal": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "interac_present": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "klarna": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "preferred_locale": {
+ "enum": [
+ "cs-CZ",
+ "da-DK",
+ "de-AT",
+ "de-CH",
+ "de-DE",
+ "el-GR",
+ "en-AT",
+ "en-AU",
+ "en-BE",
+ "en-CA",
+ "en-CH",
+ "en-CZ",
+ "en-DE",
+ "en-DK",
+ "en-ES",
+ "en-FI",
+ "en-FR",
+ "en-GB",
+ "en-GR",
+ "en-IE",
+ "en-IT",
+ "en-NL",
+ "en-NO",
+ "en-NZ",
+ "en-PL",
+ "en-PT",
+ "en-RO",
+ "en-SE",
+ "en-US",
+ "es-ES",
+ "es-US",
+ "fi-FI",
+ "fr-BE",
+ "fr-CA",
+ "fr-CH",
+ "fr-FR",
+ "it-CH",
+ "it-IT",
+ "nb-NO",
+ "nl-BE",
+ "nl-NL",
+ "pl-PL",
+ "pt-PT",
+ "ro-RO",
+ "sv-FI",
+ "sv-SE"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "konbini": {
+ "anyOf": [
+ {
+ "properties": {
+ "confirmation_number": {
+ "anyOf": [
+ {
+ "maxLength": 11,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "expires_after_days": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "expires_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_description": {
+ "anyOf": [
+ {
+ "maxLength": 22,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "link": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "mobilepay": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "multibanco": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "oxxo": {
+ "anyOf": [
+ {
+ "properties": {
+ "expires_after_days": {
+ "type": "integer"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "p24": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "tos_shown_and_accepted": {
+ "type": "boolean"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "paynow": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "paypal": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "preferred_locale": {
+ "enum": [
+ "cs-CZ",
+ "da-DK",
+ "de-AT",
+ "de-DE",
+ "de-LU",
+ "el-GR",
+ "en-GB",
+ "en-US",
+ "es-ES",
+ "fi-FI",
+ "fr-BE",
+ "fr-FR",
+ "fr-LU",
+ "hu-HU",
+ "it-IT",
+ "nl-BE",
+ "nl-NL",
+ "pl-PL",
+ "pt-PT",
+ "sk-SK",
+ "sv-SE"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "reference": {
+ "maxLength": 127,
+ "type": "string"
+ },
+ "risk_correlation_id": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "pix": {
+ "anyOf": [
+ {
+ "properties": {
+ "expires_after_seconds": {
+ "type": "integer"
+ },
+ "expires_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "promptpay": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "revolut_pay": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "sepa_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {},
+ "title": "payment_method_options_mandate_options_param",
+ "type": "object"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "sofort": {
+ "anyOf": [
+ {
+ "properties": {
+ "preferred_language": {
+ "enum": [
+ "",
+ "de",
+ "en",
+ "es",
+ "fr",
+ "it",
+ "nl",
+ "pl"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "swish": {
+ "anyOf": [
+ {
+ "properties": {
+ "reference": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "twint": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "us_bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "financial_connections": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "linked_account_options_filters_param",
+ "type": "object"
+ },
+ "permissions": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "return_url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "linked_account_options_param",
+ "type": "object"
+ },
+ "mandate_options": {
+ "properties": {
+ "collection_method": {
+ "enum": [
+ "",
+ "paper"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "networks": {
+ "properties": {
+ "requested": {
+ "items": {
+ "enum": [
+ "ach",
+ "us_domestic_wire"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "networks_options_param",
+ "type": "object"
+ },
+ "preferred_settlement_speed": {
+ "enum": [
+ "",
+ "fastest",
+ "standard"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "wechat_pay": {
+ "anyOf": [
+ {
+ "properties": {
+ "app_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "client": {
+ "enum": [
+ "android",
+ "ios",
+ "web"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "client"
+ ],
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "zip": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "payment_method_types": {
+ "description": "The list of payment method types (for example, a card) that this PaymentIntent can use. If you don't provide this, it defaults to [\"card\"]. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "radar_options": {
+ "description": "Options to configure Radar. Learn more about [Radar Sessions](https://stripe.com/docs/radar/radar-session).",
+ "properties": {
+ "session": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "radar_options_with_hidden_options",
+ "type": "object"
+ },
+ "receipt_email": {
+ "description": "Email address to send the receipt to. If you specify `receipt_email` for a payment in live mode, you send a receipt regardless of your [email settings](https://dashboard.stripe.com/account/emails).",
+ "type": "string"
+ },
+ "return_url": {
+ "description": "The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).",
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).",
+ "enum": [
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "shipping": {
+ "description": "Shipping information for this PaymentIntent.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "carrier": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tracking_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "optional_fields_shipping",
+ "type": "object"
+ },
+ "statement_descriptor": {
+ "description": "For card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "statement_descriptor_suffix": {
+ "description": "Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. The concatenated descriptor must contain 1-22 characters.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "transfer_data": {
+ "description": "The parameters that you can use to automatically create a Transfer.\nLearn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_creation_params",
+ "type": "object"
+ },
+ "transfer_group": {
+ "description": "A string that identifies the resulting payment as part of a group. Learn more about the [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers).",
+ "type": "string"
+ },
+ "use_stripe_sdk": {
+ "description": "Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_intents/search": {
+ "get": {
+ "description": "Search for PaymentIntents you’ve previously created using Stripe’s Search Query Language.\nDon’t use search in read-after-write flows where strict consistency is necessary. Under normal operating\nconditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up\nto an hour behind during outages. Search functionality is not available to merchants in India.
",
+ "operationId": "GetPaymentIntentsSearch",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.",
+ "in": "query",
+ "name": "page",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for payment intents](https://stripe.com/docs/search#query-fields-for-payment-intents).",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/payment_intent"
+ },
+ "type": "array"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "next_page": {
+ "maxLength": 5000,
+ "nullable": true,
+ "type": "string"
+ },
+ "object": {
+ "description": "String representing the object's type. Objects of the same type share the same value.",
+ "enum": [
+ "search_result"
+ ],
+ "type": "string"
+ },
+ "total_count": {
+ "description": "The total number of objects that match the query, only accurate up to 10,000.",
+ "type": "integer"
+ },
+ "url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "SearchResult",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_intents/{intent}": {
+ "get": {
+ "description": "Retrieves the details of a PaymentIntent that has previously been created.
\n\nYou can retrieve a PaymentIntent client-side using a publishable key when the client_secret
is in the query string.
\n\nIf you retrieve a PaymentIntent with a publishable key, it only returns a subset of properties. Refer to the payment intent object reference for more details.
",
+ "operationId": "GetPaymentIntentsIntent",
+ "parameters": [
+ {
+ "description": "The client secret of the PaymentIntent. We require it if you use a publishable key to retrieve the source.",
+ "in": "query",
+ "name": "client_secret",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates properties on a PaymentIntent object without confirming.
\n\nDepending on which properties you update, you might need to confirm the\nPaymentIntent again. For example, updating the payment_method
\nalways requires you to confirm the PaymentIntent again. If you prefer to\nupdate and confirm at the same time, we recommend updating properties through\nthe confirm API instead.
",
+ "operationId": "PostPaymentIntentsIntent",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "application_fee_amount": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_types": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "receipt_email": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).",
+ "type": "integer"
+ },
+ "application_fee_amount": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts)."
+ },
+ "capture_method": {
+ "description": "Controls when the funds will be captured from the customer's account.",
+ "enum": [
+ "automatic",
+ "automatic_async",
+ "manual"
+ ],
+ "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": {
+ "description": "ID of the Customer this PaymentIntent belongs to, if one exists.\n\nPayment methods attached to other Customers cannot be used with this PaymentIntent.\n\nIf [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.corp.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "payment_method": {
+ "description": "ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent. To unset this field to null, pass in an empty string.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "payment_method_configuration": {
+ "description": "The ID of the payment method configuration to use with this PaymentIntent.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "payment_method_data": {
+ "description": "If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear\nin the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method)\nproperty on the PaymentIntent.",
+ "properties": {
+ "acss_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "institution_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "transit_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "institution_number",
+ "transit_number"
+ ],
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "affirm": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "afterpay_clearpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "alipay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "allow_redisplay": {
+ "enum": [
+ "always",
+ "limited",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "amazon_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "au_becs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "bsb_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "bsb_number"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "bacs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "sort_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "bancontact": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "billing_details": {
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "billing_details_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "email": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "name": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "billing_details_inner_params",
+ "type": "object"
+ },
+ "blik": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "boleto": {
+ "properties": {
+ "tax_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "tax_id"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "cashapp": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "customer_balance": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "eps": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "arzte_und_apotheker_bank",
+ "austrian_anadi_bank_ag",
+ "bank_austria",
+ "bankhaus_carl_spangler",
+ "bankhaus_schelhammer_und_schattera_ag",
+ "bawag_psk_ag",
+ "bks_bank_ag",
+ "brull_kallmus_bank_ag",
+ "btv_vier_lander_bank",
+ "capital_bank_grawe_gruppe_ag",
+ "deutsche_bank_ag",
+ "dolomitenbank",
+ "easybank_ag",
+ "erste_bank_und_sparkassen",
+ "hypo_alpeadriabank_international_ag",
+ "hypo_bank_burgenland_aktiengesellschaft",
+ "hypo_noe_lb_fur_niederosterreich_u_wien",
+ "hypo_oberosterreich_salzburg_steiermark",
+ "hypo_tirol_bank_ag",
+ "hypo_vorarlberg_bank_ag",
+ "marchfelder_bank",
+ "oberbank_ag",
+ "raiffeisen_bankengruppe_osterreich",
+ "schoellerbank_ag",
+ "sparda_bank_wien",
+ "volksbank_gruppe",
+ "volkskreditbank_ag",
+ "vr_bank_braunau"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "fpx": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "affin_bank",
+ "agrobank",
+ "alliance_bank",
+ "ambank",
+ "bank_islam",
+ "bank_muamalat",
+ "bank_of_china",
+ "bank_rakyat",
+ "bsn",
+ "cimb",
+ "deutsche_bank",
+ "hong_leong_bank",
+ "hsbc",
+ "kfh",
+ "maybank2e",
+ "maybank2u",
+ "ocbc",
+ "pb_enterprise",
+ "public_bank",
+ "rhb",
+ "standard_chartered",
+ "uob"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "bank"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "giropay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "grabpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "ideal": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "abn_amro",
+ "asn_bank",
+ "bunq",
+ "handelsbanken",
+ "ing",
+ "knab",
+ "moneyou",
+ "n26",
+ "nn",
+ "rabobank",
+ "regiobank",
+ "revolut",
+ "sns_bank",
+ "triodos_bank",
+ "van_lanschot",
+ "yoursafe"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "interac_present": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "klarna": {
+ "properties": {
+ "dob": {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth",
+ "type": "object"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "konbini": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "link": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "mobilepay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "multibanco": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "oxxo": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "p24": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "alior_bank",
+ "bank_millennium",
+ "bank_nowy_bfg_sa",
+ "bank_pekao_sa",
+ "banki_spbdzielcze",
+ "blik",
+ "bnp_paribas",
+ "boz",
+ "citi_handlowy",
+ "credit_agricole",
+ "envelobank",
+ "etransfer_pocztowy24",
+ "getin_bank",
+ "ideabank",
+ "ing",
+ "inteligo",
+ "mbank_mtransfer",
+ "nest_przelew",
+ "noble_pay",
+ "pbac_z_ipko",
+ "plus_bank",
+ "santander_przelew24",
+ "tmobile_usbugi_bankowe",
+ "toyota_bank",
+ "velobank",
+ "volkswagen_bank"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "paynow": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "paypal": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "pix": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "promptpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "radar_options": {
+ "properties": {
+ "session": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "radar_options_with_hidden_options",
+ "type": "object"
+ },
+ "revolut_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "properties": {
+ "iban": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "iban"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "sofort": {
+ "properties": {
+ "country": {
+ "enum": [
+ "AT",
+ "BE",
+ "DE",
+ "ES",
+ "IT",
+ "NL"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "swish": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "twint": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "acss_debit",
+ "affirm",
+ "afterpay_clearpay",
+ "alipay",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "blik",
+ "boleto",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "klarna",
+ "konbini",
+ "link",
+ "mobilepay",
+ "multibanco",
+ "oxxo",
+ "p24",
+ "paynow",
+ "paypal",
+ "pix",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "twint",
+ "us_bank_account",
+ "wechat_pay",
+ "zip"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "us_bank_account": {
+ "properties": {
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "financial_connections_account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "wechat_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "zip": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "payment_method_data_params",
+ "type": "object"
+ },
+ "payment_method_options": {
+ "description": "Payment-method-specific configuration for this PaymentIntent.",
+ "properties": {
+ "acss_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "custom_mandate_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "interval_description": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "payment_schedule": {
+ "enum": [
+ "combined",
+ "interval",
+ "sporadic"
+ ],
+ "type": "string"
+ },
+ "transaction_type": {
+ "enum": [
+ "business",
+ "personal"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_mandate_options_param",
+ "type": "object"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "affirm": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "preferred_locale": {
+ "maxLength": 30,
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "afterpay_clearpay": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "reference": {
+ "maxLength": 128,
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "alipay": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "amazon_pay": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "au_becs_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "bacs_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "bancontact": {
+ "anyOf": [
+ {
+ "properties": {
+ "preferred_language": {
+ "enum": [
+ "de",
+ "en",
+ "fr",
+ "nl"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "blik": {
+ "anyOf": [
+ {
+ "properties": {
+ "code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "boleto": {
+ "anyOf": [
+ {
+ "properties": {
+ "expires_after_days": {
+ "type": "integer"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "cvc_token": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "installments": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "plan": {
+ "anyOf": [
+ {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "interval": {
+ "enum": [
+ "month"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "fixed_count"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "count",
+ "interval",
+ "type"
+ ],
+ "title": "installment_plan",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "installments_param",
+ "type": "object"
+ },
+ "mandate_options": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_type": {
+ "enum": [
+ "fixed",
+ "maximum"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "end_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "sporadic",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ },
+ "reference": {
+ "maxLength": 80,
+ "type": "string"
+ },
+ "start_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "supported_types": {
+ "items": {
+ "enum": [
+ "india"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "amount",
+ "amount_type",
+ "interval",
+ "reference",
+ "start_date"
+ ],
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "network": {
+ "enum": [
+ "amex",
+ "cartes_bancaires",
+ "diners",
+ "discover",
+ "eftpos_au",
+ "interac",
+ "jcb",
+ "mastercard",
+ "unionpay",
+ "unknown",
+ "visa"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "request_extended_authorization": {
+ "enum": [
+ "if_available",
+ "never"
+ ],
+ "type": "string"
+ },
+ "request_incremental_authorization": {
+ "enum": [
+ "if_available",
+ "never"
+ ],
+ "type": "string"
+ },
+ "request_multicapture": {
+ "enum": [
+ "if_available",
+ "never"
+ ],
+ "type": "string"
+ },
+ "request_overcapture": {
+ "enum": [
+ "if_available",
+ "never"
+ ],
+ "type": "string"
+ },
+ "request_three_d_secure": {
+ "enum": [
+ "any",
+ "automatic",
+ "challenge"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "require_cvc_recollection": {
+ "type": "boolean"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "statement_descriptor_suffix_kana": {
+ "anyOf": [
+ {
+ "maxLength": 22,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "statement_descriptor_suffix_kanji": {
+ "anyOf": [
+ {
+ "maxLength": 17,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "three_d_secure": {
+ "properties": {
+ "ares_trans_status": {
+ "enum": [
+ "A",
+ "C",
+ "I",
+ "N",
+ "R",
+ "U",
+ "Y"
+ ],
+ "type": "string"
+ },
+ "cryptogram": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "electronic_commerce_indicator": {
+ "enum": [
+ "01",
+ "02",
+ "05",
+ "06",
+ "07"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "exemption_indicator": {
+ "enum": [
+ "low_risk",
+ "none"
+ ],
+ "type": "string"
+ },
+ "network_options": {
+ "properties": {
+ "cartes_bancaires": {
+ "properties": {
+ "cb_avalgo": {
+ "enum": [
+ "0",
+ "1",
+ "2",
+ "3",
+ "4",
+ "A"
+ ],
+ "type": "string"
+ },
+ "cb_exemption": {
+ "maxLength": 4,
+ "type": "string"
+ },
+ "cb_score": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "cb_avalgo"
+ ],
+ "title": "cartes_bancaires_network_options_param",
+ "type": "object"
+ }
+ },
+ "title": "network_options_param",
+ "type": "object"
+ },
+ "requestor_challenge_indicator": {
+ "maxLength": 2,
+ "type": "string"
+ },
+ "transaction_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "version": {
+ "enum": [
+ "1.0.2",
+ "2.1.0",
+ "2.2.0"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "cryptogram",
+ "transaction_id",
+ "version"
+ ],
+ "title": "payment_method_options_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_intent_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card_present": {
+ "anyOf": [
+ {
+ "properties": {
+ "request_extended_authorization": {
+ "type": "boolean"
+ },
+ "request_incremental_authorization_support": {
+ "type": "boolean"
+ },
+ "routing": {
+ "properties": {
+ "requested_priority": {
+ "enum": [
+ "domestic",
+ "international"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "routing_payment_method_options_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cashapp": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "customer_balance": {
+ "anyOf": [
+ {
+ "properties": {
+ "bank_transfer": {
+ "properties": {
+ "eu_bank_transfer": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "eu_bank_transfer_params",
+ "type": "object"
+ },
+ "requested_address_types": {
+ "items": {
+ "enum": [
+ "aba",
+ "iban",
+ "sepa",
+ "sort_code",
+ "spei",
+ "swift",
+ "zengin"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "type": {
+ "enum": [
+ "eu_bank_transfer",
+ "gb_bank_transfer",
+ "jp_bank_transfer",
+ "mx_bank_transfer",
+ "us_bank_transfer"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "bank_transfer_param",
+ "type": "object"
+ },
+ "funding_type": {
+ "enum": [
+ "bank_transfer"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "eps": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "fpx": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "giropay": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "grabpay": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "ideal": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "interac_present": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "klarna": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "preferred_locale": {
+ "enum": [
+ "cs-CZ",
+ "da-DK",
+ "de-AT",
+ "de-CH",
+ "de-DE",
+ "el-GR",
+ "en-AT",
+ "en-AU",
+ "en-BE",
+ "en-CA",
+ "en-CH",
+ "en-CZ",
+ "en-DE",
+ "en-DK",
+ "en-ES",
+ "en-FI",
+ "en-FR",
+ "en-GB",
+ "en-GR",
+ "en-IE",
+ "en-IT",
+ "en-NL",
+ "en-NO",
+ "en-NZ",
+ "en-PL",
+ "en-PT",
+ "en-RO",
+ "en-SE",
+ "en-US",
+ "es-ES",
+ "es-US",
+ "fi-FI",
+ "fr-BE",
+ "fr-CA",
+ "fr-CH",
+ "fr-FR",
+ "it-CH",
+ "it-IT",
+ "nb-NO",
+ "nl-BE",
+ "nl-NL",
+ "pl-PL",
+ "pt-PT",
+ "ro-RO",
+ "sv-FI",
+ "sv-SE"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "konbini": {
+ "anyOf": [
+ {
+ "properties": {
+ "confirmation_number": {
+ "anyOf": [
+ {
+ "maxLength": 11,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "expires_after_days": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "expires_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_description": {
+ "anyOf": [
+ {
+ "maxLength": 22,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "link": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "mobilepay": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "multibanco": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "oxxo": {
+ "anyOf": [
+ {
+ "properties": {
+ "expires_after_days": {
+ "type": "integer"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "p24": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "tos_shown_and_accepted": {
+ "type": "boolean"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "paynow": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "paypal": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "preferred_locale": {
+ "enum": [
+ "cs-CZ",
+ "da-DK",
+ "de-AT",
+ "de-DE",
+ "de-LU",
+ "el-GR",
+ "en-GB",
+ "en-US",
+ "es-ES",
+ "fi-FI",
+ "fr-BE",
+ "fr-FR",
+ "fr-LU",
+ "hu-HU",
+ "it-IT",
+ "nl-BE",
+ "nl-NL",
+ "pl-PL",
+ "pt-PT",
+ "sk-SK",
+ "sv-SE"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "reference": {
+ "maxLength": 127,
+ "type": "string"
+ },
+ "risk_correlation_id": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "pix": {
+ "anyOf": [
+ {
+ "properties": {
+ "expires_after_seconds": {
+ "type": "integer"
+ },
+ "expires_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "promptpay": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "revolut_pay": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "sepa_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {},
+ "title": "payment_method_options_mandate_options_param",
+ "type": "object"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "sofort": {
+ "anyOf": [
+ {
+ "properties": {
+ "preferred_language": {
+ "enum": [
+ "",
+ "de",
+ "en",
+ "es",
+ "fr",
+ "it",
+ "nl",
+ "pl"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "swish": {
+ "anyOf": [
+ {
+ "properties": {
+ "reference": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "twint": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "us_bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "financial_connections": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "linked_account_options_filters_param",
+ "type": "object"
+ },
+ "permissions": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "return_url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "linked_account_options_param",
+ "type": "object"
+ },
+ "mandate_options": {
+ "properties": {
+ "collection_method": {
+ "enum": [
+ "",
+ "paper"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "networks": {
+ "properties": {
+ "requested": {
+ "items": {
+ "enum": [
+ "ach",
+ "us_domestic_wire"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "networks_options_param",
+ "type": "object"
+ },
+ "preferred_settlement_speed": {
+ "enum": [
+ "",
+ "fastest",
+ "standard"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "wechat_pay": {
+ "anyOf": [
+ {
+ "properties": {
+ "app_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "client": {
+ "enum": [
+ "android",
+ "ios",
+ "web"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "client"
+ ],
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "zip": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "payment_method_types": {
+ "description": "The list of payment method types (for example, card) that this PaymentIntent can use. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "receipt_email": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails)."
+ },
+ "setup_future_usage": {
+ "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).\n\nIf you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.",
+ "enum": [
+ "",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "shipping": {
+ "anyOf": [
+ {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "carrier": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tracking_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "optional_fields_shipping",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Shipping information for this PaymentIntent."
+ },
+ "statement_descriptor": {
+ "description": "For card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "statement_descriptor_suffix": {
+ "description": "Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "transfer_data": {
+ "description": "Use this parameter to automatically create a Transfer when the payment succeeds. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
+ "properties": {
+ "amount": {
+ "type": "integer"
+ }
+ },
+ "title": "transfer_data_update_params",
+ "type": "object"
+ },
+ "transfer_group": {
+ "description": "A string that identifies the resulting payment as part of a group. You can only provide `transfer_group` if it hasn't been set. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_intents/{intent}/apply_customer_balance": {
+ "post": {
+ "description": "Manually reconcile the remaining amount for a customer_balance
PaymentIntent.
",
+ "operationId": "PostPaymentIntentsIntentApplyCustomerBalance",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Amount that you intend to apply to this PaymentIntent from the customer’s cash balance.\n\nA positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (for example, 100 cents to charge 1 USD or 100 to charge 100 JPY, a zero-decimal currency).\n\nThe maximum amount is the amount of the PaymentIntent.\n\nWhen you omit the amount, it defaults to the remaining amount requested on the PaymentIntent.",
+ "type": "integer"
+ },
+ "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"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_intents/{intent}/cancel": {
+ "post": {
+ "description": "You can cancel a PaymentIntent object when it’s in one of these statuses: requires_payment_method
, requires_capture
, requires_confirmation
, requires_action
or, in rare cases, processing
.
\n\nAfter it’s canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status
of requires_capture
, the remaining amount_capturable
is automatically refunded.
\n\nYou can’t cancel the PaymentIntent for a Checkout Session. Expire the Checkout Session instead.
",
+ "operationId": "PostPaymentIntentsIntentCancel",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "cancellation_reason": {
+ "description": "Reason for canceling this PaymentIntent. Possible values are: `duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned`",
+ "enum": [
+ "abandoned",
+ "duplicate",
+ "fraudulent",
+ "requested_by_customer"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_intents/{intent}/capture": {
+ "post": {
+ "description": "Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture
.
\n\nUncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation.
\n\nLearn more about separate authorization and capture.
",
+ "operationId": "PostPaymentIntentsIntentCapture",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount_to_capture": {
+ "description": "The amount to capture from the PaymentIntent, which must be less than or equal to the original amount. Any additional amount is automatically refunded. Defaults to the full `amount_capturable` if it's not provided.",
+ "type": "integer"
+ },
+ "application_fee_amount": {
+ "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
+ "type": "integer"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "final_capture": {
+ "description": "Defaults to `true`. When capturing a PaymentIntent, setting `final_capture` to `false` notifies Stripe to not release the remaining uncaptured funds to make sure that they're captured in future requests. You can only use this setting when [multicapture](https://stripe.com/docs/payments/multicapture) is available for PaymentIntents.",
+ "type": "boolean"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "statement_descriptor": {
+ "description": "For card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "statement_descriptor_suffix": {
+ "description": "Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. The concatenated descriptor must be 1-22 characters long.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "transfer_data": {
+ "description": "The parameters that you can use to automatically create a transfer after the payment\nis captured. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
+ "properties": {
+ "amount": {
+ "type": "integer"
+ }
+ },
+ "title": "transfer_data_update_params",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_intents/{intent}/confirm": {
+ "post": {
+ "description": "Confirm that your customer intends to pay with current or provided\npayment method. Upon confirmation, the PaymentIntent will attempt to initiate\na payment.\nIf the selected payment method requires additional authentication steps, the\nPaymentIntent will transition to the requires_action
status and\nsuggest additional actions via next_action
. If payment fails,\nthe PaymentIntent transitions to the requires_payment_method
status or the\ncanceled
status if the confirmation limit is reached. If\npayment succeeds, the PaymentIntent will transition to the succeeded
\nstatus (or requires_capture
, if capture_method
is set to manual
).\nIf the confirmation_method
is automatic
, payment may be attempted\nusing our client SDKs\nand the PaymentIntent’s client_secret.\nAfter next_action
s are handled by the client, no additional\nconfirmation is required to complete the payment.\nIf the confirmation_method
is manual
, all payment attempts must be\ninitiated using a secret key.\nIf any actions are required for the payment, the PaymentIntent will\nreturn to the requires_confirmation
state\nafter those actions are completed. Your server needs to then\nexplicitly re-confirm the PaymentIntent to initiate the next payment\nattempt.
",
+ "operationId": "PostPaymentIntentsIntentConfirm",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "mandate_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "off_session": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_types": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "radar_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "receipt_email": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "capture_method": {
+ "description": "Controls when the funds will be captured from the customer's account.",
+ "enum": [
+ "automatic",
+ "automatic_async",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "client_secret": {
+ "description": "The client secret of the PaymentIntent.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "confirmation_token": {
+ "description": "ID of the ConfirmationToken used to confirm this PaymentIntent.\n\nIf the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "error_on_requires_action": {
+ "description": "Set to `true` to fail the payment attempt if the PaymentIntent transitions into `requires_action`. This parameter is intended for simpler integrations that do not handle customer actions, like [saving cards without authentication](https://stripe.com/docs/payments/save-card-without-authentication).",
+ "type": "boolean"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "mandate": {
+ "description": "ID of the mandate that's used for this payment.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "mandate_data": {
+ "anyOf": [
+ {
+ "properties": {
+ "customer_acceptance": {
+ "properties": {
+ "accepted_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "offline": {
+ "properties": {},
+ "title": "offline_param",
+ "type": "object"
+ },
+ "online": {
+ "properties": {
+ "ip_address": {
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ip_address",
+ "user_agent"
+ ],
+ "title": "online_param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "offline",
+ "online"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "customer_acceptance_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "customer_acceptance"
+ ],
+ "title": "secret_key_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ },
+ {
+ "description": "This hash contains details about the Mandate to create",
+ "properties": {
+ "customer_acceptance": {
+ "properties": {
+ "online": {
+ "properties": {
+ "ip_address": {
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "online_param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "online"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "online",
+ "type"
+ ],
+ "title": "customer_acceptance_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "customer_acceptance"
+ ],
+ "title": "client_key_param",
+ "type": "object"
+ }
+ ]
+ },
+ "off_session": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "enum": [
+ "one_off",
+ "recurring"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "Set to `true` to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards)."
+ },
+ "payment_method": {
+ "description": "ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "payment_method_data": {
+ "description": "If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear\nin the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method)\nproperty on the PaymentIntent.",
+ "properties": {
+ "acss_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "institution_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "transit_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "institution_number",
+ "transit_number"
+ ],
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "affirm": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "afterpay_clearpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "alipay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "allow_redisplay": {
+ "enum": [
+ "always",
+ "limited",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "amazon_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "au_becs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "bsb_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "bsb_number"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "bacs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "sort_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "bancontact": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "billing_details": {
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "billing_details_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "email": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "name": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "billing_details_inner_params",
+ "type": "object"
+ },
+ "blik": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "boleto": {
+ "properties": {
+ "tax_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "tax_id"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "cashapp": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "customer_balance": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "eps": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "arzte_und_apotheker_bank",
+ "austrian_anadi_bank_ag",
+ "bank_austria",
+ "bankhaus_carl_spangler",
+ "bankhaus_schelhammer_und_schattera_ag",
+ "bawag_psk_ag",
+ "bks_bank_ag",
+ "brull_kallmus_bank_ag",
+ "btv_vier_lander_bank",
+ "capital_bank_grawe_gruppe_ag",
+ "deutsche_bank_ag",
+ "dolomitenbank",
+ "easybank_ag",
+ "erste_bank_und_sparkassen",
+ "hypo_alpeadriabank_international_ag",
+ "hypo_bank_burgenland_aktiengesellschaft",
+ "hypo_noe_lb_fur_niederosterreich_u_wien",
+ "hypo_oberosterreich_salzburg_steiermark",
+ "hypo_tirol_bank_ag",
+ "hypo_vorarlberg_bank_ag",
+ "marchfelder_bank",
+ "oberbank_ag",
+ "raiffeisen_bankengruppe_osterreich",
+ "schoellerbank_ag",
+ "sparda_bank_wien",
+ "volksbank_gruppe",
+ "volkskreditbank_ag",
+ "vr_bank_braunau"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "fpx": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "affin_bank",
+ "agrobank",
+ "alliance_bank",
+ "ambank",
+ "bank_islam",
+ "bank_muamalat",
+ "bank_of_china",
+ "bank_rakyat",
+ "bsn",
+ "cimb",
+ "deutsche_bank",
+ "hong_leong_bank",
+ "hsbc",
+ "kfh",
+ "maybank2e",
+ "maybank2u",
+ "ocbc",
+ "pb_enterprise",
+ "public_bank",
+ "rhb",
+ "standard_chartered",
+ "uob"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "bank"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "giropay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "grabpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "ideal": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "abn_amro",
+ "asn_bank",
+ "bunq",
+ "handelsbanken",
+ "ing",
+ "knab",
+ "moneyou",
+ "n26",
+ "nn",
+ "rabobank",
+ "regiobank",
+ "revolut",
+ "sns_bank",
+ "triodos_bank",
+ "van_lanschot",
+ "yoursafe"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "interac_present": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "klarna": {
+ "properties": {
+ "dob": {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth",
+ "type": "object"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "konbini": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "link": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "mobilepay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "multibanco": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "oxxo": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "p24": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "alior_bank",
+ "bank_millennium",
+ "bank_nowy_bfg_sa",
+ "bank_pekao_sa",
+ "banki_spbdzielcze",
+ "blik",
+ "bnp_paribas",
+ "boz",
+ "citi_handlowy",
+ "credit_agricole",
+ "envelobank",
+ "etransfer_pocztowy24",
+ "getin_bank",
+ "ideabank",
+ "ing",
+ "inteligo",
+ "mbank_mtransfer",
+ "nest_przelew",
+ "noble_pay",
+ "pbac_z_ipko",
+ "plus_bank",
+ "santander_przelew24",
+ "tmobile_usbugi_bankowe",
+ "toyota_bank",
+ "velobank",
+ "volkswagen_bank"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "paynow": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "paypal": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "pix": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "promptpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "radar_options": {
+ "properties": {
+ "session": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "radar_options_with_hidden_options",
+ "type": "object"
+ },
+ "revolut_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "properties": {
+ "iban": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "iban"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "sofort": {
+ "properties": {
+ "country": {
+ "enum": [
+ "AT",
+ "BE",
+ "DE",
+ "ES",
+ "IT",
+ "NL"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "swish": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "twint": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "acss_debit",
+ "affirm",
+ "afterpay_clearpay",
+ "alipay",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "blik",
+ "boleto",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "klarna",
+ "konbini",
+ "link",
+ "mobilepay",
+ "multibanco",
+ "oxxo",
+ "p24",
+ "paynow",
+ "paypal",
+ "pix",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "twint",
+ "us_bank_account",
+ "wechat_pay",
+ "zip"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "us_bank_account": {
+ "properties": {
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "financial_connections_account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "wechat_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "zip": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "payment_method_data_params",
+ "type": "object"
+ },
+ "payment_method_options": {
+ "description": "Payment method-specific configuration for this PaymentIntent.",
+ "properties": {
+ "acss_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "custom_mandate_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "interval_description": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "payment_schedule": {
+ "enum": [
+ "combined",
+ "interval",
+ "sporadic"
+ ],
+ "type": "string"
+ },
+ "transaction_type": {
+ "enum": [
+ "business",
+ "personal"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_mandate_options_param",
+ "type": "object"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "affirm": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "preferred_locale": {
+ "maxLength": 30,
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "afterpay_clearpay": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "reference": {
+ "maxLength": 128,
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "alipay": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "amazon_pay": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "au_becs_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "bacs_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "bancontact": {
+ "anyOf": [
+ {
+ "properties": {
+ "preferred_language": {
+ "enum": [
+ "de",
+ "en",
+ "fr",
+ "nl"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "blik": {
+ "anyOf": [
+ {
+ "properties": {
+ "code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "boleto": {
+ "anyOf": [
+ {
+ "properties": {
+ "expires_after_days": {
+ "type": "integer"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "cvc_token": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "installments": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "plan": {
+ "anyOf": [
+ {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "interval": {
+ "enum": [
+ "month"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "fixed_count"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "count",
+ "interval",
+ "type"
+ ],
+ "title": "installment_plan",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "installments_param",
+ "type": "object"
+ },
+ "mandate_options": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_type": {
+ "enum": [
+ "fixed",
+ "maximum"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "end_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "sporadic",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ },
+ "reference": {
+ "maxLength": 80,
+ "type": "string"
+ },
+ "start_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "supported_types": {
+ "items": {
+ "enum": [
+ "india"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "amount",
+ "amount_type",
+ "interval",
+ "reference",
+ "start_date"
+ ],
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "network": {
+ "enum": [
+ "amex",
+ "cartes_bancaires",
+ "diners",
+ "discover",
+ "eftpos_au",
+ "interac",
+ "jcb",
+ "mastercard",
+ "unionpay",
+ "unknown",
+ "visa"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "request_extended_authorization": {
+ "enum": [
+ "if_available",
+ "never"
+ ],
+ "type": "string"
+ },
+ "request_incremental_authorization": {
+ "enum": [
+ "if_available",
+ "never"
+ ],
+ "type": "string"
+ },
+ "request_multicapture": {
+ "enum": [
+ "if_available",
+ "never"
+ ],
+ "type": "string"
+ },
+ "request_overcapture": {
+ "enum": [
+ "if_available",
+ "never"
+ ],
+ "type": "string"
+ },
+ "request_three_d_secure": {
+ "enum": [
+ "any",
+ "automatic",
+ "challenge"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "require_cvc_recollection": {
+ "type": "boolean"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "statement_descriptor_suffix_kana": {
+ "anyOf": [
+ {
+ "maxLength": 22,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "statement_descriptor_suffix_kanji": {
+ "anyOf": [
+ {
+ "maxLength": 17,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "three_d_secure": {
+ "properties": {
+ "ares_trans_status": {
+ "enum": [
+ "A",
+ "C",
+ "I",
+ "N",
+ "R",
+ "U",
+ "Y"
+ ],
+ "type": "string"
+ },
+ "cryptogram": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "electronic_commerce_indicator": {
+ "enum": [
+ "01",
+ "02",
+ "05",
+ "06",
+ "07"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "exemption_indicator": {
+ "enum": [
+ "low_risk",
+ "none"
+ ],
+ "type": "string"
+ },
+ "network_options": {
+ "properties": {
+ "cartes_bancaires": {
+ "properties": {
+ "cb_avalgo": {
+ "enum": [
+ "0",
+ "1",
+ "2",
+ "3",
+ "4",
+ "A"
+ ],
+ "type": "string"
+ },
+ "cb_exemption": {
+ "maxLength": 4,
+ "type": "string"
+ },
+ "cb_score": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "cb_avalgo"
+ ],
+ "title": "cartes_bancaires_network_options_param",
+ "type": "object"
+ }
+ },
+ "title": "network_options_param",
+ "type": "object"
+ },
+ "requestor_challenge_indicator": {
+ "maxLength": 2,
+ "type": "string"
+ },
+ "transaction_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "version": {
+ "enum": [
+ "1.0.2",
+ "2.1.0",
+ "2.2.0"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "cryptogram",
+ "transaction_id",
+ "version"
+ ],
+ "title": "payment_method_options_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_intent_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card_present": {
+ "anyOf": [
+ {
+ "properties": {
+ "request_extended_authorization": {
+ "type": "boolean"
+ },
+ "request_incremental_authorization_support": {
+ "type": "boolean"
+ },
+ "routing": {
+ "properties": {
+ "requested_priority": {
+ "enum": [
+ "domestic",
+ "international"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "routing_payment_method_options_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "cashapp": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "customer_balance": {
+ "anyOf": [
+ {
+ "properties": {
+ "bank_transfer": {
+ "properties": {
+ "eu_bank_transfer": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "eu_bank_transfer_params",
+ "type": "object"
+ },
+ "requested_address_types": {
+ "items": {
+ "enum": [
+ "aba",
+ "iban",
+ "sepa",
+ "sort_code",
+ "spei",
+ "swift",
+ "zengin"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "type": {
+ "enum": [
+ "eu_bank_transfer",
+ "gb_bank_transfer",
+ "jp_bank_transfer",
+ "mx_bank_transfer",
+ "us_bank_transfer"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "bank_transfer_param",
+ "type": "object"
+ },
+ "funding_type": {
+ "enum": [
+ "bank_transfer"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "eps": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "fpx": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "giropay": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "grabpay": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "ideal": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "interac_present": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "klarna": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "preferred_locale": {
+ "enum": [
+ "cs-CZ",
+ "da-DK",
+ "de-AT",
+ "de-CH",
+ "de-DE",
+ "el-GR",
+ "en-AT",
+ "en-AU",
+ "en-BE",
+ "en-CA",
+ "en-CH",
+ "en-CZ",
+ "en-DE",
+ "en-DK",
+ "en-ES",
+ "en-FI",
+ "en-FR",
+ "en-GB",
+ "en-GR",
+ "en-IE",
+ "en-IT",
+ "en-NL",
+ "en-NO",
+ "en-NZ",
+ "en-PL",
+ "en-PT",
+ "en-RO",
+ "en-SE",
+ "en-US",
+ "es-ES",
+ "es-US",
+ "fi-FI",
+ "fr-BE",
+ "fr-CA",
+ "fr-CH",
+ "fr-FR",
+ "it-CH",
+ "it-IT",
+ "nb-NO",
+ "nl-BE",
+ "nl-NL",
+ "pl-PL",
+ "pt-PT",
+ "ro-RO",
+ "sv-FI",
+ "sv-SE"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "konbini": {
+ "anyOf": [
+ {
+ "properties": {
+ "confirmation_number": {
+ "anyOf": [
+ {
+ "maxLength": 11,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "expires_after_days": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "expires_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "product_description": {
+ "anyOf": [
+ {
+ "maxLength": 22,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "link": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "mobilepay": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "multibanco": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "oxxo": {
+ "anyOf": [
+ {
+ "properties": {
+ "expires_after_days": {
+ "type": "integer"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "p24": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ },
+ "tos_shown_and_accepted": {
+ "type": "boolean"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "paynow": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "paypal": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "preferred_locale": {
+ "enum": [
+ "cs-CZ",
+ "da-DK",
+ "de-AT",
+ "de-DE",
+ "de-LU",
+ "el-GR",
+ "en-GB",
+ "en-US",
+ "es-ES",
+ "fi-FI",
+ "fr-BE",
+ "fr-FR",
+ "fr-LU",
+ "hu-HU",
+ "it-IT",
+ "nl-BE",
+ "nl-NL",
+ "pl-PL",
+ "pt-PT",
+ "sk-SK",
+ "sv-SE"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "reference": {
+ "maxLength": 127,
+ "type": "string"
+ },
+ "risk_correlation_id": {
+ "maxLength": 32,
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "pix": {
+ "anyOf": [
+ {
+ "properties": {
+ "expires_after_seconds": {
+ "type": "integer"
+ },
+ "expires_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "promptpay": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "revolut_pay": {
+ "anyOf": [
+ {
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "sepa_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {},
+ "title": "payment_method_options_mandate_options_param",
+ "type": "object"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "sofort": {
+ "anyOf": [
+ {
+ "properties": {
+ "preferred_language": {
+ "enum": [
+ "",
+ "de",
+ "en",
+ "es",
+ "fr",
+ "it",
+ "nl",
+ "pl"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "swish": {
+ "anyOf": [
+ {
+ "properties": {
+ "reference": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "twint": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "us_bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "financial_connections": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "linked_account_options_filters_param",
+ "type": "object"
+ },
+ "permissions": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "return_url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "linked_account_options_param",
+ "type": "object"
+ },
+ "mandate_options": {
+ "properties": {
+ "collection_method": {
+ "enum": [
+ "",
+ "paper"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "networks": {
+ "properties": {
+ "requested": {
+ "items": {
+ "enum": [
+ "ach",
+ "us_domestic_wire"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "networks_options_param",
+ "type": "object"
+ },
+ "preferred_settlement_speed": {
+ "enum": [
+ "",
+ "fastest",
+ "standard"
+ ],
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "",
+ "none",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "payment_intent_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "wechat_pay": {
+ "anyOf": [
+ {
+ "properties": {
+ "app_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "client": {
+ "enum": [
+ "android",
+ "ios",
+ "web"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "client"
+ ],
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "zip": {
+ "anyOf": [
+ {
+ "properties": {
+ "setup_future_usage": {
+ "enum": [
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "payment_method_types": {
+ "description": "The list of payment method types (for example, a card) that this PaymentIntent can use. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "radar_options": {
+ "description": "Options to configure Radar. Learn more about [Radar Sessions](https://stripe.com/docs/radar/radar-session).",
+ "properties": {
+ "session": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "radar_options_with_hidden_options",
+ "type": "object"
+ },
+ "receipt_email": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails)."
+ },
+ "return_url": {
+ "description": "The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site.\nIf you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme.\nThis parameter is only used for cards and other redirect-based payment methods.",
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).\n\nIf you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.",
+ "enum": [
+ "",
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "shipping": {
+ "anyOf": [
+ {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "carrier": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tracking_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "optional_fields_shipping",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Shipping information for this PaymentIntent."
+ },
+ "use_stripe_sdk": {
+ "description": "Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_intents/{intent}/increment_authorization": {
+ "post": {
+ "description": "Perform an incremental authorization on an eligible\nPaymentIntent. To be eligible, the\nPaymentIntent’s status must be requires_capture
and\nincremental_authorization_supported\nmust be true
.
\n\nIncremental authorizations attempt to increase the authorized amount on\nyour customer’s card to the new, higher amount
provided. Similar to the\ninitial authorization, incremental authorizations can be declined. A\nsingle PaymentIntent can call this endpoint multiple times to further\nincrease the authorized amount.
\n\nIf the incremental authorization succeeds, the PaymentIntent object\nreturns with the updated\namount.\nIf the incremental authorization fails, a\ncard_declined error returns, and no other\nfields on the PaymentIntent or Charge update. The PaymentIntent\nobject remains capturable for the previously authorized amount.
\n\nEach PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines.\nAfter it’s captured, a PaymentIntent can no longer be incremented.
\n\nLearn more about incremental authorizations.
",
+ "operationId": "PostPaymentIntentsIntentIncrementAuthorization",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "The updated total amount that you intend to collect from the cardholder. This amount must be greater than the currently authorized amount.",
+ "type": "integer"
+ },
+ "application_fee_amount": {
+ "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
+ "type": "integer"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "statement_descriptor": {
+ "description": "For card charges, use [statement_descriptor_suffix](https://stripe.com/docs/payments/account/statement-descriptors#dynamic). Otherwise, you can use this value as the complete description of a charge on your customers' statements. It must contain at least one letter and be 1–22 characters long.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "transfer_data": {
+ "description": "The parameters used to automatically create a transfer after the payment is captured.\nLearn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
+ "properties": {
+ "amount": {
+ "type": "integer"
+ }
+ },
+ "title": "transfer_data_update_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "amount"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_intents/{intent}/verify_microdeposits": {
+ "post": {
+ "description": "Verifies microdeposits on a PaymentIntent object.
",
+ "operationId": "PostPaymentIntentsIntentVerifyMicrodeposits",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "amounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amounts": {
+ "description": "Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "client_secret": {
+ "description": "The client secret of the PaymentIntent.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "descriptor_code": {
+ "description": "A six-character code starting with SM present in the microdeposit sent to the bank account.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_links": {
+ "get": {
+ "description": "Returns a list of your payment links.
",
+ "operationId": "GetPaymentLinks",
+ "parameters": [
+ {
+ "description": "Only return payment links that are active or inactive (e.g., pass `false` to list all inactive payment links).",
+ "in": "query",
+ "name": "active",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/payment_link"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/payment_links",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PaymentLinksResourcePaymentLinkList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a payment link.
",
+ "operationId": "PostPaymentLinks",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "after_completion": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "automatic_tax": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "consent_collection": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "custom_fields": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "custom_text": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_creation": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "line_items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_intent_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_types": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "phone_number_collection": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "restrictions": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping_address_collection": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "subscription_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax_id_collection": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "after_completion": {
+ "description": "Behavior after the purchase is complete.",
+ "properties": {
+ "hosted_confirmation": {
+ "properties": {
+ "custom_message": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "after_completion_confirmation_page_params",
+ "type": "object"
+ },
+ "redirect": {
+ "properties": {
+ "url": {
+ "maxLength": 2048,
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "title": "after_completion_redirect_params",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "hosted_confirmation",
+ "redirect"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "after_completion_params",
+ "type": "object"
+ },
+ "allow_promotion_codes": {
+ "description": "Enables user redeemable promotion codes.",
+ "type": "boolean"
+ },
+ "application_fee_amount": {
+ "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Can only be applied when there are no line items with recurring prices.",
+ "type": "integer"
+ },
+ "application_fee_percent": {
+ "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field.",
+ "type": "number"
+ },
+ "automatic_tax": {
+ "description": "Configuration for automatic tax collection.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_params",
+ "type": "object"
+ },
+ "billing_address_collection": {
+ "description": "Configuration for collecting the customer's billing address. Defaults to `auto`.",
+ "enum": [
+ "auto",
+ "required"
+ ],
+ "type": "string"
+ },
+ "consent_collection": {
+ "description": "Configure fields to gather active consent from customers.",
+ "properties": {
+ "payment_method_reuse_agreement": {
+ "properties": {
+ "position": {
+ "enum": [
+ "auto",
+ "hidden"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "position"
+ ],
+ "title": "payment_method_reuse_agreement_params",
+ "type": "object"
+ },
+ "promotions": {
+ "enum": [
+ "auto",
+ "none"
+ ],
+ "type": "string"
+ },
+ "terms_of_service": {
+ "enum": [
+ "none",
+ "required"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "consent_collection_params",
+ "type": "object"
+ },
+ "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) and supported by each line item's price.",
+ "type": "string"
+ },
+ "custom_fields": {
+ "description": "Collect additional information from your customer using custom fields. Up to 3 fields are supported.",
+ "items": {
+ "properties": {
+ "dropdown": {
+ "properties": {
+ "options": {
+ "items": {
+ "properties": {
+ "label": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "value": {
+ "maxLength": 100,
+ "type": "string"
+ }
+ },
+ "required": [
+ "label",
+ "value"
+ ],
+ "title": "custom_field_option_param",
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "options"
+ ],
+ "title": "custom_field_dropdown_param",
+ "type": "object"
+ },
+ "key": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "label": {
+ "properties": {
+ "custom": {
+ "maxLength": 50,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "custom"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "custom",
+ "type"
+ ],
+ "title": "custom_field_label_param",
+ "type": "object"
+ },
+ "numeric": {
+ "properties": {
+ "maximum_length": {
+ "type": "integer"
+ },
+ "minimum_length": {
+ "type": "integer"
+ }
+ },
+ "title": "custom_field_numeric_param",
+ "type": "object"
+ },
+ "optional": {
+ "type": "boolean"
+ },
+ "text": {
+ "properties": {
+ "maximum_length": {
+ "type": "integer"
+ },
+ "minimum_length": {
+ "type": "integer"
+ }
+ },
+ "title": "custom_field_text_param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "dropdown",
+ "numeric",
+ "text"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "key",
+ "label",
+ "type"
+ ],
+ "title": "custom_field_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "custom_text": {
+ "description": "Display additional text for your customers using custom text.",
+ "properties": {
+ "after_submit": {
+ "anyOf": [
+ {
+ "properties": {
+ "message": {
+ "maxLength": 1200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ],
+ "title": "custom_text_position_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "shipping_address": {
+ "anyOf": [
+ {
+ "properties": {
+ "message": {
+ "maxLength": 1200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ],
+ "title": "custom_text_position_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "submit": {
+ "anyOf": [
+ {
+ "properties": {
+ "message": {
+ "maxLength": 1200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ],
+ "title": "custom_text_position_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "terms_of_service_acceptance": {
+ "anyOf": [
+ {
+ "properties": {
+ "message": {
+ "maxLength": 1200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ],
+ "title": "custom_text_position_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "custom_text_param",
+ "type": "object"
+ },
+ "customer_creation": {
+ "description": "Configures whether [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link create a [Customer](https://stripe.com/docs/api/customers).",
+ "enum": [
+ "always",
+ "if_required"
+ ],
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "inactive_message": {
+ "description": "The custom message to be displayed to a customer when a payment link is no longer active.",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "invoice_creation": {
+ "description": "Generate a post-purchase Invoice for one-time payments.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "invoice_data": {
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "custom_fields": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "name": {
+ "maxLength": 40,
+ "type": "string"
+ },
+ "value": {
+ "maxLength": 140,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "title": "custom_field_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "description": {
+ "maxLength": 1500,
+ "type": "string"
+ },
+ "footer": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "rendering_options": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_tax_display": {
+ "enum": [
+ "",
+ "exclude_tax",
+ "include_inclusive_tax"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "rendering_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "invoice_settings_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "invoice_creation_create_params",
+ "type": "object"
+ },
+ "line_items": {
+ "description": "The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported.",
+ "items": {
+ "properties": {
+ "adjustable_quantity": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "maximum": {
+ "type": "integer"
+ },
+ "minimum": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "adjustable_quantity_params",
+ "type": "object"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "price",
+ "quantity"
+ ],
+ "title": "line_items_create_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. Metadata associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link.",
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "description": "The account on behalf of which to charge.",
+ "type": "string"
+ },
+ "payment_intent_data": {
+ "description": "A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.",
+ "properties": {
+ "capture_method": {
+ "enum": [
+ "automatic",
+ "automatic_async",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "setup_future_usage": {
+ "enum": [
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "statement_descriptor": {
+ "maxLength": 22,
+ "type": "string"
+ },
+ "statement_descriptor_suffix": {
+ "maxLength": 22,
+ "type": "string"
+ },
+ "transfer_group": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_intent_data_params",
+ "type": "object"
+ },
+ "payment_method_collection": {
+ "description": "Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount.\n\nCan only be set in `subscription` mode. Defaults to `always`.\n\nIf you'd like information on how to collect a payment method outside of Checkout, read the guide on [configuring subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials).",
+ "enum": [
+ "always",
+ "if_required"
+ ],
+ "type": "string"
+ },
+ "payment_method_types": {
+ "description": "The list of payment method types that customers can use. If no value is passed, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods) (20+ payment methods [supported](https://stripe.com/docs/payments/payment-methods/integration-options#payment-method-product-support)).",
+ "items": {
+ "enum": [
+ "affirm",
+ "afterpay_clearpay",
+ "alipay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "blik",
+ "boleto",
+ "card",
+ "cashapp",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "klarna",
+ "konbini",
+ "link",
+ "mobilepay",
+ "multibanco",
+ "oxxo",
+ "p24",
+ "paynow",
+ "paypal",
+ "pix",
+ "promptpay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "twint",
+ "us_bank_account",
+ "wechat_pay",
+ "zip"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "phone_number_collection": {
+ "description": "Controls phone number collection settings during checkout.\n\nWe recommend that you review your privacy policy and check with your legal contacts.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "phone_number_collection_params",
+ "type": "object"
+ },
+ "restrictions": {
+ "description": "Settings that restrict the usage of a payment link.",
+ "properties": {
+ "completed_sessions": {
+ "properties": {
+ "limit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "limit"
+ ],
+ "title": "completed_sessions_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "completed_sessions"
+ ],
+ "title": "restrictions_params",
+ "type": "object"
+ },
+ "shipping_address_collection": {
+ "description": "Configuration for collecting the customer's shipping address.",
+ "properties": {
+ "allowed_countries": {
+ "items": {
+ "enum": [
+ "AC",
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CV",
+ "CW",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SZ",
+ "TA",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "XK",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW",
+ "ZZ"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "allowed_countries"
+ ],
+ "title": "shipping_address_collection_params",
+ "type": "object"
+ },
+ "shipping_options": {
+ "description": "The shipping rate options to apply to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link.",
+ "items": {
+ "properties": {
+ "shipping_rate": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "shipping_option_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "submit_type": {
+ "description": "Describes the type of transaction being performed in order to customize relevant text on the page, such as the submit button. Changing this value will also affect the hostname in the [url](https://stripe.com/docs/api/payment_links/payment_links/object#url) property (example: `donate.stripe.com`).",
+ "enum": [
+ "auto",
+ "book",
+ "donate",
+ "pay"
+ ],
+ "type": "string"
+ },
+ "subscription_data": {
+ "description": "When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`.",
+ "properties": {
+ "description": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "invoice_settings": {
+ "properties": {
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "subscription_data_invoice_settings_params",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "trial_period_days": {
+ "type": "integer"
+ },
+ "trial_settings": {
+ "properties": {
+ "end_behavior": {
+ "properties": {
+ "missing_payment_method": {
+ "enum": [
+ "cancel",
+ "create_invoice",
+ "pause"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "missing_payment_method"
+ ],
+ "title": "end_behavior",
+ "type": "object"
+ }
+ },
+ "required": [
+ "end_behavior"
+ ],
+ "title": "trial_settings_config",
+ "type": "object"
+ }
+ },
+ "title": "subscription_data_params",
+ "type": "object"
+ },
+ "tax_id_collection": {
+ "description": "Controls tax ID collection during checkout.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "tax_id_collection_params",
+ "type": "object"
+ },
+ "transfer_data": {
+ "description": "The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to.",
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "line_items"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_link"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_links/{payment_link}": {
+ "get": {
+ "description": "Retrieve a payment link.
",
+ "operationId": "GetPaymentLinksPaymentLink",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "payment_link",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_link"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates a payment link.
",
+ "operationId": "PostPaymentLinksPaymentLink",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "payment_link",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "after_completion": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "automatic_tax": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "custom_fields": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "custom_text": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "inactive_message": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_creation": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "line_items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_intent_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_types": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "restrictions": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping_address_collection": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "subscription_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax_id_collection": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Whether the payment link's `url` is active. If `false`, customers visiting the URL will be shown a page saying that the link has been deactivated.",
+ "type": "boolean"
+ },
+ "after_completion": {
+ "description": "Behavior after the purchase is complete.",
+ "properties": {
+ "hosted_confirmation": {
+ "properties": {
+ "custom_message": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "after_completion_confirmation_page_params",
+ "type": "object"
+ },
+ "redirect": {
+ "properties": {
+ "url": {
+ "maxLength": 2048,
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "title": "after_completion_redirect_params",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "hosted_confirmation",
+ "redirect"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "after_completion_params",
+ "type": "object"
+ },
+ "allow_promotion_codes": {
+ "description": "Enables user redeemable promotion codes.",
+ "type": "boolean"
+ },
+ "automatic_tax": {
+ "description": "Configuration for automatic tax collection.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_params",
+ "type": "object"
+ },
+ "billing_address_collection": {
+ "description": "Configuration for collecting the customer's billing address. Defaults to `auto`.",
+ "enum": [
+ "auto",
+ "required"
+ ],
+ "type": "string"
+ },
+ "custom_fields": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "dropdown": {
+ "properties": {
+ "options": {
+ "items": {
+ "properties": {
+ "label": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "value": {
+ "maxLength": 100,
+ "type": "string"
+ }
+ },
+ "required": [
+ "label",
+ "value"
+ ],
+ "title": "custom_field_option_param",
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "options"
+ ],
+ "title": "custom_field_dropdown_param",
+ "type": "object"
+ },
+ "key": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "label": {
+ "properties": {
+ "custom": {
+ "maxLength": 50,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "custom"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "custom",
+ "type"
+ ],
+ "title": "custom_field_label_param",
+ "type": "object"
+ },
+ "numeric": {
+ "properties": {
+ "maximum_length": {
+ "type": "integer"
+ },
+ "minimum_length": {
+ "type": "integer"
+ }
+ },
+ "title": "custom_field_numeric_param",
+ "type": "object"
+ },
+ "optional": {
+ "type": "boolean"
+ },
+ "text": {
+ "properties": {
+ "maximum_length": {
+ "type": "integer"
+ },
+ "minimum_length": {
+ "type": "integer"
+ }
+ },
+ "title": "custom_field_text_param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "dropdown",
+ "numeric",
+ "text"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "key",
+ "label",
+ "type"
+ ],
+ "title": "custom_field_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Collect additional information from your customer using custom fields. Up to 3 fields are supported."
+ },
+ "custom_text": {
+ "description": "Display additional text for your customers using custom text.",
+ "properties": {
+ "after_submit": {
+ "anyOf": [
+ {
+ "properties": {
+ "message": {
+ "maxLength": 1200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ],
+ "title": "custom_text_position_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "shipping_address": {
+ "anyOf": [
+ {
+ "properties": {
+ "message": {
+ "maxLength": 1200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ],
+ "title": "custom_text_position_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "submit": {
+ "anyOf": [
+ {
+ "properties": {
+ "message": {
+ "maxLength": 1200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ],
+ "title": "custom_text_position_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "terms_of_service_acceptance": {
+ "anyOf": [
+ {
+ "properties": {
+ "message": {
+ "maxLength": 1200,
+ "type": "string"
+ }
+ },
+ "required": [
+ "message"
+ ],
+ "title": "custom_text_position_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "custom_text_param",
+ "type": "object"
+ },
+ "customer_creation": {
+ "description": "Configures whether [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link create a [Customer](https://stripe.com/docs/api/customers).",
+ "enum": [
+ "always",
+ "if_required"
+ ],
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "inactive_message": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The custom message to be displayed to a customer when a payment link is no longer active."
+ },
+ "invoice_creation": {
+ "description": "Generate a post-purchase Invoice for one-time payments.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "invoice_data": {
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "custom_fields": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "name": {
+ "maxLength": 40,
+ "type": "string"
+ },
+ "value": {
+ "maxLength": 140,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "title": "custom_field_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "description": {
+ "maxLength": 1500,
+ "type": "string"
+ },
+ "footer": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "rendering_options": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_tax_display": {
+ "enum": [
+ "",
+ "exclude_tax",
+ "include_inclusive_tax"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "rendering_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "invoice_settings_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "invoice_creation_update_params",
+ "type": "object"
+ },
+ "line_items": {
+ "description": "The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported.",
+ "items": {
+ "properties": {
+ "adjustable_quantity": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "maximum": {
+ "type": "integer"
+ },
+ "minimum": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "adjustable_quantity_params",
+ "type": "object"
+ },
+ "id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "title": "line_items_update_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. Metadata associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link.",
+ "type": "object"
+ },
+ "payment_intent_data": {
+ "description": "A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.",
+ "properties": {
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 1000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "statement_descriptor": {
+ "anyOf": [
+ {
+ "maxLength": 22,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "statement_descriptor_suffix": {
+ "anyOf": [
+ {
+ "maxLength": 22,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "transfer_group": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_intent_data_update_params",
+ "type": "object"
+ },
+ "payment_method_collection": {
+ "description": "Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount.\n\nCan only be set in `subscription` mode. Defaults to `always`.\n\nIf you'd like information on how to collect a payment method outside of Checkout, read the guide on [configuring subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials).",
+ "enum": [
+ "always",
+ "if_required"
+ ],
+ "type": "string"
+ },
+ "payment_method_types": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "affirm",
+ "afterpay_clearpay",
+ "alipay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "blik",
+ "boleto",
+ "card",
+ "cashapp",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "klarna",
+ "konbini",
+ "link",
+ "mobilepay",
+ "multibanco",
+ "oxxo",
+ "p24",
+ "paynow",
+ "paypal",
+ "pix",
+ "promptpay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "twint",
+ "us_bank_account",
+ "wechat_pay",
+ "zip"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The list of payment method types that customers can use. Pass an empty string to enable dynamic payment methods that use your [payment method settings](https://dashboard.stripe.com/settings/payment_methods)."
+ },
+ "restrictions": {
+ "anyOf": [
+ {
+ "properties": {
+ "completed_sessions": {
+ "properties": {
+ "limit": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "limit"
+ ],
+ "title": "completed_sessions_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "completed_sessions"
+ ],
+ "title": "restrictions_params",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Settings that restrict the usage of a payment link."
+ },
+ "shipping_address_collection": {
+ "anyOf": [
+ {
+ "properties": {
+ "allowed_countries": {
+ "items": {
+ "enum": [
+ "AC",
+ "AD",
+ "AE",
+ "AF",
+ "AG",
+ "AI",
+ "AL",
+ "AM",
+ "AO",
+ "AQ",
+ "AR",
+ "AT",
+ "AU",
+ "AW",
+ "AX",
+ "AZ",
+ "BA",
+ "BB",
+ "BD",
+ "BE",
+ "BF",
+ "BG",
+ "BH",
+ "BI",
+ "BJ",
+ "BL",
+ "BM",
+ "BN",
+ "BO",
+ "BQ",
+ "BR",
+ "BS",
+ "BT",
+ "BV",
+ "BW",
+ "BY",
+ "BZ",
+ "CA",
+ "CD",
+ "CF",
+ "CG",
+ "CH",
+ "CI",
+ "CK",
+ "CL",
+ "CM",
+ "CN",
+ "CO",
+ "CR",
+ "CV",
+ "CW",
+ "CY",
+ "CZ",
+ "DE",
+ "DJ",
+ "DK",
+ "DM",
+ "DO",
+ "DZ",
+ "EC",
+ "EE",
+ "EG",
+ "EH",
+ "ER",
+ "ES",
+ "ET",
+ "FI",
+ "FJ",
+ "FK",
+ "FO",
+ "FR",
+ "GA",
+ "GB",
+ "GD",
+ "GE",
+ "GF",
+ "GG",
+ "GH",
+ "GI",
+ "GL",
+ "GM",
+ "GN",
+ "GP",
+ "GQ",
+ "GR",
+ "GS",
+ "GT",
+ "GU",
+ "GW",
+ "GY",
+ "HK",
+ "HN",
+ "HR",
+ "HT",
+ "HU",
+ "ID",
+ "IE",
+ "IL",
+ "IM",
+ "IN",
+ "IO",
+ "IQ",
+ "IS",
+ "IT",
+ "JE",
+ "JM",
+ "JO",
+ "JP",
+ "KE",
+ "KG",
+ "KH",
+ "KI",
+ "KM",
+ "KN",
+ "KR",
+ "KW",
+ "KY",
+ "KZ",
+ "LA",
+ "LB",
+ "LC",
+ "LI",
+ "LK",
+ "LR",
+ "LS",
+ "LT",
+ "LU",
+ "LV",
+ "LY",
+ "MA",
+ "MC",
+ "MD",
+ "ME",
+ "MF",
+ "MG",
+ "MK",
+ "ML",
+ "MM",
+ "MN",
+ "MO",
+ "MQ",
+ "MR",
+ "MS",
+ "MT",
+ "MU",
+ "MV",
+ "MW",
+ "MX",
+ "MY",
+ "MZ",
+ "NA",
+ "NC",
+ "NE",
+ "NG",
+ "NI",
+ "NL",
+ "NO",
+ "NP",
+ "NR",
+ "NU",
+ "NZ",
+ "OM",
+ "PA",
+ "PE",
+ "PF",
+ "PG",
+ "PH",
+ "PK",
+ "PL",
+ "PM",
+ "PN",
+ "PR",
+ "PS",
+ "PT",
+ "PY",
+ "QA",
+ "RE",
+ "RO",
+ "RS",
+ "RU",
+ "RW",
+ "SA",
+ "SB",
+ "SC",
+ "SE",
+ "SG",
+ "SH",
+ "SI",
+ "SJ",
+ "SK",
+ "SL",
+ "SM",
+ "SN",
+ "SO",
+ "SR",
+ "SS",
+ "ST",
+ "SV",
+ "SX",
+ "SZ",
+ "TA",
+ "TC",
+ "TD",
+ "TF",
+ "TG",
+ "TH",
+ "TJ",
+ "TK",
+ "TL",
+ "TM",
+ "TN",
+ "TO",
+ "TR",
+ "TT",
+ "TV",
+ "TW",
+ "TZ",
+ "UA",
+ "UG",
+ "US",
+ "UY",
+ "UZ",
+ "VA",
+ "VC",
+ "VE",
+ "VG",
+ "VN",
+ "VU",
+ "WF",
+ "WS",
+ "XK",
+ "YE",
+ "YT",
+ "ZA",
+ "ZM",
+ "ZW",
+ "ZZ"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "allowed_countries"
+ ],
+ "title": "shipping_address_collection_params",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Configuration for collecting the customer's shipping address."
+ },
+ "subscription_data": {
+ "description": "When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`.",
+ "properties": {
+ "invoice_settings": {
+ "properties": {
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "subscription_data_invoice_settings_params",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "trial_settings": {
+ "anyOf": [
+ {
+ "properties": {
+ "end_behavior": {
+ "properties": {
+ "missing_payment_method": {
+ "enum": [
+ "cancel",
+ "create_invoice",
+ "pause"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "missing_payment_method"
+ ],
+ "title": "end_behavior",
+ "type": "object"
+ }
+ },
+ "required": [
+ "end_behavior"
+ ],
+ "title": "trial_settings_config",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "subscription_data_update_params",
+ "type": "object"
+ },
+ "tax_id_collection": {
+ "description": "Controls tax ID collection during checkout.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "tax_id_collection_params",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_link"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_links/{payment_link}/line_items": {
+ "get": {
+ "description": "When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
",
+ "operationId": "GetPaymentLinksPaymentLinkLineItems",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "in": "path",
+ "name": "payment_link",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PaymentLinksResourceListLineItems",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_method_configurations": {
+ "get": {
+ "description": "List payment method configurations
",
+ "operationId": "GetPaymentMethodConfigurations",
+ "parameters": [
+ {
+ "description": "The Connect application to filter by.",
+ "explode": true,
+ "in": "query",
+ "name": "application",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "maxLength": 100,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/payment_method_configuration"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/payment_method_configurations",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PaymentMethodConfigResourcePaymentMethodConfigurationsList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a payment method configuration
",
+ "operationId": "PostPaymentMethodConfigurations",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "acss_debit": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "affirm": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "afterpay_clearpay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "alipay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "amazon_pay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "apple_pay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "apple_pay_later": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "au_becs_debit": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "bacs_debit": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "bancontact": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "blik": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "boleto": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "card": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "cartes_bancaires": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "cashapp": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "customer_balance": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "eps": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "fpx": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "giropay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "google_pay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "grabpay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "ideal": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "jcb": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "klarna": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "konbini": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "link": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "mobilepay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "multibanco": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "oxxo": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "p24": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "paynow": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "paypal": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "promptpay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "revolut_pay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "sepa_debit": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "sofort": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "swish": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "twint": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "us_bank_account": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "wechat_pay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "zip": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "acss_debit": {
+ "description": "Canadian pre-authorized debit payments, check this [page](https://stripe.com/docs/payments/acss-debit) for more details like country availability.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "affirm": {
+ "description": "[Affirm](https://www.affirm.com/) gives your customers a way to split purchases over a series of payments. Depending on the purchase, they can pay with four interest-free payments (Split Pay) or pay over a longer term (Installments), which might include interest. Check this [page](https://stripe.com/docs/payments/affirm) for more details like country availability.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "afterpay_clearpay": {
+ "description": "Afterpay gives your customers a way to pay for purchases in installments, check this [page](https://stripe.com/docs/payments/afterpay-clearpay) for more details like country availability. Afterpay is particularly popular among businesses selling fashion, beauty, and sports products.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "alipay": {
+ "description": "Alipay is a digital wallet in China that has more than a billion active users worldwide. Alipay users can pay on the web or on a mobile device using login credentials or their Alipay app. Alipay has a low dispute rate and reduces fraud by authenticating payments using the customer's login credentials. Check this [page](https://stripe.com/docs/payments/alipay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "amazon_pay": {
+ "description": "Amazon Pay is a wallet payment method that lets your customers check out the same way as on Amazon.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "apple_pay": {
+ "description": "Stripe users can accept [Apple Pay](/payments/apple-pay) in iOS applications in iOS 9 and later, and on the web in Safari starting with iOS 10 or macOS Sierra. There are no additional fees to process Apple Pay payments, and the [pricing](/pricing) is the same as other card transactions. Check this [page](https://stripe.com/docs/apple-pay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "apple_pay_later": {
+ "description": "Apple Pay Later, a payment method for customers to buy now and pay later, gives your customers a way to split purchases into four installments across six weeks.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "au_becs_debit": {
+ "description": "Stripe users in Australia can accept Bulk Electronic Clearing System (BECS) direct debit payments from customers with an Australian bank account. Check this [page](https://stripe.com/docs/payments/au-becs-debit) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "bacs_debit": {
+ "description": "Stripe users in the UK can accept Bacs Direct Debit payments from customers with a UK bank account, check this [page](https://stripe.com/docs/payments/payment-methods/bacs-debit) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "bancontact": {
+ "description": "Bancontact is the most popular online payment method in Belgium, with over 15 million cards in circulation. [Customers](https://stripe.com/docs/api/customers) use a Bancontact card or mobile app linked to a Belgian bank account to make online payments that are secure, guaranteed, and confirmed immediately. Check this [page](https://stripe.com/docs/payments/bancontact) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "blik": {
+ "description": "BLIK is a [single use](https://stripe.com/docs/payments/payment-methods#usage) payment method that requires customers to authenticate their payments. When customers want to pay online using BLIK, they request a six-digit code from their banking application and enter it into the payment collection form. Check this [page](https://stripe.com/docs/payments/blik) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "boleto": {
+ "description": "Boleto is an official (regulated by the Central Bank of Brazil) payment method in Brazil. Check this [page](https://stripe.com/docs/payments/boleto) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "card": {
+ "description": "Cards are a popular way for consumers and businesses to pay online or in person. Stripe supports global and local card networks.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "cartes_bancaires": {
+ "description": "Cartes Bancaires is France's local card network. More than 95% of these cards are co-branded with either Visa or Mastercard, meaning you can process these cards over either Cartes Bancaires or the Visa or Mastercard networks. Check this [page](https://stripe.com/docs/payments/cartes-bancaires) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "cashapp": {
+ "description": "Cash App is a popular consumer app in the US that allows customers to bank, invest, send, and receive money using their digital wallet. Check this [page](https://stripe.com/docs/payments/cash-app-pay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "customer_balance": {
+ "description": "Uses a customer’s [cash balance](https://stripe.com/docs/payments/customer-balance) for the payment. The cash balance can be funded via a bank transfer. Check this [page](https://stripe.com/docs/payments/bank-transfers) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "eps": {
+ "description": "EPS is an Austria-based payment method that allows customers to complete transactions online using their bank credentials. EPS is supported by all Austrian banks and is accepted by over 80% of Austrian online retailers. Check this [page](https://stripe.com/docs/payments/eps) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fpx": {
+ "description": "Financial Process Exchange (FPX) is a Malaysia-based payment method that allows customers to complete transactions online using their bank credentials. Bank Negara Malaysia (BNM), the Central Bank of Malaysia, and eleven other major Malaysian financial institutions are members of the PayNet Group, which owns and operates FPX. It is one of the most popular online payment methods in Malaysia, with nearly 90 million transactions in 2018 according to BNM. Check this [page](https://stripe.com/docs/payments/fpx) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "giropay": {
+ "description": "giropay is a German payment method based on online banking, introduced in 2006. It allows customers to complete transactions online using their online banking environment, with funds debited from their bank account. Depending on their bank, customers confirm payments on giropay using a second factor of authentication or a PIN. giropay accounts for 10% of online checkouts in Germany. Check this [page](https://stripe.com/docs/payments/giropay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "google_pay": {
+ "description": "Google Pay allows customers to make payments in your app or website using any credit or debit card saved to their Google Account, including those from Google Play, YouTube, Chrome, or an Android device. Use the Google Pay API to request any credit or debit card stored in your customer's Google account. Check this [page](https://stripe.com/docs/google-pay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "grabpay": {
+ "description": "GrabPay is a payment method developed by [Grab](https://www.grab.com/sg/consumer/finance/pay/). GrabPay is a digital wallet - customers maintain a balance in their wallets that they pay out with. Check this [page](https://stripe.com/docs/payments/grabpay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "ideal": {
+ "description": "iDEAL is a Netherlands-based payment method that allows customers to complete transactions online using their bank credentials. All major Dutch banks are members of Currence, the scheme that operates iDEAL, making it the most popular online payment method in the Netherlands with a share of online transactions close to 55%. Check this [page](https://stripe.com/docs/payments/ideal) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "jcb": {
+ "description": "JCB is a credit card company based in Japan. JCB is currently available in Japan to businesses approved by JCB, and available to all businesses in Australia, Canada, Hong Kong, Japan, New Zealand, Singapore, Switzerland, United Kingdom, United States, and all countries in the European Economic Area except Iceland. Check this [page](https://support.stripe.com/questions/accepting-japan-credit-bureau-%28jcb%29-payments) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "klarna": {
+ "description": "Klarna gives customers a range of [payment options](https://stripe.com/docs/payments/klarna#payment-options) during checkout. Available payment options vary depending on the customer's billing address and the transaction amount. These payment options make it convenient for customers to purchase items in all price ranges. Check this [page](https://stripe.com/docs/payments/klarna) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "konbini": {
+ "description": "Konbini allows customers in Japan to pay for bills and online purchases at convenience stores with cash. Check this [page](https://stripe.com/docs/payments/konbini) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "link": {
+ "description": "[Link](https://stripe.com/docs/payments/link) is a payment method network. With Link, users save their payment details once, then reuse that information to pay with one click for any business on the network.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "mobilepay": {
+ "description": "MobilePay is a [single-use](https://stripe.com/docs/payments/payment-methods#usage) card wallet payment method used in Denmark and Finland. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the MobilePay app. Check this [page](https://stripe.com/docs/payments/mobilepay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "multibanco": {
+ "description": "Stripe users in Europe and the United States can accept Multibanco payments from customers in Portugal using [Sources](https://stripe.com/docs/sources)—a single integration path for creating payments using any supported method.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "name": {
+ "description": "Configuration name.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "oxxo": {
+ "description": "OXXO is a Mexican chain of convenience stores with thousands of locations across Latin America and represents nearly 20% of online transactions in Mexico. OXXO allows customers to pay bills and online purchases in-store with cash. Check this [page](https://stripe.com/docs/payments/oxxo) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "p24": {
+ "description": "Przelewy24 is a Poland-based payment method aggregator that allows customers to complete transactions online using bank transfers and other methods. Bank transfers account for 30% of online payments in Poland and Przelewy24 provides a way for customers to pay with over 165 banks. Check this [page](https://stripe.com/docs/payments/p24) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "parent": {
+ "description": "Configuration's parent configuration. Specify to create a child configuration.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "paynow": {
+ "description": "PayNow is a Singapore-based payment method that allows customers to make a payment using their preferred app from participating banks and participating non-bank financial institutions. Check this [page](https://stripe.com/docs/payments/paynow) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "paypal": {
+ "description": "PayPal, a digital wallet popular with customers in Europe, allows your customers worldwide to pay using their PayPal account. Check this [page](https://stripe.com/docs/payments/paypal) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "promptpay": {
+ "description": "PromptPay is a Thailand-based payment method that allows customers to make a payment using their preferred app from participating banks. Check this [page](https://stripe.com/docs/payments/promptpay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "revolut_pay": {
+ "description": "Revolut Pay, developed by Revolut, a global finance app, is a digital wallet payment method. Revolut Pay uses the customer’s stored balance or cards to fund the payment, and offers the option for non-Revolut customers to save their details after their first purchase.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "description": "The [Single Euro Payments Area (SEPA)](https://en.wikipedia.org/wiki/Single_Euro_Payments_Area) is an initiative of the European Union to simplify payments within and across member countries. SEPA established and enforced banking standards to allow for the direct debiting of every EUR-denominated bank account within the SEPA region, check this [page](https://stripe.com/docs/payments/sepa-debit) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "sofort": {
+ "description": "Stripe users in Europe and the United States can use the [Payment Intents API](https://stripe.com/docs/payments/payment-intents)—a single integration path for creating payments using any supported method—to accept [Sofort](https://www.sofort.com/) payments from customers. Check this [page](https://stripe.com/docs/payments/sofort) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "swish": {
+ "description": "Swish is a [real-time](https://stripe.com/docs/payments/real-time) payment method popular in Sweden. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the Swish mobile app and the Swedish BankID mobile app. Check this [page](https://stripe.com/docs/payments/swish) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "twint": {
+ "description": "Twint is a payment method popular in Switzerland. It allows customers to pay using their mobile phone. Check this [page](https://docs.stripe.com/payments/twint) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "us_bank_account": {
+ "description": "Stripe users in the United States can accept ACH direct debit payments from customers with a US bank account using the Automated Clearing House (ACH) payments system operated by Nacha. Check this [page](https://stripe.com/docs/payments/ach-debit) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "wechat_pay": {
+ "description": "WeChat, owned by Tencent, is China's leading mobile app with over 1 billion monthly active users. Chinese consumers can use WeChat Pay to pay for goods and services inside of businesses' apps and websites. WeChat Pay users buy most frequently in gaming, e-commerce, travel, online education, and food/nutrition. Check this [page](https://stripe.com/docs/payments/wechat-pay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "zip": {
+ "description": "Zip gives your customers a way to split purchases over a series of payments. Check this [page](https://stripe.com/docs/payments/zip) for more details like country availability.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_method_configuration"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_method_configurations/{configuration}": {
+ "get": {
+ "description": "Retrieve payment method configuration
",
+ "operationId": "GetPaymentMethodConfigurationsConfiguration",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "configuration",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_method_configuration"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Update payment method configuration
",
+ "operationId": "PostPaymentMethodConfigurationsConfiguration",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "configuration",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "acss_debit": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "affirm": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "afterpay_clearpay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "alipay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "amazon_pay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "apple_pay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "apple_pay_later": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "au_becs_debit": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "bacs_debit": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "bancontact": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "blik": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "boleto": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "card": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "cartes_bancaires": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "cashapp": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "customer_balance": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "eps": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "fpx": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "giropay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "google_pay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "grabpay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "ideal": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "jcb": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "klarna": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "konbini": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "link": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "mobilepay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "multibanco": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "oxxo": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "p24": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "paynow": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "paypal": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "promptpay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "revolut_pay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "sepa_debit": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "sofort": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "swish": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "twint": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "us_bank_account": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "wechat_pay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "zip": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "acss_debit": {
+ "description": "Canadian pre-authorized debit payments, check this [page](https://stripe.com/docs/payments/acss-debit) for more details like country availability.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "active": {
+ "description": "Whether the configuration can be used for new payments.",
+ "type": "boolean"
+ },
+ "affirm": {
+ "description": "[Affirm](https://www.affirm.com/) gives your customers a way to split purchases over a series of payments. Depending on the purchase, they can pay with four interest-free payments (Split Pay) or pay over a longer term (Installments), which might include interest. Check this [page](https://stripe.com/docs/payments/affirm) for more details like country availability.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "afterpay_clearpay": {
+ "description": "Afterpay gives your customers a way to pay for purchases in installments, check this [page](https://stripe.com/docs/payments/afterpay-clearpay) for more details like country availability. Afterpay is particularly popular among businesses selling fashion, beauty, and sports products.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "alipay": {
+ "description": "Alipay is a digital wallet in China that has more than a billion active users worldwide. Alipay users can pay on the web or on a mobile device using login credentials or their Alipay app. Alipay has a low dispute rate and reduces fraud by authenticating payments using the customer's login credentials. Check this [page](https://stripe.com/docs/payments/alipay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "amazon_pay": {
+ "description": "Amazon Pay is a wallet payment method that lets your customers check out the same way as on Amazon.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "apple_pay": {
+ "description": "Stripe users can accept [Apple Pay](/payments/apple-pay) in iOS applications in iOS 9 and later, and on the web in Safari starting with iOS 10 or macOS Sierra. There are no additional fees to process Apple Pay payments, and the [pricing](/pricing) is the same as other card transactions. Check this [page](https://stripe.com/docs/apple-pay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "apple_pay_later": {
+ "description": "Apple Pay Later, a payment method for customers to buy now and pay later, gives your customers a way to split purchases into four installments across six weeks.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "au_becs_debit": {
+ "description": "Stripe users in Australia can accept Bulk Electronic Clearing System (BECS) direct debit payments from customers with an Australian bank account. Check this [page](https://stripe.com/docs/payments/au-becs-debit) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "bacs_debit": {
+ "description": "Stripe users in the UK can accept Bacs Direct Debit payments from customers with a UK bank account, check this [page](https://stripe.com/docs/payments/payment-methods/bacs-debit) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "bancontact": {
+ "description": "Bancontact is the most popular online payment method in Belgium, with over 15 million cards in circulation. [Customers](https://stripe.com/docs/api/customers) use a Bancontact card or mobile app linked to a Belgian bank account to make online payments that are secure, guaranteed, and confirmed immediately. Check this [page](https://stripe.com/docs/payments/bancontact) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "blik": {
+ "description": "BLIK is a [single use](https://stripe.com/docs/payments/payment-methods#usage) payment method that requires customers to authenticate their payments. When customers want to pay online using BLIK, they request a six-digit code from their banking application and enter it into the payment collection form. Check this [page](https://stripe.com/docs/payments/blik) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "boleto": {
+ "description": "Boleto is an official (regulated by the Central Bank of Brazil) payment method in Brazil. Check this [page](https://stripe.com/docs/payments/boleto) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "card": {
+ "description": "Cards are a popular way for consumers and businesses to pay online or in person. Stripe supports global and local card networks.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "cartes_bancaires": {
+ "description": "Cartes Bancaires is France's local card network. More than 95% of these cards are co-branded with either Visa or Mastercard, meaning you can process these cards over either Cartes Bancaires or the Visa or Mastercard networks. Check this [page](https://stripe.com/docs/payments/cartes-bancaires) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "cashapp": {
+ "description": "Cash App is a popular consumer app in the US that allows customers to bank, invest, send, and receive money using their digital wallet. Check this [page](https://stripe.com/docs/payments/cash-app-pay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "customer_balance": {
+ "description": "Uses a customer’s [cash balance](https://stripe.com/docs/payments/customer-balance) for the payment. The cash balance can be funded via a bank transfer. Check this [page](https://stripe.com/docs/payments/bank-transfers) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "eps": {
+ "description": "EPS is an Austria-based payment method that allows customers to complete transactions online using their bank credentials. EPS is supported by all Austrian banks and is accepted by over 80% of Austrian online retailers. Check this [page](https://stripe.com/docs/payments/eps) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fpx": {
+ "description": "Financial Process Exchange (FPX) is a Malaysia-based payment method that allows customers to complete transactions online using their bank credentials. Bank Negara Malaysia (BNM), the Central Bank of Malaysia, and eleven other major Malaysian financial institutions are members of the PayNet Group, which owns and operates FPX. It is one of the most popular online payment methods in Malaysia, with nearly 90 million transactions in 2018 according to BNM. Check this [page](https://stripe.com/docs/payments/fpx) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "giropay": {
+ "description": "giropay is a German payment method based on online banking, introduced in 2006. It allows customers to complete transactions online using their online banking environment, with funds debited from their bank account. Depending on their bank, customers confirm payments on giropay using a second factor of authentication or a PIN. giropay accounts for 10% of online checkouts in Germany. Check this [page](https://stripe.com/docs/payments/giropay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "google_pay": {
+ "description": "Google Pay allows customers to make payments in your app or website using any credit or debit card saved to their Google Account, including those from Google Play, YouTube, Chrome, or an Android device. Use the Google Pay API to request any credit or debit card stored in your customer's Google account. Check this [page](https://stripe.com/docs/google-pay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "grabpay": {
+ "description": "GrabPay is a payment method developed by [Grab](https://www.grab.com/sg/consumer/finance/pay/). GrabPay is a digital wallet - customers maintain a balance in their wallets that they pay out with. Check this [page](https://stripe.com/docs/payments/grabpay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "ideal": {
+ "description": "iDEAL is a Netherlands-based payment method that allows customers to complete transactions online using their bank credentials. All major Dutch banks are members of Currence, the scheme that operates iDEAL, making it the most popular online payment method in the Netherlands with a share of online transactions close to 55%. Check this [page](https://stripe.com/docs/payments/ideal) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "jcb": {
+ "description": "JCB is a credit card company based in Japan. JCB is currently available in Japan to businesses approved by JCB, and available to all businesses in Australia, Canada, Hong Kong, Japan, New Zealand, Singapore, Switzerland, United Kingdom, United States, and all countries in the European Economic Area except Iceland. Check this [page](https://support.stripe.com/questions/accepting-japan-credit-bureau-%28jcb%29-payments) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "klarna": {
+ "description": "Klarna gives customers a range of [payment options](https://stripe.com/docs/payments/klarna#payment-options) during checkout. Available payment options vary depending on the customer's billing address and the transaction amount. These payment options make it convenient for customers to purchase items in all price ranges. Check this [page](https://stripe.com/docs/payments/klarna) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "konbini": {
+ "description": "Konbini allows customers in Japan to pay for bills and online purchases at convenience stores with cash. Check this [page](https://stripe.com/docs/payments/konbini) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "link": {
+ "description": "[Link](https://stripe.com/docs/payments/link) is a payment method network. With Link, users save their payment details once, then reuse that information to pay with one click for any business on the network.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "mobilepay": {
+ "description": "MobilePay is a [single-use](https://stripe.com/docs/payments/payment-methods#usage) card wallet payment method used in Denmark and Finland. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the MobilePay app. Check this [page](https://stripe.com/docs/payments/mobilepay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "multibanco": {
+ "description": "Stripe users in Europe and the United States can accept Multibanco payments from customers in Portugal using [Sources](https://stripe.com/docs/sources)—a single integration path for creating payments using any supported method.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "name": {
+ "description": "Configuration name.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "oxxo": {
+ "description": "OXXO is a Mexican chain of convenience stores with thousands of locations across Latin America and represents nearly 20% of online transactions in Mexico. OXXO allows customers to pay bills and online purchases in-store with cash. Check this [page](https://stripe.com/docs/payments/oxxo) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "p24": {
+ "description": "Przelewy24 is a Poland-based payment method aggregator that allows customers to complete transactions online using bank transfers and other methods. Bank transfers account for 30% of online payments in Poland and Przelewy24 provides a way for customers to pay with over 165 banks. Check this [page](https://stripe.com/docs/payments/p24) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "paynow": {
+ "description": "PayNow is a Singapore-based payment method that allows customers to make a payment using their preferred app from participating banks and participating non-bank financial institutions. Check this [page](https://stripe.com/docs/payments/paynow) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "paypal": {
+ "description": "PayPal, a digital wallet popular with customers in Europe, allows your customers worldwide to pay using their PayPal account. Check this [page](https://stripe.com/docs/payments/paypal) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "promptpay": {
+ "description": "PromptPay is a Thailand-based payment method that allows customers to make a payment using their preferred app from participating banks. Check this [page](https://stripe.com/docs/payments/promptpay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "revolut_pay": {
+ "description": "Revolut Pay, developed by Revolut, a global finance app, is a digital wallet payment method. Revolut Pay uses the customer’s stored balance or cards to fund the payment, and offers the option for non-Revolut customers to save their details after their first purchase.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "description": "The [Single Euro Payments Area (SEPA)](https://en.wikipedia.org/wiki/Single_Euro_Payments_Area) is an initiative of the European Union to simplify payments within and across member countries. SEPA established and enforced banking standards to allow for the direct debiting of every EUR-denominated bank account within the SEPA region, check this [page](https://stripe.com/docs/payments/sepa-debit) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "sofort": {
+ "description": "Stripe users in Europe and the United States can use the [Payment Intents API](https://stripe.com/docs/payments/payment-intents)—a single integration path for creating payments using any supported method—to accept [Sofort](https://www.sofort.com/) payments from customers. Check this [page](https://stripe.com/docs/payments/sofort) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "swish": {
+ "description": "Swish is a [real-time](https://stripe.com/docs/payments/real-time) payment method popular in Sweden. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the Swish mobile app and the Swedish BankID mobile app. Check this [page](https://stripe.com/docs/payments/swish) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "twint": {
+ "description": "Twint is a payment method popular in Switzerland. It allows customers to pay using their mobile phone. Check this [page](https://docs.stripe.com/payments/twint) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "us_bank_account": {
+ "description": "Stripe users in the United States can accept ACH direct debit payments from customers with a US bank account using the Automated Clearing House (ACH) payments system operated by Nacha. Check this [page](https://stripe.com/docs/payments/ach-debit) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "wechat_pay": {
+ "description": "WeChat, owned by Tencent, is China's leading mobile app with over 1 billion monthly active users. Chinese consumers can use WeChat Pay to pay for goods and services inside of businesses' apps and websites. WeChat Pay users buy most frequently in gaming, e-commerce, travel, online education, and food/nutrition. Check this [page](https://stripe.com/docs/payments/wechat-pay) for more details.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "zip": {
+ "description": "Zip gives your customers a way to split purchases over a series of payments. Check this [page](https://stripe.com/docs/payments/zip) for more details like country availability.",
+ "properties": {
+ "display_preference": {
+ "properties": {
+ "preference": {
+ "enum": [
+ "none",
+ "off",
+ "on"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "display_preference_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_method_configuration"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_method_domains": {
+ "get": {
+ "description": "Lists the details of existing payment method domains.
",
+ "operationId": "GetPaymentMethodDomains",
+ "parameters": [
+ {
+ "description": "The domain name that this payment method domain object represents.",
+ "in": "query",
+ "name": "domain_name",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Whether this payment method domain is enabled. If the domain is not enabled, payment methods will not appear in Elements",
+ "in": "query",
+ "name": "enabled",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/payment_method_domain"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/payment_method_domains",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PaymentMethodDomainResourcePaymentMethodDomainList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a payment method domain.
",
+ "operationId": "PostPaymentMethodDomains",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "domain_name": {
+ "description": "The domain name that this payment method domain object represents.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "enabled": {
+ "description": "Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements.",
+ "type": "boolean"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "domain_name"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_method_domain"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_method_domains/{payment_method_domain}": {
+ "get": {
+ "description": "Retrieves the details of an existing payment method domain.
",
+ "operationId": "GetPaymentMethodDomainsPaymentMethodDomain",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "payment_method_domain",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_method_domain"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates an existing payment method domain.
",
+ "operationId": "PostPaymentMethodDomainsPaymentMethodDomain",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "payment_method_domain",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "enabled": {
+ "description": "Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements.",
+ "type": "boolean"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_method_domain"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_method_domains/{payment_method_domain}/validate": {
+ "post": {
+ "description": "Some payment methods such as Apple Pay require additional steps to verify a domain. If the requirements weren’t satisfied when the domain was created, the payment method will be inactive on the domain.\nThe payment method doesn’t appear in Elements for this domain until it is active.
\n\nTo activate a payment method on an existing payment method domain, complete the required validation steps specific to the payment method, and then validate the payment method domain with this endpoint.
\n\nRelated guides: Payment method domains.
",
+ "operationId": "PostPaymentMethodDomainsPaymentMethodDomainValidate",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "payment_method_domain",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_method_domain"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_methods": {
+ "get": {
+ "description": "Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the List a Customer’s PaymentMethods API instead.
",
+ "operationId": "GetPaymentMethods",
+ "parameters": [
+ {
+ "description": "The ID of the customer whose PaymentMethods will be retrieved.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request.",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "enum": [
+ "acss_debit",
+ "affirm",
+ "afterpay_clearpay",
+ "alipay",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "blik",
+ "boleto",
+ "card",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "klarna",
+ "konbini",
+ "link",
+ "mobilepay",
+ "multibanco",
+ "oxxo",
+ "p24",
+ "paynow",
+ "paypal",
+ "pix",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "twint",
+ "us_bank_account",
+ "wechat_pay",
+ "zip"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/payment_method"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/payment_methods",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PaymentFlowsPaymentMethodList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a PaymentMethod object. Read the Stripe.js reference to learn how to create PaymentMethods via Stripe.js.
\n\nInstead of creating a PaymentMethod directly, we recommend using the PaymentIntents API to accept a payment immediately or the SetupIntent API to collect payment method details ahead of a future payment.
",
+ "operationId": "PostPaymentMethods",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "acss_debit": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "affirm": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "afterpay_clearpay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "alipay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "amazon_pay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "au_becs_debit": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "bacs_debit": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "bancontact": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "billing_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "blik": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "boleto": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "card": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "cashapp": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "customer_balance": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "eps": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "fpx": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "giropay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "grabpay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "ideal": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "interac_present": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "klarna": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "konbini": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "link": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "mobilepay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "multibanco": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "oxxo": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "p24": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "paynow": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "paypal": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "pix": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "promptpay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "radar_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "revolut_pay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "sepa_debit": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "sofort": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "swish": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "twint": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "us_bank_account": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "wechat_pay": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "zip": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "acss_debit": {
+ "description": "If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method.",
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "institution_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "transit_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "institution_number",
+ "transit_number"
+ ],
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "affirm": {
+ "description": "If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "afterpay_clearpay": {
+ "description": "If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "alipay": {
+ "description": "If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "allow_redisplay": {
+ "description": "This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`.",
+ "enum": [
+ "always",
+ "limited",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "amazon_pay": {
+ "description": "If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "au_becs_debit": {
+ "description": "If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account.",
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "bsb_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "bsb_number"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "bacs_debit": {
+ "description": "If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account.",
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "sort_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "bancontact": {
+ "description": "If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "billing_details": {
+ "description": "Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.",
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "billing_details_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "email": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "name": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "billing_details_inner_params",
+ "type": "object"
+ },
+ "blik": {
+ "description": "If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "boleto": {
+ "description": "If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method.",
+ "properties": {
+ "tax_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "tax_id"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "cvc": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_month": {
+ "type": "integer"
+ },
+ "exp_year": {
+ "type": "integer"
+ },
+ "networks": {
+ "properties": {
+ "preferred": {
+ "enum": [
+ "cartes_bancaires",
+ "mastercard",
+ "visa"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "networks_params",
+ "type": "object"
+ },
+ "number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "exp_month",
+ "exp_year",
+ "number"
+ ],
+ "title": "card_details_params",
+ "type": "object"
+ },
+ {
+ "properties": {
+ "token": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "token"
+ ],
+ "title": "token_params",
+ "type": "object"
+ }
+ ],
+ "description": "If this is a `card` PaymentMethod, this hash contains the user's card details. For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with format `card: {token: \"tok_visa\"}`. When providing a card number, you must meet the requirements for [PCI compliance](https://stripe.com/docs/security#validating-pci-compliance). We strongly recommend using Stripe.js instead of interacting with this API directly.",
+ "x-stripeBypassValidation": true
+ },
+ "cashapp": {
+ "description": "If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "customer": {
+ "description": "The `Customer` to whom the original PaymentMethod is attached.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer_balance": {
+ "description": "If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "eps": {
+ "description": "If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method.",
+ "properties": {
+ "bank": {
+ "enum": [
+ "arzte_und_apotheker_bank",
+ "austrian_anadi_bank_ag",
+ "bank_austria",
+ "bankhaus_carl_spangler",
+ "bankhaus_schelhammer_und_schattera_ag",
+ "bawag_psk_ag",
+ "bks_bank_ag",
+ "brull_kallmus_bank_ag",
+ "btv_vier_lander_bank",
+ "capital_bank_grawe_gruppe_ag",
+ "deutsche_bank_ag",
+ "dolomitenbank",
+ "easybank_ag",
+ "erste_bank_und_sparkassen",
+ "hypo_alpeadriabank_international_ag",
+ "hypo_bank_burgenland_aktiengesellschaft",
+ "hypo_noe_lb_fur_niederosterreich_u_wien",
+ "hypo_oberosterreich_salzburg_steiermark",
+ "hypo_tirol_bank_ag",
+ "hypo_vorarlberg_bank_ag",
+ "marchfelder_bank",
+ "oberbank_ag",
+ "raiffeisen_bankengruppe_osterreich",
+ "schoellerbank_ag",
+ "sparda_bank_wien",
+ "volksbank_gruppe",
+ "volkskreditbank_ag",
+ "vr_bank_braunau"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fpx": {
+ "description": "If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method.",
+ "properties": {
+ "bank": {
+ "enum": [
+ "affin_bank",
+ "agrobank",
+ "alliance_bank",
+ "ambank",
+ "bank_islam",
+ "bank_muamalat",
+ "bank_of_china",
+ "bank_rakyat",
+ "bsn",
+ "cimb",
+ "deutsche_bank",
+ "hong_leong_bank",
+ "hsbc",
+ "kfh",
+ "maybank2e",
+ "maybank2u",
+ "ocbc",
+ "pb_enterprise",
+ "public_bank",
+ "rhb",
+ "standard_chartered",
+ "uob"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "bank"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "giropay": {
+ "description": "If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "grabpay": {
+ "description": "If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "ideal": {
+ "description": "If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method.",
+ "properties": {
+ "bank": {
+ "enum": [
+ "abn_amro",
+ "asn_bank",
+ "bunq",
+ "handelsbanken",
+ "ing",
+ "knab",
+ "moneyou",
+ "n26",
+ "nn",
+ "rabobank",
+ "regiobank",
+ "revolut",
+ "sns_bank",
+ "triodos_bank",
+ "van_lanschot",
+ "yoursafe"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "interac_present": {
+ "description": "If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "klarna": {
+ "description": "If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method.",
+ "properties": {
+ "dob": {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth",
+ "type": "object"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "konbini": {
+ "description": "If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "link": {
+ "description": "If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "mobilepay": {
+ "description": "If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "multibanco": {
+ "description": "If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "oxxo": {
+ "description": "If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "p24": {
+ "description": "If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method.",
+ "properties": {
+ "bank": {
+ "enum": [
+ "alior_bank",
+ "bank_millennium",
+ "bank_nowy_bfg_sa",
+ "bank_pekao_sa",
+ "banki_spbdzielcze",
+ "blik",
+ "bnp_paribas",
+ "boz",
+ "citi_handlowy",
+ "credit_agricole",
+ "envelobank",
+ "etransfer_pocztowy24",
+ "getin_bank",
+ "ideabank",
+ "ing",
+ "inteligo",
+ "mbank_mtransfer",
+ "nest_przelew",
+ "noble_pay",
+ "pbac_z_ipko",
+ "plus_bank",
+ "santander_przelew24",
+ "tmobile_usbugi_bankowe",
+ "toyota_bank",
+ "velobank",
+ "volkswagen_bank"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "payment_method": {
+ "description": "The PaymentMethod to share.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "paynow": {
+ "description": "If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "paypal": {
+ "description": "If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "pix": {
+ "description": "If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "promptpay": {
+ "description": "If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "radar_options": {
+ "description": "Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.",
+ "properties": {
+ "session": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "radar_options_with_hidden_options",
+ "type": "object"
+ },
+ "revolut_pay": {
+ "description": "If this is a `Revolut Pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "description": "If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.",
+ "properties": {
+ "iban": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "iban"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "sofort": {
+ "description": "If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method.",
+ "properties": {
+ "country": {
+ "enum": [
+ "AT",
+ "BE",
+ "DE",
+ "ES",
+ "IT",
+ "NL"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "swish": {
+ "description": "If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "twint": {
+ "description": "If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "type": {
+ "description": "The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.",
+ "enum": [
+ "acss_debit",
+ "affirm",
+ "afterpay_clearpay",
+ "alipay",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "blik",
+ "boleto",
+ "card",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "klarna",
+ "konbini",
+ "link",
+ "mobilepay",
+ "multibanco",
+ "oxxo",
+ "p24",
+ "paynow",
+ "paypal",
+ "pix",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "twint",
+ "us_bank_account",
+ "wechat_pay",
+ "zip"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "us_bank_account": {
+ "description": "If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method.",
+ "properties": {
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "financial_connections_account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "wechat_pay": {
+ "description": "If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "zip": {
+ "description": "If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_method"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_methods/{payment_method}": {
+ "get": {
+ "description": "Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use Retrieve a Customer’s PaymentMethods
",
+ "operationId": "GetPaymentMethodsPaymentMethod",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "payment_method",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_method"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.
",
+ "operationId": "PostPaymentMethodsPaymentMethod",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "payment_method",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "billing_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "card": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "link": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "us_bank_account": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "allow_redisplay": {
+ "description": "This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`.",
+ "enum": [
+ "always",
+ "limited",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "billing_details": {
+ "description": "Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.",
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "billing_details_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "email": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "name": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "billing_details_inner_params",
+ "type": "object"
+ },
+ "card": {
+ "description": "If this is a `card` PaymentMethod, this hash contains the user's card details.",
+ "properties": {
+ "exp_month": {
+ "type": "integer"
+ },
+ "exp_year": {
+ "type": "integer"
+ },
+ "networks": {
+ "properties": {
+ "preferred": {
+ "enum": [
+ "",
+ "cartes_bancaires",
+ "mastercard",
+ "visa"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "networks_update_api_param",
+ "type": "object"
+ }
+ },
+ "title": "update_api_param",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "link": {
+ "description": "If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.",
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "us_bank_account": {
+ "description": "If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method.",
+ "properties": {
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "update_param",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_method"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_methods/{payment_method}/attach": {
+ "post": {
+ "description": "Attaches a PaymentMethod object to a Customer.
\n\nTo attach a new PaymentMethod to a customer for future payments, we recommend you use a SetupIntent\nor a PaymentIntent with setup_future_usage.\nThese approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach
\nendpoint without first using a SetupIntent or PaymentIntent with setup_future_usage
does not optimize the PaymentMethod for\nfuture use, which makes later declines and payment friction more likely.\nSee Optimizing cards for future payments for more information about setting up\nfuture payments.
\n\nTo use this PaymentMethod as the default for invoice or subscription payments,\nset invoice_settings.default_payment_method
,\non the Customer to the PaymentMethod’s ID.
",
+ "operationId": "PostPaymentMethodsPaymentMethodAttach",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "payment_method",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "customer": {
+ "description": "The ID of the customer to which to attach the PaymentMethod.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "customer"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_method"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payment_methods/{payment_method}/detach": {
+ "post": {
+ "description": "Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer.
",
+ "operationId": "PostPaymentMethodsPaymentMethodDetach",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "payment_method",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payment_method"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payouts": {
+ "get": {
+ "description": "Returns a list of existing payouts sent to third-party bank accounts or payouts that Stripe sent to you. The payouts return in sorted order, with the most recently created payouts appearing first.
",
+ "operationId": "GetPayouts",
+ "parameters": [
+ {
+ "description": "Only return payouts that are expected to arrive during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "arrival_date",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return payouts that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The ID of an external account - only return payouts sent to this external account.",
+ "in": "query",
+ "name": "destination",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return payouts that have the given status: `pending`, `paid`, `failed`, or `canceled`.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/payout"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/payouts",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PayoutList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "To send funds to your own bank account, create a new payout object. Your Stripe balance must cover the payout amount. If it doesn’t, you receive an “Insufficient Funds” error.
\n\nIf your API key is in test mode, money won’t actually be sent, though every other action occurs as if you’re in live mode.
\n\nIf you create a manual payout on a Stripe account that uses multiple payment source types, you need to specify the source type balance that the payout draws from. The balance object details available and pending amounts by source type.
",
+ "operationId": "PostPayouts",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "A positive integer in cents representing how much to payout.",
+ "type": "integer"
+ },
+ "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"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "destination": {
+ "description": "The ID of a bank account or a card to send the payout to. If you don't provide a destination, we use the default external account for the specified currency.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "method": {
+ "description": "The method used to send this payout, which is `standard` or `instant`. We support `instant` for payouts to debit cards and bank accounts in certain countries. Learn more about [bank support for Instant Payouts](https://stripe.com/docs/payouts/instant-payouts-banks).",
+ "enum": [
+ "instant",
+ "standard"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "source_type": {
+ "description": "The balance type of your Stripe balance to draw this payout from. Balances for different payment sources are kept separately. You can find the amounts with the Balances API. One of `bank_account`, `card`, or `fpx`.",
+ "enum": [
+ "bank_account",
+ "card",
+ "fpx"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "statement_descriptor": {
+ "description": "A string that displays on the recipient's bank or card statement (up to 22 characters). A `statement_descriptor` that's longer than 22 characters return an error. Most banks truncate this information and display it inconsistently. Some banks might not display it at all.",
+ "maxLength": 22,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payout"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payouts/{payout}": {
+ "get": {
+ "description": "Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list. Stripe returns the corresponding payout information.
",
+ "operationId": "GetPayoutsPayout",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "payout",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payout"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified payout by setting the values of the parameters you pass. We don’t change parameters that you don’t provide. This request only accepts the metadata as arguments.
",
+ "operationId": "PostPayoutsPayout",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "payout",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payout"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payouts/{payout}/cancel": {
+ "post": {
+ "description": "You can cancel a previously created payout if its status is pending
. Stripe refunds the funds to your available balance. You can’t cancel automatic Stripe payouts.
",
+ "operationId": "PostPayoutsPayoutCancel",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "payout",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payout"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/payouts/{payout}/reverse": {
+ "post": {
+ "description": "Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US bank accounts. If the payout is manual and in the pending
status, use /v1/payouts/:id/cancel
instead.
\n\nBy requesting a reversal through /v1/payouts/:id/reverse
, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required.
",
+ "operationId": "PostPayoutsPayoutReverse",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "payout",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/payout"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/plans": {
+ "get": {
+ "description": "Returns a list of your plans.
",
+ "operationId": "GetPlans",
+ "parameters": [
+ {
+ "description": "Only return plans that are active or inactive (e.g., pass `false` to list all inactive plans).",
+ "in": "query",
+ "name": "active",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return plans for the given product.",
+ "in": "query",
+ "name": "product",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/plan"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/plans",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PlanList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "You can now model subscriptions more flexibly using the Prices API. It replaces the Plans API and is backwards compatible to simplify your migration.
",
+ "operationId": "PostPlans",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "product": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tiers": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transform_usage": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Whether the plan is currently available for new subscriptions. Defaults to `true`.",
+ "type": "boolean"
+ },
+ "aggregate_usage": {
+ "description": "Specifies a usage aggregation strategy for plans of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`.",
+ "enum": [
+ "last_during_period",
+ "last_ever",
+ "max",
+ "sum"
+ ],
+ "type": "string"
+ },
+ "amount": {
+ "description": "A positive integer in cents (or local equivalent) (or 0 for a free plan) representing how much to charge on a recurring basis.",
+ "type": "integer"
+ },
+ "amount_decimal": {
+ "description": "Same as `amount`, but accepts a decimal value with at most 12 decimal places. Only one of `amount` and `amount_decimal` can be set.",
+ "format": "decimal",
+ "type": "string"
+ },
+ "billing_scheme": {
+ "description": "Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes.",
+ "enum": [
+ "per_unit",
+ "tiered"
+ ],
+ "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"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "description": "An identifier randomly generated by Stripe. Used to identify this plan when subscribing a customer. You can optionally override this ID, but the ID must be unique across all plans in your Stripe account. You can, however, use the same plan ID in both live and test modes.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "interval": {
+ "description": "Specifies billing frequency. Either `day`, `week`, `month` or `year`.",
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "description": "The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks).",
+ "type": "integer"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "meter": {
+ "description": "The meter tracking the usage of a metered price",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "nickname": {
+ "description": "A brief description of the plan, hidden from customers.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "product": {
+ "anyOf": [
+ {
+ "description": "The product whose pricing the created plan will represent. This can either be the ID of an existing product, or a dictionary containing fields used to create a [service product](https://stripe.com/docs/api#product_object-type).",
+ "properties": {
+ "active": {
+ "type": "boolean"
+ },
+ "id": {
+ "deprecated": true,
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "statement_descriptor": {
+ "maxLength": 22,
+ "type": "string"
+ },
+ "tax_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "unit_label": {
+ "maxLength": 12,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "title": "inline_product_params",
+ "type": "object"
+ },
+ {
+ "description": "The ID of the product whose pricing the created plan will represent.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ]
+ },
+ "tiers": {
+ "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`.",
+ "items": {
+ "properties": {
+ "flat_amount": {
+ "type": "integer"
+ },
+ "flat_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "up_to": {
+ "anyOf": [
+ {
+ "enum": [
+ "inf"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "required": [
+ "up_to"
+ ],
+ "title": "tier",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tiers_mode": {
+ "description": "Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows.",
+ "enum": [
+ "graduated",
+ "volume"
+ ],
+ "type": "string"
+ },
+ "transform_usage": {
+ "description": "Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`.",
+ "properties": {
+ "divide_by": {
+ "type": "integer"
+ },
+ "round": {
+ "enum": [
+ "down",
+ "up"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "divide_by",
+ "round"
+ ],
+ "title": "transform_usage_param",
+ "type": "object"
+ },
+ "trial_period_days": {
+ "description": "Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan).",
+ "type": "integer"
+ },
+ "usage_type": {
+ "description": "Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`.",
+ "enum": [
+ "licensed",
+ "metered"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "interval"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/plan"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/plans/{plan}": {
+ "delete": {
+ "description": "Deleting plans means new subscribers can’t be added. Existing subscribers aren’t affected.
",
+ "operationId": "DeletePlansPlan",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "plan",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_plan"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves the plan with the given ID.
",
+ "operationId": "GetPlansPlan",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "plan",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/plan"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan’s ID, amount, currency, or billing cycle.
",
+ "operationId": "PostPlansPlan",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "plan",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Whether the plan is currently available for new subscriptions.",
+ "type": "boolean"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "nickname": {
+ "description": "A brief description of the plan, hidden from customers.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "product": {
+ "description": "The product the plan belongs to. This cannot be changed once it has been used in a subscription or subscription schedule.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "trial_period_days": {
+ "description": "Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan).",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/plan"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/prices": {
+ "get": {
+ "description": "Returns a list of your active prices, excluding inline prices. For the list of inactive prices, set active
to false.
",
+ "operationId": "GetPrices",
+ "parameters": [
+ {
+ "description": "Only return prices that are active or inactive (e.g., pass `false` to list all inactive prices).",
+ "in": "query",
+ "name": "active",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return prices for the given currency.",
+ "in": "query",
+ "name": "currency",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return the price with these lookup_keys, if any exist. You can specify up to 10 lookup_keys.",
+ "explode": true,
+ "in": "query",
+ "name": "lookup_keys",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return prices for the given product.",
+ "in": "query",
+ "name": "product",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return prices with these recurring fields.",
+ "explode": true,
+ "in": "query",
+ "name": "recurring",
+ "required": false,
+ "schema": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "meter": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "usage_type": {
+ "enum": [
+ "licensed",
+ "metered"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "all_prices_recurring_params",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return prices of type `recurring` or `one_time`.",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "enum": [
+ "one_time",
+ "recurring"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/price"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/prices",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PriceList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new price for an existing product. The price can be recurring or one-time.
",
+ "operationId": "PostPrices",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "currency_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "custom_unit_amount": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "product_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "recurring": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tiers": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transform_quantity": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Whether the price can be used for new purchases. Defaults to `true`.",
+ "type": "boolean"
+ },
+ "billing_scheme": {
+ "description": "Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `unit_amount` or `unit_amount_decimal`) will be charged per unit in `quantity` (for prices with `usage_type=licensed`), or per unit of total usage (for prices with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes.",
+ "enum": [
+ "per_unit",
+ "tiered"
+ ],
+ "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"
+ },
+ "currency_options": {
+ "additionalProperties": {
+ "properties": {
+ "custom_unit_amount": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "maximum": {
+ "type": "integer"
+ },
+ "minimum": {
+ "type": "integer"
+ },
+ "preset": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "custom_unit_amount",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "tiers": {
+ "items": {
+ "properties": {
+ "flat_amount": {
+ "type": "integer"
+ },
+ "flat_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "up_to": {
+ "anyOf": [
+ {
+ "enum": [
+ "inf"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "required": [
+ "up_to"
+ ],
+ "title": "tier",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "currency_option",
+ "type": "object"
+ },
+ "description": "Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).",
+ "type": "object"
+ },
+ "custom_unit_amount": {
+ "description": "When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "maximum": {
+ "type": "integer"
+ },
+ "minimum": {
+ "type": "integer"
+ },
+ "preset": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "custom_unit_amount",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "lookup_key": {
+ "description": "A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters.",
+ "maxLength": 200,
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "nickname": {
+ "description": "A brief description of the price, hidden from customers.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "product": {
+ "description": "The ID of the product that this price will belong to.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "product_data": {
+ "description": "These fields can be used to create a new product that this price will belong to.",
+ "properties": {
+ "active": {
+ "type": "boolean"
+ },
+ "id": {
+ "deprecated": true,
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "statement_descriptor": {
+ "maxLength": 22,
+ "type": "string"
+ },
+ "tax_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "unit_label": {
+ "maxLength": 12,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "title": "inline_product_params",
+ "type": "object"
+ },
+ "recurring": {
+ "description": "The recurring components of a price such as `interval` and `usage_type`.",
+ "properties": {
+ "aggregate_usage": {
+ "enum": [
+ "last_during_period",
+ "last_ever",
+ "max",
+ "sum"
+ ],
+ "type": "string"
+ },
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ },
+ "meter": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "usage_type": {
+ "enum": [
+ "licensed",
+ "metered"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "description": "Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.",
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "tiers": {
+ "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`.",
+ "items": {
+ "properties": {
+ "flat_amount": {
+ "type": "integer"
+ },
+ "flat_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "up_to": {
+ "anyOf": [
+ {
+ "enum": [
+ "inf"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "required": [
+ "up_to"
+ ],
+ "title": "tier",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tiers_mode": {
+ "description": "Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows.",
+ "enum": [
+ "graduated",
+ "volume"
+ ],
+ "type": "string"
+ },
+ "transfer_lookup_key": {
+ "description": "If set to true, will atomically remove the lookup key from the existing price, and assign it to this price.",
+ "type": "boolean"
+ },
+ "transform_quantity": {
+ "description": "Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`.",
+ "properties": {
+ "divide_by": {
+ "type": "integer"
+ },
+ "round": {
+ "enum": [
+ "down",
+ "up"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "divide_by",
+ "round"
+ ],
+ "title": "transform_usage_param",
+ "type": "object"
+ },
+ "unit_amount": {
+ "description": "A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. One of `unit_amount`, `unit_amount_decimal`, or `custom_unit_amount` is required, unless `billing_scheme=tiered`.",
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "description": "Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.",
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/price"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/prices/search": {
+ "get": {
+ "description": "Search for prices you’ve previously created using Stripe’s Search Query Language.\nDon’t use search in read-after-write flows where strict consistency is necessary. Under normal operating\nconditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up\nto an hour behind during outages. Search functionality is not available to merchants in India.
",
+ "operationId": "GetPricesSearch",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.",
+ "in": "query",
+ "name": "page",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for prices](https://stripe.com/docs/search#query-fields-for-prices).",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/price"
+ },
+ "type": "array"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "next_page": {
+ "maxLength": 5000,
+ "nullable": true,
+ "type": "string"
+ },
+ "object": {
+ "description": "String representing the object's type. Objects of the same type share the same value.",
+ "enum": [
+ "search_result"
+ ],
+ "type": "string"
+ },
+ "total_count": {
+ "description": "The total number of objects that match the query, only accurate up to 10,000.",
+ "type": "integer"
+ },
+ "url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "SearchResult",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/prices/{price}": {
+ "get": {
+ "description": "Retrieves the price with the given ID.
",
+ "operationId": "GetPricesPrice",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "price",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/price"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified price by setting the values of the parameters passed. Any parameters not provided are left unchanged.
",
+ "operationId": "PostPricesPrice",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "price",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "currency_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Whether the price can be used for new purchases. Defaults to `true`.",
+ "type": "boolean"
+ },
+ "currency_options": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "properties": {
+ "custom_unit_amount": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "maximum": {
+ "type": "integer"
+ },
+ "minimum": {
+ "type": "integer"
+ },
+ "preset": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "custom_unit_amount",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "tiers": {
+ "items": {
+ "properties": {
+ "flat_amount": {
+ "type": "integer"
+ },
+ "flat_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "up_to": {
+ "anyOf": [
+ {
+ "enum": [
+ "inf"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "required": [
+ "up_to"
+ ],
+ "title": "tier",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "currency_option",
+ "type": "object"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies)."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "lookup_key": {
+ "description": "A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters.",
+ "maxLength": 200,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "nickname": {
+ "description": "A brief description of the price, hidden from customers.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "description": "Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.",
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "transfer_lookup_key": {
+ "description": "If set to true, will atomically remove the lookup key from the existing price, and assign it to this price.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/price"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/products": {
+ "get": {
+ "description": "Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.
",
+ "operationId": "GetProducts",
+ "parameters": [
+ {
+ "description": "Only return products that are active or inactive (e.g., pass `false` to list all inactive products).",
+ "in": "query",
+ "name": "active",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return products that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return products with the given IDs. Cannot be used with [starting_after](https://stripe.com/docs/api#list_products-starting_after) or [ending_before](https://stripe.com/docs/api#list_products-ending_before).",
+ "explode": true,
+ "in": "query",
+ "name": "ids",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return products that can be shipped (i.e., physical, not digital products).",
+ "in": "query",
+ "name": "shippable",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return products with the given url.",
+ "in": "query",
+ "name": "url",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/product"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/products",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "ProductList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new product object.
",
+ "operationId": "PostProducts",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "default_price_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "images": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "marketing_features": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "package_dimensions": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Whether the product is currently available for purchase. Defaults to `true`.",
+ "type": "boolean"
+ },
+ "default_price_data": {
+ "description": "Data used to generate a new [Price](https://stripe.com/docs/api/prices) object. This Price will be set as the default price for this product.",
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "currency_options": {
+ "additionalProperties": {
+ "properties": {
+ "custom_unit_amount": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "maximum": {
+ "type": "integer"
+ },
+ "minimum": {
+ "type": "integer"
+ },
+ "preset": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "custom_unit_amount",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "tiers": {
+ "items": {
+ "properties": {
+ "flat_amount": {
+ "type": "integer"
+ },
+ "flat_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "up_to": {
+ "anyOf": [
+ {
+ "enum": [
+ "inf"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "required": [
+ "up_to"
+ ],
+ "title": "tier",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "currency_option",
+ "type": "object"
+ },
+ "type": "object"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency"
+ ],
+ "title": "price_data_without_product",
+ "type": "object"
+ },
+ "description": {
+ "description": "The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.",
+ "maxLength": 40000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "description": "An identifier will be randomly generated by Stripe. You can optionally override this ID, but the ID must be unique across all products in your Stripe account.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "images": {
+ "description": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "marketing_features": {
+ "description": "A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table).",
+ "items": {
+ "properties": {
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "title": "features",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "name": {
+ "description": "The product's name, meant to be displayable to the customer.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "package_dimensions": {
+ "description": "The dimensions of this product for shipping purposes.",
+ "properties": {
+ "height": {
+ "type": "number"
+ },
+ "length": {
+ "type": "number"
+ },
+ "weight": {
+ "type": "number"
+ },
+ "width": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "height",
+ "length",
+ "weight",
+ "width"
+ ],
+ "title": "package_dimensions_specs",
+ "type": "object"
+ },
+ "shippable": {
+ "description": "Whether this product is shipped (i.e., physical goods).",
+ "type": "boolean"
+ },
+ "statement_descriptor": {
+ "description": "An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all.\n\nThis may be up to 22 characters. The statement description may not include `<`, `>`, `\\`, `\"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped.\n It must contain at least one letter. Only used for subscription payments.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "tax_code": {
+ "description": "A [tax code](https://stripe.com/docs/tax/tax-categories) ID.",
+ "type": "string"
+ },
+ "unit_label": {
+ "description": "A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal.",
+ "maxLength": 12,
+ "type": "string"
+ },
+ "url": {
+ "description": "A URL of a publicly-accessible webpage for this product.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/product"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/products/search": {
+ "get": {
+ "description": "Search for products you’ve previously created using Stripe’s Search Query Language.\nDon’t use search in read-after-write flows where strict consistency is necessary. Under normal operating\nconditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up\nto an hour behind during outages. Search functionality is not available to merchants in India.
",
+ "operationId": "GetProductsSearch",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.",
+ "in": "query",
+ "name": "page",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for products](https://stripe.com/docs/search#query-fields-for-products).",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/product"
+ },
+ "type": "array"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "next_page": {
+ "maxLength": 5000,
+ "nullable": true,
+ "type": "string"
+ },
+ "object": {
+ "description": "String representing the object's type. Objects of the same type share the same value.",
+ "enum": [
+ "search_result"
+ ],
+ "type": "string"
+ },
+ "total_count": {
+ "description": "The total number of objects that match the query, only accurate up to 10,000.",
+ "type": "integer"
+ },
+ "url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "SearchResult",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/products/{id}": {
+ "delete": {
+ "description": "Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good
is only possible if it has no SKUs associated with it.
",
+ "operationId": "DeleteProductsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_product"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.
",
+ "operationId": "GetProductsId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/product"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
",
+ "operationId": "PostProductsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "description": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "images": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "marketing_features": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "package_dimensions": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax_code": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "unit_label": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "url": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Whether the product is available for purchase.",
+ "type": "boolean"
+ },
+ "default_price": {
+ "description": "The ID of the [Price](https://stripe.com/docs/api/prices) object that is the default price for this product.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 40000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "images": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer."
+ },
+ "marketing_features": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "title": "features",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table)."
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "name": {
+ "description": "The product's name, meant to be displayable to the customer.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "package_dimensions": {
+ "anyOf": [
+ {
+ "properties": {
+ "height": {
+ "type": "number"
+ },
+ "length": {
+ "type": "number"
+ },
+ "weight": {
+ "type": "number"
+ },
+ "width": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "height",
+ "length",
+ "weight",
+ "width"
+ ],
+ "title": "package_dimensions_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The dimensions of this product for shipping purposes."
+ },
+ "shippable": {
+ "description": "Whether this product is shipped (i.e., physical goods).",
+ "type": "boolean"
+ },
+ "statement_descriptor": {
+ "description": "An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all.\n\nThis may be up to 22 characters. The statement description may not include `<`, `>`, `\\`, `\"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped.\n It must contain at least one letter. May only be set if `type=service`. Only used for subscription payments.",
+ "maxLength": 22,
+ "type": "string"
+ },
+ "tax_code": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A [tax code](https://stripe.com/docs/tax/tax-categories) ID."
+ },
+ "unit_label": {
+ "anyOf": [
+ {
+ "maxLength": 12,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. May only be set if `type=service`."
+ },
+ "url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A URL of a publicly-accessible webpage for this product."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/product"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/products/{product}/features": {
+ "get": {
+ "description": "Retrieve a list of features for a product
",
+ "operationId": "GetProductsProductFeatures",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "in": "path",
+ "name": "product",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/product_feature"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "EntitlementsResourceProductFeatureList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a product_feature, which represents a feature attachment to a product
",
+ "operationId": "PostProductsProductFeatures",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "product",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "entitlement_feature": {
+ "description": "The ID of the [Feature](https://stripe.com/docs/api/entitlements/feature) object attached to this product.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "entitlement_feature"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/product_feature"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/products/{product}/features/{id}": {
+ "delete": {
+ "description": "Deletes the feature attachment to a product
",
+ "operationId": "DeleteProductsProductFeaturesId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "product",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_product_feature"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves a product_feature, which represents a feature attachment to a product
",
+ "operationId": "GetProductsProductFeaturesId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The ID of the product_feature.",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "The ID of the product.",
+ "in": "path",
+ "name": "product",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/product_feature"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/promotion_codes": {
+ "get": {
+ "description": "Returns a list of your promotion codes.
",
+ "operationId": "GetPromotionCodes",
+ "parameters": [
+ {
+ "description": "Filter promotion codes by whether they are active.",
+ "in": "query",
+ "name": "active",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return promotion codes that have this case-insensitive code.",
+ "in": "query",
+ "name": "code",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return promotion codes for this coupon.",
+ "in": "query",
+ "name": "coupon",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return promotion codes that are restricted to this customer.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/promotion_code"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/promotion_codes",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PromotionCodesResourcePromotionCodeList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "A promotion code points to a coupon. You can optionally restrict the code to a specific customer, redemption limit, and expiration date.
",
+ "operationId": "PostPromotionCodes",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "restrictions": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Whether the promotion code is currently active.",
+ "type": "boolean"
+ },
+ "code": {
+ "description": "The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for a specific customer. If left blank, we will generate one automatically.",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "coupon": {
+ "description": "The coupon for this promotion code.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer": {
+ "description": "The customer that this promotion code can be used by. If not set, the promotion code can be used by all customers.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "expires_at": {
+ "description": "The timestamp at which this promotion code will expire. If the coupon has specified a `redeems_by`, then this value cannot be after the coupon's `redeems_by`.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "max_redemptions": {
+ "description": "A positive integer specifying the number of times the promotion code can be redeemed. If the coupon has specified a `max_redemptions`, then this value cannot be greater than the coupon's `max_redemptions`.",
+ "type": "integer"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "restrictions": {
+ "description": "Settings that restrict the redemption of the promotion code.",
+ "properties": {
+ "currency_options": {
+ "additionalProperties": {
+ "properties": {
+ "minimum_amount": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_option",
+ "type": "object"
+ },
+ "type": "object"
+ },
+ "first_time_transaction": {
+ "type": "boolean"
+ },
+ "minimum_amount": {
+ "type": "integer"
+ },
+ "minimum_amount_currency": {
+ "type": "string"
+ }
+ },
+ "title": "restrictions_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "coupon"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/promotion_code"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/promotion_codes/{promotion_code}": {
+ "get": {
+ "description": "Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing code
use list with the desired code
.
",
+ "operationId": "GetPromotionCodesPromotionCode",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "promotion_code",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/promotion_code"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable.
",
+ "operationId": "PostPromotionCodesPromotionCode",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "promotion_code",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "restrictions": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Whether the promotion code is currently active. A promotion code can only be reactivated when the coupon is still valid and the promotion code is otherwise redeemable.",
+ "type": "boolean"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "restrictions": {
+ "description": "Settings that restrict the redemption of the promotion code.",
+ "properties": {
+ "currency_options": {
+ "additionalProperties": {
+ "properties": {
+ "minimum_amount": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_option",
+ "type": "object"
+ },
+ "type": "object"
+ }
+ },
+ "title": "restrictions_params",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/promotion_code"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/quotes": {
+ "get": {
+ "description": "Returns a list of your quotes.
",
+ "operationId": "GetQuotes",
+ "parameters": [
+ {
+ "description": "The ID of the customer whose quotes will be retrieved.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The status of the quote.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "accepted",
+ "canceled",
+ "draft",
+ "open"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "style": "form"
+ },
+ {
+ "description": "Provides a list of quotes that are associated with the specified test clock. The response will not include quotes with test clocks if this and the customer parameter is not set.",
+ "in": "query",
+ "name": "test_clock",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/quote"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/quotes",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "QuotesResourceQuoteList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "A quote models prices and services for a customer. Default options for header
, description
, footer
, and expires_at
can be set in the dashboard via the quote template.
",
+ "operationId": "PostQuotes",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "application_fee_amount": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "application_fee_percent": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "automatic_tax": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_tax_rates": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "description": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "footer": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "from_quote": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "header": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "line_items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "on_behalf_of": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "subscription_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "application_fee_amount": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field."
+ },
+ "application_fee_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field."
+ },
+ "automatic_tax": {
+ "description": "Settings for automatic tax lookup for this quote and resulting invoices and subscriptions.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_param",
+ "type": "object"
+ },
+ "collection_method": {
+ "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.",
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "customer": {
+ "description": "The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The tax rates that will apply to any line item that does not have `tax_rates` set."
+ },
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A description that will be displayed on the quote PDF. If no value is passed, the default description configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used."
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The discounts applied to the quote. You can only set up to one discount."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "expires_at": {
+ "description": "A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. If no value is passed, the default expiration date configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "footer": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A footer that will be displayed on the quote PDF. If no value is passed, the default footer configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used."
+ },
+ "from_quote": {
+ "description": "Clone an existing quote. The new quote will be created in `status=draft`. When using this parameter, you cannot specify any other parameters except for `expires_at`.",
+ "properties": {
+ "is_revision": {
+ "type": "boolean"
+ },
+ "quote": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "quote"
+ ],
+ "title": "from_quote_params",
+ "type": "object"
+ },
+ "header": {
+ "anyOf": [
+ {
+ "maxLength": 50,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A header that will be displayed on the quote PDF. If no value is passed, the default header configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used."
+ },
+ "invoice_settings": {
+ "description": "All invoices will be billed using the specified settings.",
+ "properties": {
+ "days_until_due": {
+ "type": "integer"
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "quote_param",
+ "type": "object"
+ },
+ "line_items": {
+ "description": "A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost.",
+ "items": {
+ "properties": {
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "line_item_create_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The account on behalf of which to charge."
+ },
+ "subscription_data": {
+ "description": "When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created.",
+ "properties": {
+ "description": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "effective_date": {
+ "anyOf": [
+ {
+ "enum": [
+ "current_period_end"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "trial_period_days": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "subscription_data_create_params",
+ "type": "object"
+ },
+ "test_clock": {
+ "description": "ID of the test clock to attach to the quote.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "transfer_data": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The data with which to automatically create a Transfer for each of the invoices."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/quote"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/quotes/{quote}": {
+ "get": {
+ "description": "Retrieves the quote with the given ID.
",
+ "operationId": "GetQuotesQuote",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "quote",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/quote"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "A quote models prices and services for a customer.
",
+ "operationId": "PostQuotesQuote",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "quote",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "application_fee_amount": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "application_fee_percent": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "automatic_tax": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_tax_rates": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "description": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "footer": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "header": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "line_items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "on_behalf_of": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "subscription_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "application_fee_amount": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field."
+ },
+ "application_fee_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field."
+ },
+ "automatic_tax": {
+ "description": "Settings for automatic tax lookup for this quote and resulting invoices and subscriptions.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_param",
+ "type": "object"
+ },
+ "collection_method": {
+ "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.",
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "customer": {
+ "description": "The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The tax rates that will apply to any line item that does not have `tax_rates` set."
+ },
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A description that will be displayed on the quote PDF."
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The discounts applied to the quote. You can only set up to one discount."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "expires_at": {
+ "description": "A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "footer": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A footer that will be displayed on the quote PDF."
+ },
+ "header": {
+ "anyOf": [
+ {
+ "maxLength": 50,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A header that will be displayed on the quote PDF."
+ },
+ "invoice_settings": {
+ "description": "All invoices will be billed using the specified settings.",
+ "properties": {
+ "days_until_due": {
+ "type": "integer"
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "quote_param",
+ "type": "object"
+ },
+ "line_items": {
+ "description": "A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost.",
+ "items": {
+ "properties": {
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "line_item_update_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The account on behalf of which to charge."
+ },
+ "subscription_data": {
+ "description": "When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created.",
+ "properties": {
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "effective_date": {
+ "anyOf": [
+ {
+ "enum": [
+ "current_period_end"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "trial_period_days": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "subscription_data_update_params",
+ "type": "object"
+ },
+ "transfer_data": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The data with which to automatically create a Transfer for each of the invoices."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/quote"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/quotes/{quote}/accept": {
+ "post": {
+ "description": "Accepts the specified quote.
",
+ "operationId": "PostQuotesQuoteAccept",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "quote",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/quote"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/quotes/{quote}/cancel": {
+ "post": {
+ "description": "Cancels the quote.
",
+ "operationId": "PostQuotesQuoteCancel",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "quote",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/quote"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/quotes/{quote}/computed_upfront_line_items": {
+ "get": {
+ "description": "When retrieving a quote, there is an includable computed.upfront.line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items.
",
+ "operationId": "GetQuotesQuoteComputedUpfrontLineItems",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "in": "path",
+ "name": "quote",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "QuotesResourceListLineItems",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/quotes/{quote}/finalize": {
+ "post": {
+ "description": "Finalizes the quote.
",
+ "operationId": "PostQuotesQuoteFinalize",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "quote",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "expires_at": {
+ "description": "A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch.",
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/quote"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/quotes/{quote}/line_items": {
+ "get": {
+ "description": "When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
",
+ "operationId": "GetQuotesQuoteLineItems",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "in": "path",
+ "name": "quote",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "QuotesResourceListLineItems",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/quotes/{quote}/pdf": {
+ "get": {
+ "description": "Download the PDF for a finalized quote. Explanation for special handling can be found here
",
+ "operationId": "GetQuotesQuotePdf",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "quote",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/pdf": {
+ "schema": {
+ "format": "binary",
+ "type": "string"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ },
+ "servers": [
+ {
+ "url": "https://files.stripe.com/"
+ }
+ ]
+ }
+ },
+ "/v1/radar/early_fraud_warnings": {
+ "get": {
+ "description": "Returns a list of early fraud warnings.
",
+ "operationId": "GetRadarEarlyFraudWarnings",
+ "parameters": [
+ {
+ "description": "Only return early fraud warnings for the charge specified by this charge ID.",
+ "in": "query",
+ "name": "charge",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return early fraud warnings that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return early fraud warnings for charges that were created by the PaymentIntent specified by this PaymentIntent ID.",
+ "in": "query",
+ "name": "payment_intent",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/radar.early_fraud_warning"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/radar/early_fraud_warnings",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "RadarEarlyFraudWarningList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/radar/early_fraud_warnings/{early_fraud_warning}": {
+ "get": {
+ "description": "Retrieves the details of an early fraud warning that has previously been created.
\n\nPlease refer to the early fraud warning object reference for more details.
",
+ "operationId": "GetRadarEarlyFraudWarningsEarlyFraudWarning",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "early_fraud_warning",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/radar.early_fraud_warning"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/radar/value_list_items": {
+ "get": {
+ "description": "Returns a list of ValueListItem
objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
",
+ "operationId": "GetRadarValueListItems",
+ "parameters": [
+ {
+ "description": "Only return items that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Return items belonging to the parent list whose value matches the specified value (using an \"is like\" match).",
+ "in": "query",
+ "name": "value",
+ "required": false,
+ "schema": {
+ "maxLength": 800,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Identifier for the parent value list this item belongs to.",
+ "in": "query",
+ "name": "value_list",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/radar.value_list_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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/radar/value_list_items",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "RadarListListItemList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new ValueListItem
object, which is added to the specified parent value list.
",
+ "operationId": "PostRadarValueListItems",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "value": {
+ "description": "The value of the item (whose type must match the type of the parent value list).",
+ "maxLength": 800,
+ "type": "string"
+ },
+ "value_list": {
+ "description": "The identifier of the value list which the created item will be added to.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "value",
+ "value_list"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/radar.value_list_item"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/radar/value_list_items/{item}": {
+ "delete": {
+ "description": "Deletes a ValueListItem
object, removing it from its parent value list.
",
+ "operationId": "DeleteRadarValueListItemsItem",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "item",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_radar.value_list_item"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves a ValueListItem
object.
",
+ "operationId": "GetRadarValueListItemsItem",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "item",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/radar.value_list_item"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/radar/value_lists": {
+ "get": {
+ "description": "Returns a list of ValueList
objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
",
+ "operationId": "GetRadarValueLists",
+ "parameters": [
+ {
+ "description": "The alias used to reference the value list when writing rules.",
+ "in": "query",
+ "name": "alias",
+ "required": false,
+ "schema": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A value contained within a value list - returns all value lists containing this value.",
+ "in": "query",
+ "name": "contains",
+ "required": false,
+ "schema": {
+ "maxLength": 800,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return value lists that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/radar.value_list"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/radar/value_lists",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "RadarListListList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new ValueList
object, which can then be referenced in rules.
",
+ "operationId": "PostRadarValueLists",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "alias": {
+ "description": "The name of the value list for use in rules.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "item_type": {
+ "description": "Type of the items in the value list. One of `card_fingerprint`, `us_bank_account_fingerprint`, `sepa_debit_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, `case_sensitive_string`, or `customer_id`. Use `string` if the item type is unknown or mixed.",
+ "enum": [
+ "card_bin",
+ "card_fingerprint",
+ "case_sensitive_string",
+ "country",
+ "customer_id",
+ "email",
+ "ip_address",
+ "sepa_debit_fingerprint",
+ "string",
+ "us_bank_account_fingerprint"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "name": {
+ "description": "The human-readable name of the value list.",
+ "maxLength": 100,
+ "type": "string"
+ }
+ },
+ "required": [
+ "alias",
+ "name"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/radar.value_list"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/radar/value_lists/{value_list}": {
+ "delete": {
+ "description": "Deletes a ValueList
object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules.
",
+ "operationId": "DeleteRadarValueListsValueList",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "value_list",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_radar.value_list"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves a ValueList
object.
",
+ "operationId": "GetRadarValueListsValueList",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "value_list",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/radar.value_list"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates a ValueList
object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Note that item_type
is immutable.
",
+ "operationId": "PostRadarValueListsValueList",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "value_list",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "alias": {
+ "description": "The name of the value list for use in rules.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "name": {
+ "description": "The human-readable name of the value list.",
+ "maxLength": 100,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/radar.value_list"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/refunds": {
+ "get": {
+ "description": "Returns a list of all refunds you created. We return the refunds in sorted order, with the most recent refunds appearing first. The 10 most recent refunds are always available by default on the Charge object.
",
+ "operationId": "GetRefunds",
+ "parameters": [
+ {
+ "description": "Only return refunds for the charge specified by this charge ID.",
+ "in": "query",
+ "name": "charge",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return refunds that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return refunds for the PaymentIntent specified by this ID.",
+ "in": "query",
+ "name": "payment_intent",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/refund"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/refunds",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "APIMethodRefundList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.
\n\nCreating a new refund will refund a charge that has previously been created but not yet refunded.\nFunds will be refunded to the credit or debit card that was originally charged.
\n\nYou can optionally refund only part of a charge.\nYou can do so multiple times, until the entire charge has been refunded.
\n\nOnce entirely refunded, a charge can’t be refunded again.\nThis method will raise an error when called on an already-refunded charge,\nor when trying to refund more money than is left on a charge.
",
+ "operationId": "PostRefunds",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "charge": {
+ "description": "The identifier of the charge to refund.",
+ "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": {
+ "description": "Customer whose customer balance to refund from.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "instructions_email": {
+ "description": "For payment methods without native refund support (e.g., Konbini, PromptPay), use this email from the customer to receive refund instructions.",
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "origin": {
+ "description": "Origin of the refund",
+ "enum": [
+ "customer_balance"
+ ],
+ "type": "string"
+ },
+ "payment_intent": {
+ "description": "The identifier of the PaymentIntent to refund.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "reason": {
+ "description": "String indicating the reason for the refund. If set, possible values are `duplicate`, `fraudulent`, and `requested_by_customer`. If you believe the charge to be fraudulent, specifying `fraudulent` as the reason will add the associated card and email to your [block lists](https://stripe.com/docs/radar/lists), and will also help us improve our fraud detection algorithms.",
+ "enum": [
+ "duplicate",
+ "fraudulent",
+ "requested_by_customer"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "refund_application_fee": {
+ "description": "Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge.",
+ "type": "boolean"
+ },
+ "reverse_transfer": {
+ "description": "Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount).
A transfer can be reversed only by the application that created the charge.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/refund"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/refunds/{refund}": {
+ "get": {
+ "description": "Retrieves the details of an existing refund.
",
+ "operationId": "GetRefundsRefund",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "refund",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/refund"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the refund that you specify by setting the values of the passed parameters. Any parameters that you don’t provide remain unchanged.
\n\nThis request only accepts metadata
as an argument.
",
+ "operationId": "PostRefundsRefund",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "refund",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/refund"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/refunds/{refund}/cancel": {
+ "post": {
+ "description": "Cancels a refund with a status of requires_action
.
\n\nYou can’t cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action
state.
",
+ "operationId": "PostRefundsRefundCancel",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "refund",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/refund"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/reporting/report_runs": {
+ "get": {
+ "description": "Returns a list of Report Runs, with the most recent appearing first.
",
+ "operationId": "GetReportingReportRuns",
+ "parameters": [
+ {
+ "description": "Only return Report Runs that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/reporting.report_run"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/reporting/report_runs",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "FinancialReportingFinanceReportRunList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new object and begin running the report. (Certain report types require a live-mode API key.)
",
+ "operationId": "PostReportingReportRuns",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "parameters": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "parameters": {
+ "description": "Parameters specifying how the report should be run. Different Report Types have different required and optional parameters, listed in the [API Access to Reports](https://stripe.com/docs/reporting/statements/api) documentation.",
+ "properties": {
+ "columns": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "connected_account": {
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "interval_end": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "interval_start": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "payout": {
+ "type": "string"
+ },
+ "reporting_category": {
+ "enum": [
+ "advance",
+ "advance_funding",
+ "anticipation_repayment",
+ "charge",
+ "charge_failure",
+ "climate_order_purchase",
+ "climate_order_refund",
+ "connect_collection_transfer",
+ "connect_reserved_funds",
+ "contribution",
+ "dispute",
+ "dispute_reversal",
+ "fee",
+ "financing_paydown",
+ "financing_paydown_reversal",
+ "financing_payout",
+ "financing_payout_reversal",
+ "issuing_authorization_hold",
+ "issuing_authorization_release",
+ "issuing_dispute",
+ "issuing_transaction",
+ "network_cost",
+ "other_adjustment",
+ "partial_capture_reversal",
+ "payout",
+ "payout_reversal",
+ "platform_earning",
+ "platform_earning_refund",
+ "refund",
+ "refund_failure",
+ "risk_reserved_funds",
+ "tax",
+ "topup",
+ "topup_reversal",
+ "transfer",
+ "transfer_reversal",
+ "unreconciled_customer_funds"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "timezone": {
+ "enum": [
+ "Africa/Abidjan",
+ "Africa/Accra",
+ "Africa/Addis_Ababa",
+ "Africa/Algiers",
+ "Africa/Asmara",
+ "Africa/Asmera",
+ "Africa/Bamako",
+ "Africa/Bangui",
+ "Africa/Banjul",
+ "Africa/Bissau",
+ "Africa/Blantyre",
+ "Africa/Brazzaville",
+ "Africa/Bujumbura",
+ "Africa/Cairo",
+ "Africa/Casablanca",
+ "Africa/Ceuta",
+ "Africa/Conakry",
+ "Africa/Dakar",
+ "Africa/Dar_es_Salaam",
+ "Africa/Djibouti",
+ "Africa/Douala",
+ "Africa/El_Aaiun",
+ "Africa/Freetown",
+ "Africa/Gaborone",
+ "Africa/Harare",
+ "Africa/Johannesburg",
+ "Africa/Juba",
+ "Africa/Kampala",
+ "Africa/Khartoum",
+ "Africa/Kigali",
+ "Africa/Kinshasa",
+ "Africa/Lagos",
+ "Africa/Libreville",
+ "Africa/Lome",
+ "Africa/Luanda",
+ "Africa/Lubumbashi",
+ "Africa/Lusaka",
+ "Africa/Malabo",
+ "Africa/Maputo",
+ "Africa/Maseru",
+ "Africa/Mbabane",
+ "Africa/Mogadishu",
+ "Africa/Monrovia",
+ "Africa/Nairobi",
+ "Africa/Ndjamena",
+ "Africa/Niamey",
+ "Africa/Nouakchott",
+ "Africa/Ouagadougou",
+ "Africa/Porto-Novo",
+ "Africa/Sao_Tome",
+ "Africa/Timbuktu",
+ "Africa/Tripoli",
+ "Africa/Tunis",
+ "Africa/Windhoek",
+ "America/Adak",
+ "America/Anchorage",
+ "America/Anguilla",
+ "America/Antigua",
+ "America/Araguaina",
+ "America/Argentina/Buenos_Aires",
+ "America/Argentina/Catamarca",
+ "America/Argentina/ComodRivadavia",
+ "America/Argentina/Cordoba",
+ "America/Argentina/Jujuy",
+ "America/Argentina/La_Rioja",
+ "America/Argentina/Mendoza",
+ "America/Argentina/Rio_Gallegos",
+ "America/Argentina/Salta",
+ "America/Argentina/San_Juan",
+ "America/Argentina/San_Luis",
+ "America/Argentina/Tucuman",
+ "America/Argentina/Ushuaia",
+ "America/Aruba",
+ "America/Asuncion",
+ "America/Atikokan",
+ "America/Atka",
+ "America/Bahia",
+ "America/Bahia_Banderas",
+ "America/Barbados",
+ "America/Belem",
+ "America/Belize",
+ "America/Blanc-Sablon",
+ "America/Boa_Vista",
+ "America/Bogota",
+ "America/Boise",
+ "America/Buenos_Aires",
+ "America/Cambridge_Bay",
+ "America/Campo_Grande",
+ "America/Cancun",
+ "America/Caracas",
+ "America/Catamarca",
+ "America/Cayenne",
+ "America/Cayman",
+ "America/Chicago",
+ "America/Chihuahua",
+ "America/Ciudad_Juarez",
+ "America/Coral_Harbour",
+ "America/Cordoba",
+ "America/Costa_Rica",
+ "America/Creston",
+ "America/Cuiaba",
+ "America/Curacao",
+ "America/Danmarkshavn",
+ "America/Dawson",
+ "America/Dawson_Creek",
+ "America/Denver",
+ "America/Detroit",
+ "America/Dominica",
+ "America/Edmonton",
+ "America/Eirunepe",
+ "America/El_Salvador",
+ "America/Ensenada",
+ "America/Fort_Nelson",
+ "America/Fort_Wayne",
+ "America/Fortaleza",
+ "America/Glace_Bay",
+ "America/Godthab",
+ "America/Goose_Bay",
+ "America/Grand_Turk",
+ "America/Grenada",
+ "America/Guadeloupe",
+ "America/Guatemala",
+ "America/Guayaquil",
+ "America/Guyana",
+ "America/Halifax",
+ "America/Havana",
+ "America/Hermosillo",
+ "America/Indiana/Indianapolis",
+ "America/Indiana/Knox",
+ "America/Indiana/Marengo",
+ "America/Indiana/Petersburg",
+ "America/Indiana/Tell_City",
+ "America/Indiana/Vevay",
+ "America/Indiana/Vincennes",
+ "America/Indiana/Winamac",
+ "America/Indianapolis",
+ "America/Inuvik",
+ "America/Iqaluit",
+ "America/Jamaica",
+ "America/Jujuy",
+ "America/Juneau",
+ "America/Kentucky/Louisville",
+ "America/Kentucky/Monticello",
+ "America/Knox_IN",
+ "America/Kralendijk",
+ "America/La_Paz",
+ "America/Lima",
+ "America/Los_Angeles",
+ "America/Louisville",
+ "America/Lower_Princes",
+ "America/Maceio",
+ "America/Managua",
+ "America/Manaus",
+ "America/Marigot",
+ "America/Martinique",
+ "America/Matamoros",
+ "America/Mazatlan",
+ "America/Mendoza",
+ "America/Menominee",
+ "America/Merida",
+ "America/Metlakatla",
+ "America/Mexico_City",
+ "America/Miquelon",
+ "America/Moncton",
+ "America/Monterrey",
+ "America/Montevideo",
+ "America/Montreal",
+ "America/Montserrat",
+ "America/Nassau",
+ "America/New_York",
+ "America/Nipigon",
+ "America/Nome",
+ "America/Noronha",
+ "America/North_Dakota/Beulah",
+ "America/North_Dakota/Center",
+ "America/North_Dakota/New_Salem",
+ "America/Nuuk",
+ "America/Ojinaga",
+ "America/Panama",
+ "America/Pangnirtung",
+ "America/Paramaribo",
+ "America/Phoenix",
+ "America/Port-au-Prince",
+ "America/Port_of_Spain",
+ "America/Porto_Acre",
+ "America/Porto_Velho",
+ "America/Puerto_Rico",
+ "America/Punta_Arenas",
+ "America/Rainy_River",
+ "America/Rankin_Inlet",
+ "America/Recife",
+ "America/Regina",
+ "America/Resolute",
+ "America/Rio_Branco",
+ "America/Rosario",
+ "America/Santa_Isabel",
+ "America/Santarem",
+ "America/Santiago",
+ "America/Santo_Domingo",
+ "America/Sao_Paulo",
+ "America/Scoresbysund",
+ "America/Shiprock",
+ "America/Sitka",
+ "America/St_Barthelemy",
+ "America/St_Johns",
+ "America/St_Kitts",
+ "America/St_Lucia",
+ "America/St_Thomas",
+ "America/St_Vincent",
+ "America/Swift_Current",
+ "America/Tegucigalpa",
+ "America/Thule",
+ "America/Thunder_Bay",
+ "America/Tijuana",
+ "America/Toronto",
+ "America/Tortola",
+ "America/Vancouver",
+ "America/Virgin",
+ "America/Whitehorse",
+ "America/Winnipeg",
+ "America/Yakutat",
+ "America/Yellowknife",
+ "Antarctica/Casey",
+ "Antarctica/Davis",
+ "Antarctica/DumontDUrville",
+ "Antarctica/Macquarie",
+ "Antarctica/Mawson",
+ "Antarctica/McMurdo",
+ "Antarctica/Palmer",
+ "Antarctica/Rothera",
+ "Antarctica/South_Pole",
+ "Antarctica/Syowa",
+ "Antarctica/Troll",
+ "Antarctica/Vostok",
+ "Arctic/Longyearbyen",
+ "Asia/Aden",
+ "Asia/Almaty",
+ "Asia/Amman",
+ "Asia/Anadyr",
+ "Asia/Aqtau",
+ "Asia/Aqtobe",
+ "Asia/Ashgabat",
+ "Asia/Ashkhabad",
+ "Asia/Atyrau",
+ "Asia/Baghdad",
+ "Asia/Bahrain",
+ "Asia/Baku",
+ "Asia/Bangkok",
+ "Asia/Barnaul",
+ "Asia/Beirut",
+ "Asia/Bishkek",
+ "Asia/Brunei",
+ "Asia/Calcutta",
+ "Asia/Chita",
+ "Asia/Choibalsan",
+ "Asia/Chongqing",
+ "Asia/Chungking",
+ "Asia/Colombo",
+ "Asia/Dacca",
+ "Asia/Damascus",
+ "Asia/Dhaka",
+ "Asia/Dili",
+ "Asia/Dubai",
+ "Asia/Dushanbe",
+ "Asia/Famagusta",
+ "Asia/Gaza",
+ "Asia/Harbin",
+ "Asia/Hebron",
+ "Asia/Ho_Chi_Minh",
+ "Asia/Hong_Kong",
+ "Asia/Hovd",
+ "Asia/Irkutsk",
+ "Asia/Istanbul",
+ "Asia/Jakarta",
+ "Asia/Jayapura",
+ "Asia/Jerusalem",
+ "Asia/Kabul",
+ "Asia/Kamchatka",
+ "Asia/Karachi",
+ "Asia/Kashgar",
+ "Asia/Kathmandu",
+ "Asia/Katmandu",
+ "Asia/Khandyga",
+ "Asia/Kolkata",
+ "Asia/Krasnoyarsk",
+ "Asia/Kuala_Lumpur",
+ "Asia/Kuching",
+ "Asia/Kuwait",
+ "Asia/Macao",
+ "Asia/Macau",
+ "Asia/Magadan",
+ "Asia/Makassar",
+ "Asia/Manila",
+ "Asia/Muscat",
+ "Asia/Nicosia",
+ "Asia/Novokuznetsk",
+ "Asia/Novosibirsk",
+ "Asia/Omsk",
+ "Asia/Oral",
+ "Asia/Phnom_Penh",
+ "Asia/Pontianak",
+ "Asia/Pyongyang",
+ "Asia/Qatar",
+ "Asia/Qostanay",
+ "Asia/Qyzylorda",
+ "Asia/Rangoon",
+ "Asia/Riyadh",
+ "Asia/Saigon",
+ "Asia/Sakhalin",
+ "Asia/Samarkand",
+ "Asia/Seoul",
+ "Asia/Shanghai",
+ "Asia/Singapore",
+ "Asia/Srednekolymsk",
+ "Asia/Taipei",
+ "Asia/Tashkent",
+ "Asia/Tbilisi",
+ "Asia/Tehran",
+ "Asia/Tel_Aviv",
+ "Asia/Thimbu",
+ "Asia/Thimphu",
+ "Asia/Tokyo",
+ "Asia/Tomsk",
+ "Asia/Ujung_Pandang",
+ "Asia/Ulaanbaatar",
+ "Asia/Ulan_Bator",
+ "Asia/Urumqi",
+ "Asia/Ust-Nera",
+ "Asia/Vientiane",
+ "Asia/Vladivostok",
+ "Asia/Yakutsk",
+ "Asia/Yangon",
+ "Asia/Yekaterinburg",
+ "Asia/Yerevan",
+ "Atlantic/Azores",
+ "Atlantic/Bermuda",
+ "Atlantic/Canary",
+ "Atlantic/Cape_Verde",
+ "Atlantic/Faeroe",
+ "Atlantic/Faroe",
+ "Atlantic/Jan_Mayen",
+ "Atlantic/Madeira",
+ "Atlantic/Reykjavik",
+ "Atlantic/South_Georgia",
+ "Atlantic/St_Helena",
+ "Atlantic/Stanley",
+ "Australia/ACT",
+ "Australia/Adelaide",
+ "Australia/Brisbane",
+ "Australia/Broken_Hill",
+ "Australia/Canberra",
+ "Australia/Currie",
+ "Australia/Darwin",
+ "Australia/Eucla",
+ "Australia/Hobart",
+ "Australia/LHI",
+ "Australia/Lindeman",
+ "Australia/Lord_Howe",
+ "Australia/Melbourne",
+ "Australia/NSW",
+ "Australia/North",
+ "Australia/Perth",
+ "Australia/Queensland",
+ "Australia/South",
+ "Australia/Sydney",
+ "Australia/Tasmania",
+ "Australia/Victoria",
+ "Australia/West",
+ "Australia/Yancowinna",
+ "Brazil/Acre",
+ "Brazil/DeNoronha",
+ "Brazil/East",
+ "Brazil/West",
+ "CET",
+ "CST6CDT",
+ "Canada/Atlantic",
+ "Canada/Central",
+ "Canada/Eastern",
+ "Canada/Mountain",
+ "Canada/Newfoundland",
+ "Canada/Pacific",
+ "Canada/Saskatchewan",
+ "Canada/Yukon",
+ "Chile/Continental",
+ "Chile/EasterIsland",
+ "Cuba",
+ "EET",
+ "EST",
+ "EST5EDT",
+ "Egypt",
+ "Eire",
+ "Etc/GMT",
+ "Etc/GMT+0",
+ "Etc/GMT+1",
+ "Etc/GMT+10",
+ "Etc/GMT+11",
+ "Etc/GMT+12",
+ "Etc/GMT+2",
+ "Etc/GMT+3",
+ "Etc/GMT+4",
+ "Etc/GMT+5",
+ "Etc/GMT+6",
+ "Etc/GMT+7",
+ "Etc/GMT+8",
+ "Etc/GMT+9",
+ "Etc/GMT-0",
+ "Etc/GMT-1",
+ "Etc/GMT-10",
+ "Etc/GMT-11",
+ "Etc/GMT-12",
+ "Etc/GMT-13",
+ "Etc/GMT-14",
+ "Etc/GMT-2",
+ "Etc/GMT-3",
+ "Etc/GMT-4",
+ "Etc/GMT-5",
+ "Etc/GMT-6",
+ "Etc/GMT-7",
+ "Etc/GMT-8",
+ "Etc/GMT-9",
+ "Etc/GMT0",
+ "Etc/Greenwich",
+ "Etc/UCT",
+ "Etc/UTC",
+ "Etc/Universal",
+ "Etc/Zulu",
+ "Europe/Amsterdam",
+ "Europe/Andorra",
+ "Europe/Astrakhan",
+ "Europe/Athens",
+ "Europe/Belfast",
+ "Europe/Belgrade",
+ "Europe/Berlin",
+ "Europe/Bratislava",
+ "Europe/Brussels",
+ "Europe/Bucharest",
+ "Europe/Budapest",
+ "Europe/Busingen",
+ "Europe/Chisinau",
+ "Europe/Copenhagen",
+ "Europe/Dublin",
+ "Europe/Gibraltar",
+ "Europe/Guernsey",
+ "Europe/Helsinki",
+ "Europe/Isle_of_Man",
+ "Europe/Istanbul",
+ "Europe/Jersey",
+ "Europe/Kaliningrad",
+ "Europe/Kiev",
+ "Europe/Kirov",
+ "Europe/Kyiv",
+ "Europe/Lisbon",
+ "Europe/Ljubljana",
+ "Europe/London",
+ "Europe/Luxembourg",
+ "Europe/Madrid",
+ "Europe/Malta",
+ "Europe/Mariehamn",
+ "Europe/Minsk",
+ "Europe/Monaco",
+ "Europe/Moscow",
+ "Europe/Nicosia",
+ "Europe/Oslo",
+ "Europe/Paris",
+ "Europe/Podgorica",
+ "Europe/Prague",
+ "Europe/Riga",
+ "Europe/Rome",
+ "Europe/Samara",
+ "Europe/San_Marino",
+ "Europe/Sarajevo",
+ "Europe/Saratov",
+ "Europe/Simferopol",
+ "Europe/Skopje",
+ "Europe/Sofia",
+ "Europe/Stockholm",
+ "Europe/Tallinn",
+ "Europe/Tirane",
+ "Europe/Tiraspol",
+ "Europe/Ulyanovsk",
+ "Europe/Uzhgorod",
+ "Europe/Vaduz",
+ "Europe/Vatican",
+ "Europe/Vienna",
+ "Europe/Vilnius",
+ "Europe/Volgograd",
+ "Europe/Warsaw",
+ "Europe/Zagreb",
+ "Europe/Zaporozhye",
+ "Europe/Zurich",
+ "Factory",
+ "GB",
+ "GB-Eire",
+ "GMT",
+ "GMT+0",
+ "GMT-0",
+ "GMT0",
+ "Greenwich",
+ "HST",
+ "Hongkong",
+ "Iceland",
+ "Indian/Antananarivo",
+ "Indian/Chagos",
+ "Indian/Christmas",
+ "Indian/Cocos",
+ "Indian/Comoro",
+ "Indian/Kerguelen",
+ "Indian/Mahe",
+ "Indian/Maldives",
+ "Indian/Mauritius",
+ "Indian/Mayotte",
+ "Indian/Reunion",
+ "Iran",
+ "Israel",
+ "Jamaica",
+ "Japan",
+ "Kwajalein",
+ "Libya",
+ "MET",
+ "MST",
+ "MST7MDT",
+ "Mexico/BajaNorte",
+ "Mexico/BajaSur",
+ "Mexico/General",
+ "NZ",
+ "NZ-CHAT",
+ "Navajo",
+ "PRC",
+ "PST8PDT",
+ "Pacific/Apia",
+ "Pacific/Auckland",
+ "Pacific/Bougainville",
+ "Pacific/Chatham",
+ "Pacific/Chuuk",
+ "Pacific/Easter",
+ "Pacific/Efate",
+ "Pacific/Enderbury",
+ "Pacific/Fakaofo",
+ "Pacific/Fiji",
+ "Pacific/Funafuti",
+ "Pacific/Galapagos",
+ "Pacific/Gambier",
+ "Pacific/Guadalcanal",
+ "Pacific/Guam",
+ "Pacific/Honolulu",
+ "Pacific/Johnston",
+ "Pacific/Kanton",
+ "Pacific/Kiritimati",
+ "Pacific/Kosrae",
+ "Pacific/Kwajalein",
+ "Pacific/Majuro",
+ "Pacific/Marquesas",
+ "Pacific/Midway",
+ "Pacific/Nauru",
+ "Pacific/Niue",
+ "Pacific/Norfolk",
+ "Pacific/Noumea",
+ "Pacific/Pago_Pago",
+ "Pacific/Palau",
+ "Pacific/Pitcairn",
+ "Pacific/Pohnpei",
+ "Pacific/Ponape",
+ "Pacific/Port_Moresby",
+ "Pacific/Rarotonga",
+ "Pacific/Saipan",
+ "Pacific/Samoa",
+ "Pacific/Tahiti",
+ "Pacific/Tarawa",
+ "Pacific/Tongatapu",
+ "Pacific/Truk",
+ "Pacific/Wake",
+ "Pacific/Wallis",
+ "Pacific/Yap",
+ "Poland",
+ "Portugal",
+ "ROC",
+ "ROK",
+ "Singapore",
+ "Turkey",
+ "UCT",
+ "US/Alaska",
+ "US/Aleutian",
+ "US/Arizona",
+ "US/Central",
+ "US/East-Indiana",
+ "US/Eastern",
+ "US/Hawaii",
+ "US/Indiana-Starke",
+ "US/Michigan",
+ "US/Mountain",
+ "US/Pacific",
+ "US/Pacific-New",
+ "US/Samoa",
+ "UTC",
+ "Universal",
+ "W-SU",
+ "WET",
+ "Zulu"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "run_parameter_specs",
+ "type": "object"
+ },
+ "report_type": {
+ "description": "The ID of the [report type](https://stripe.com/docs/reporting/statements/api#report-types) to run, such as `\"balance.summary.1\"`.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "report_type"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/reporting.report_run"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/reporting/report_runs/{report_run}": {
+ "get": {
+ "description": "Retrieves the details of an existing Report Run.
",
+ "operationId": "GetReportingReportRunsReportRun",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "report_run",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/reporting.report_run"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/reporting/report_types": {
+ "get": {
+ "description": "Returns a full list of Report Types.
",
+ "operationId": "GetReportingReportTypes",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/reporting.report_type"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "FinancialReportingFinanceReportTypeList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/reporting/report_types/{report_type}": {
+ "get": {
+ "description": "Retrieves the details of a Report Type. (Certain report types require a live-mode API key.)
",
+ "operationId": "GetReportingReportTypesReportType",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "report_type",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/reporting.report_type"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/reviews": {
+ "get": {
+ "description": "Returns a list of Review
objects that have open
set to true
. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
",
+ "operationId": "GetReviews",
+ "parameters": [
+ {
+ "description": "Only return reviews that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/review"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "RadarReviewList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/reviews/{review}": {
+ "get": {
+ "description": "Retrieves a Review
object.
",
+ "operationId": "GetReviewsReview",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "review",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/review"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/reviews/{review}/approve": {
+ "post": {
+ "description": "Approves a Review
object, closing it and removing it from the list of reviews.
",
+ "operationId": "PostReviewsReviewApprove",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "review",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/review"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/setup_attempts": {
+ "get": {
+ "description": "Returns a list of SetupAttempts that associate with a provided SetupIntent.
",
+ "operationId": "GetSetupAttempts",
+ "parameters": [
+ {
+ "description": "A filter on the list, based on the object `created` field. The value\ncan be a string with an integer Unix timestamp or a\ndictionary with a number of different query options.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return SetupAttempts created by the SetupIntent specified by\nthis ID.",
+ "in": "query",
+ "name": "setup_intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/setup_attempt"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/setup_attempts",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PaymentFlowsSetupIntentSetupAttemptList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/setup_intents": {
+ "get": {
+ "description": "Returns a list of SetupIntents.
",
+ "operationId": "GetSetupIntents",
+ "parameters": [
+ {
+ "description": "If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.\n\nIt can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer.",
+ "in": "query",
+ "name": "attach_to_self",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return SetupIntents for the customer specified by this customer ID.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return SetupIntents that associate with the specified payment method.",
+ "in": "query",
+ "name": "payment_method",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/setup_intent"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/setup_intents",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "PaymentFlowsSetupIntentList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a SetupIntent object.
\n\nAfter you create the SetupIntent, attach a payment method and confirm\nit to collect any required permissions to charge the payment method later.
",
+ "operationId": "PostSetupIntents",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "automatic_payment_methods": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "flow_directions": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "mandate_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_types": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "single_use": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "attach_to_self": {
+ "description": "If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.\n\nIt can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer.",
+ "type": "boolean"
+ },
+ "automatic_payment_methods": {
+ "description": "When you enable this parameter, this SetupIntent accepts payment methods that you enable in the Dashboard and that are compatible with its other parameters.",
+ "properties": {
+ "allow_redirects": {
+ "enum": [
+ "always",
+ "never"
+ ],
+ "type": "string"
+ },
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_payment_methods_param",
+ "type": "object"
+ },
+ "confirm": {
+ "description": "Set to `true` to attempt to confirm this SetupIntent immediately. This parameter defaults to `false`. If a card is the attached payment method, you can provide a `return_url` in case further authentication is necessary.",
+ "type": "boolean"
+ },
+ "confirmation_token": {
+ "description": "ID of the ConfirmationToken used to confirm this SetupIntent.\n\nIf the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer": {
+ "description": "ID of the Customer this SetupIntent belongs to, if one exists.\n\nIf present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "flow_directions": {
+ "description": "Indicates the directions of money movement for which this payment method is intended to be used.\n\nInclude `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes.",
+ "items": {
+ "enum": [
+ "inbound",
+ "outbound"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "mandate_data": {
+ "anyOf": [
+ {
+ "properties": {
+ "customer_acceptance": {
+ "properties": {
+ "accepted_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "offline": {
+ "properties": {},
+ "title": "offline_param",
+ "type": "object"
+ },
+ "online": {
+ "properties": {
+ "ip_address": {
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ip_address",
+ "user_agent"
+ ],
+ "title": "online_param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "offline",
+ "online"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "customer_acceptance_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "customer_acceptance"
+ ],
+ "title": "secret_key_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "This hash contains details about the mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm)."
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "description": "The Stripe account ID created for this SetupIntent.",
+ "type": "string"
+ },
+ "payment_method": {
+ "description": "ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "payment_method_configuration": {
+ "description": "The ID of the payment method configuration to use with this SetupIntent.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "payment_method_data": {
+ "description": "When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method)\nvalue in the SetupIntent.",
+ "properties": {
+ "acss_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "institution_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "transit_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "institution_number",
+ "transit_number"
+ ],
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "affirm": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "afterpay_clearpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "alipay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "allow_redisplay": {
+ "enum": [
+ "always",
+ "limited",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "amazon_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "au_becs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "bsb_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "bsb_number"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "bacs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "sort_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "bancontact": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "billing_details": {
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "billing_details_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "email": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "name": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "billing_details_inner_params",
+ "type": "object"
+ },
+ "blik": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "boleto": {
+ "properties": {
+ "tax_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "tax_id"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "cashapp": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "customer_balance": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "eps": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "arzte_und_apotheker_bank",
+ "austrian_anadi_bank_ag",
+ "bank_austria",
+ "bankhaus_carl_spangler",
+ "bankhaus_schelhammer_und_schattera_ag",
+ "bawag_psk_ag",
+ "bks_bank_ag",
+ "brull_kallmus_bank_ag",
+ "btv_vier_lander_bank",
+ "capital_bank_grawe_gruppe_ag",
+ "deutsche_bank_ag",
+ "dolomitenbank",
+ "easybank_ag",
+ "erste_bank_und_sparkassen",
+ "hypo_alpeadriabank_international_ag",
+ "hypo_bank_burgenland_aktiengesellschaft",
+ "hypo_noe_lb_fur_niederosterreich_u_wien",
+ "hypo_oberosterreich_salzburg_steiermark",
+ "hypo_tirol_bank_ag",
+ "hypo_vorarlberg_bank_ag",
+ "marchfelder_bank",
+ "oberbank_ag",
+ "raiffeisen_bankengruppe_osterreich",
+ "schoellerbank_ag",
+ "sparda_bank_wien",
+ "volksbank_gruppe",
+ "volkskreditbank_ag",
+ "vr_bank_braunau"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "fpx": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "affin_bank",
+ "agrobank",
+ "alliance_bank",
+ "ambank",
+ "bank_islam",
+ "bank_muamalat",
+ "bank_of_china",
+ "bank_rakyat",
+ "bsn",
+ "cimb",
+ "deutsche_bank",
+ "hong_leong_bank",
+ "hsbc",
+ "kfh",
+ "maybank2e",
+ "maybank2u",
+ "ocbc",
+ "pb_enterprise",
+ "public_bank",
+ "rhb",
+ "standard_chartered",
+ "uob"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "bank"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "giropay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "grabpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "ideal": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "abn_amro",
+ "asn_bank",
+ "bunq",
+ "handelsbanken",
+ "ing",
+ "knab",
+ "moneyou",
+ "n26",
+ "nn",
+ "rabobank",
+ "regiobank",
+ "revolut",
+ "sns_bank",
+ "triodos_bank",
+ "van_lanschot",
+ "yoursafe"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "interac_present": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "klarna": {
+ "properties": {
+ "dob": {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth",
+ "type": "object"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "konbini": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "link": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "mobilepay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "multibanco": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "oxxo": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "p24": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "alior_bank",
+ "bank_millennium",
+ "bank_nowy_bfg_sa",
+ "bank_pekao_sa",
+ "banki_spbdzielcze",
+ "blik",
+ "bnp_paribas",
+ "boz",
+ "citi_handlowy",
+ "credit_agricole",
+ "envelobank",
+ "etransfer_pocztowy24",
+ "getin_bank",
+ "ideabank",
+ "ing",
+ "inteligo",
+ "mbank_mtransfer",
+ "nest_przelew",
+ "noble_pay",
+ "pbac_z_ipko",
+ "plus_bank",
+ "santander_przelew24",
+ "tmobile_usbugi_bankowe",
+ "toyota_bank",
+ "velobank",
+ "volkswagen_bank"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "paynow": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "paypal": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "pix": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "promptpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "radar_options": {
+ "properties": {
+ "session": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "radar_options_with_hidden_options",
+ "type": "object"
+ },
+ "revolut_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "properties": {
+ "iban": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "iban"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "sofort": {
+ "properties": {
+ "country": {
+ "enum": [
+ "AT",
+ "BE",
+ "DE",
+ "ES",
+ "IT",
+ "NL"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "swish": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "twint": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "acss_debit",
+ "affirm",
+ "afterpay_clearpay",
+ "alipay",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "blik",
+ "boleto",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "klarna",
+ "konbini",
+ "link",
+ "mobilepay",
+ "multibanco",
+ "oxxo",
+ "p24",
+ "paynow",
+ "paypal",
+ "pix",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "twint",
+ "us_bank_account",
+ "wechat_pay",
+ "zip"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "us_bank_account": {
+ "properties": {
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "financial_connections_account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "wechat_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "zip": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "payment_method_data_params",
+ "type": "object"
+ },
+ "payment_method_options": {
+ "description": "Payment method-specific configuration for this SetupIntent.",
+ "properties": {
+ "acss_debit": {
+ "properties": {
+ "currency": {
+ "enum": [
+ "cad",
+ "usd"
+ ],
+ "type": "string"
+ },
+ "mandate_options": {
+ "properties": {
+ "custom_mandate_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "default_for": {
+ "items": {
+ "enum": [
+ "invoice",
+ "subscription"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "interval_description": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "payment_schedule": {
+ "enum": [
+ "combined",
+ "interval",
+ "sporadic"
+ ],
+ "type": "string"
+ },
+ "transaction_type": {
+ "enum": [
+ "business",
+ "personal"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "setup_intent_payment_method_options_mandate_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "amazon_pay": {
+ "properties": {},
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "card": {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_type": {
+ "enum": [
+ "fixed",
+ "maximum"
+ ],
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "end_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "sporadic",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ },
+ "reference": {
+ "maxLength": 80,
+ "type": "string"
+ },
+ "start_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "supported_types": {
+ "items": {
+ "enum": [
+ "india"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "amount",
+ "amount_type",
+ "currency",
+ "interval",
+ "reference",
+ "start_date"
+ ],
+ "title": "setup_intent_mandate_options_param",
+ "type": "object"
+ },
+ "network": {
+ "enum": [
+ "amex",
+ "cartes_bancaires",
+ "diners",
+ "discover",
+ "eftpos_au",
+ "interac",
+ "jcb",
+ "mastercard",
+ "unionpay",
+ "unknown",
+ "visa"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "request_three_d_secure": {
+ "enum": [
+ "any",
+ "automatic",
+ "challenge"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "three_d_secure": {
+ "properties": {
+ "ares_trans_status": {
+ "enum": [
+ "A",
+ "C",
+ "I",
+ "N",
+ "R",
+ "U",
+ "Y"
+ ],
+ "type": "string"
+ },
+ "cryptogram": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "electronic_commerce_indicator": {
+ "enum": [
+ "01",
+ "02",
+ "05",
+ "06",
+ "07"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "network_options": {
+ "properties": {
+ "cartes_bancaires": {
+ "properties": {
+ "cb_avalgo": {
+ "enum": [
+ "0",
+ "1",
+ "2",
+ "3",
+ "4",
+ "A"
+ ],
+ "type": "string"
+ },
+ "cb_exemption": {
+ "maxLength": 4,
+ "type": "string"
+ },
+ "cb_score": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "cb_avalgo"
+ ],
+ "title": "cartes_bancaires_network_options_param",
+ "type": "object"
+ }
+ },
+ "title": "network_options_param",
+ "type": "object"
+ },
+ "requestor_challenge_indicator": {
+ "maxLength": 2,
+ "type": "string"
+ },
+ "transaction_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "version": {
+ "enum": [
+ "1.0.2",
+ "2.1.0",
+ "2.2.0"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ }
+ },
+ "title": "setup_intent_param",
+ "type": "object"
+ },
+ "card_present": {
+ "properties": {},
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "link": {
+ "properties": {},
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "paypal": {
+ "properties": {
+ "billing_agreement_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "properties": {
+ "mandate_options": {
+ "properties": {},
+ "title": "payment_method_options_mandate_options_param",
+ "type": "object"
+ }
+ },
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "us_bank_account": {
+ "properties": {
+ "financial_connections": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "linked_account_options_filters_param",
+ "type": "object"
+ },
+ "permissions": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "return_url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "linked_account_options_param",
+ "type": "object"
+ },
+ "mandate_options": {
+ "properties": {
+ "collection_method": {
+ "enum": [
+ "",
+ "paper"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "networks": {
+ "properties": {
+ "requested": {
+ "items": {
+ "enum": [
+ "ach",
+ "us_domestic_wire"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "networks_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "payment_method_types": {
+ "description": "The list of payment method types (for example, card) that this SetupIntent can use. If you don't provide this, it defaults to [\"card\"].",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "return_url": {
+ "description": "The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. To redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm).",
+ "type": "string"
+ },
+ "single_use": {
+ "description": "If you populate this hash, this SetupIntent generates a `single_use` mandate after successful completion.",
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "title": "setup_intent_single_use_params",
+ "type": "object"
+ },
+ "usage": {
+ "description": "Indicates how the payment method is intended to be used in the future. If not provided, this value defaults to `off_session`.",
+ "enum": [
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "use_stripe_sdk": {
+ "description": "Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/setup_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/setup_intents/{intent}": {
+ "get": {
+ "description": "Retrieves the details of a SetupIntent that has previously been created.
\n\nClient-side retrieval using a publishable key is allowed when the client_secret
is provided in the query string.
\n\nWhen retrieved with a publishable key, only a subset of properties will be returned. Please refer to the SetupIntent object reference for more details.
",
+ "operationId": "GetSetupIntentsIntent",
+ "parameters": [
+ {
+ "description": "The client secret of the SetupIntent. We require this string if you use a publishable key to retrieve the SetupIntent.",
+ "in": "query",
+ "name": "client_secret",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/setup_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates a SetupIntent object.
",
+ "operationId": "PostSetupIntentsIntent",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "flow_directions": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_types": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "attach_to_self": {
+ "description": "If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.\n\nIt can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer.",
+ "type": "boolean"
+ },
+ "customer": {
+ "description": "ID of the Customer this SetupIntent belongs to, if one exists.\n\nIf present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "flow_directions": {
+ "description": "Indicates the directions of money movement for which this payment method is intended to be used.\n\nInclude `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes.",
+ "items": {
+ "enum": [
+ "inbound",
+ "outbound"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "payment_method": {
+ "description": "ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. To unset this field to null, pass in an empty string.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "payment_method_configuration": {
+ "description": "The ID of the payment method configuration to use with this SetupIntent.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "payment_method_data": {
+ "description": "When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method)\nvalue in the SetupIntent.",
+ "properties": {
+ "acss_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "institution_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "transit_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "institution_number",
+ "transit_number"
+ ],
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "affirm": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "afterpay_clearpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "alipay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "allow_redisplay": {
+ "enum": [
+ "always",
+ "limited",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "amazon_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "au_becs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "bsb_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "bsb_number"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "bacs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "sort_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "bancontact": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "billing_details": {
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "billing_details_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "email": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "name": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "billing_details_inner_params",
+ "type": "object"
+ },
+ "blik": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "boleto": {
+ "properties": {
+ "tax_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "tax_id"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "cashapp": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "customer_balance": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "eps": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "arzte_und_apotheker_bank",
+ "austrian_anadi_bank_ag",
+ "bank_austria",
+ "bankhaus_carl_spangler",
+ "bankhaus_schelhammer_und_schattera_ag",
+ "bawag_psk_ag",
+ "bks_bank_ag",
+ "brull_kallmus_bank_ag",
+ "btv_vier_lander_bank",
+ "capital_bank_grawe_gruppe_ag",
+ "deutsche_bank_ag",
+ "dolomitenbank",
+ "easybank_ag",
+ "erste_bank_und_sparkassen",
+ "hypo_alpeadriabank_international_ag",
+ "hypo_bank_burgenland_aktiengesellschaft",
+ "hypo_noe_lb_fur_niederosterreich_u_wien",
+ "hypo_oberosterreich_salzburg_steiermark",
+ "hypo_tirol_bank_ag",
+ "hypo_vorarlberg_bank_ag",
+ "marchfelder_bank",
+ "oberbank_ag",
+ "raiffeisen_bankengruppe_osterreich",
+ "schoellerbank_ag",
+ "sparda_bank_wien",
+ "volksbank_gruppe",
+ "volkskreditbank_ag",
+ "vr_bank_braunau"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "fpx": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "affin_bank",
+ "agrobank",
+ "alliance_bank",
+ "ambank",
+ "bank_islam",
+ "bank_muamalat",
+ "bank_of_china",
+ "bank_rakyat",
+ "bsn",
+ "cimb",
+ "deutsche_bank",
+ "hong_leong_bank",
+ "hsbc",
+ "kfh",
+ "maybank2e",
+ "maybank2u",
+ "ocbc",
+ "pb_enterprise",
+ "public_bank",
+ "rhb",
+ "standard_chartered",
+ "uob"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "bank"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "giropay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "grabpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "ideal": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "abn_amro",
+ "asn_bank",
+ "bunq",
+ "handelsbanken",
+ "ing",
+ "knab",
+ "moneyou",
+ "n26",
+ "nn",
+ "rabobank",
+ "regiobank",
+ "revolut",
+ "sns_bank",
+ "triodos_bank",
+ "van_lanschot",
+ "yoursafe"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "interac_present": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "klarna": {
+ "properties": {
+ "dob": {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth",
+ "type": "object"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "konbini": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "link": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "mobilepay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "multibanco": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "oxxo": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "p24": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "alior_bank",
+ "bank_millennium",
+ "bank_nowy_bfg_sa",
+ "bank_pekao_sa",
+ "banki_spbdzielcze",
+ "blik",
+ "bnp_paribas",
+ "boz",
+ "citi_handlowy",
+ "credit_agricole",
+ "envelobank",
+ "etransfer_pocztowy24",
+ "getin_bank",
+ "ideabank",
+ "ing",
+ "inteligo",
+ "mbank_mtransfer",
+ "nest_przelew",
+ "noble_pay",
+ "pbac_z_ipko",
+ "plus_bank",
+ "santander_przelew24",
+ "tmobile_usbugi_bankowe",
+ "toyota_bank",
+ "velobank",
+ "volkswagen_bank"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "paynow": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "paypal": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "pix": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "promptpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "radar_options": {
+ "properties": {
+ "session": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "radar_options_with_hidden_options",
+ "type": "object"
+ },
+ "revolut_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "properties": {
+ "iban": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "iban"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "sofort": {
+ "properties": {
+ "country": {
+ "enum": [
+ "AT",
+ "BE",
+ "DE",
+ "ES",
+ "IT",
+ "NL"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "swish": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "twint": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "acss_debit",
+ "affirm",
+ "afterpay_clearpay",
+ "alipay",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "blik",
+ "boleto",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "klarna",
+ "konbini",
+ "link",
+ "mobilepay",
+ "multibanco",
+ "oxxo",
+ "p24",
+ "paynow",
+ "paypal",
+ "pix",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "twint",
+ "us_bank_account",
+ "wechat_pay",
+ "zip"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "us_bank_account": {
+ "properties": {
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "financial_connections_account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "wechat_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "zip": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "payment_method_data_params",
+ "type": "object"
+ },
+ "payment_method_options": {
+ "description": "Payment method-specific configuration for this SetupIntent.",
+ "properties": {
+ "acss_debit": {
+ "properties": {
+ "currency": {
+ "enum": [
+ "cad",
+ "usd"
+ ],
+ "type": "string"
+ },
+ "mandate_options": {
+ "properties": {
+ "custom_mandate_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "default_for": {
+ "items": {
+ "enum": [
+ "invoice",
+ "subscription"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "interval_description": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "payment_schedule": {
+ "enum": [
+ "combined",
+ "interval",
+ "sporadic"
+ ],
+ "type": "string"
+ },
+ "transaction_type": {
+ "enum": [
+ "business",
+ "personal"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "setup_intent_payment_method_options_mandate_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "amazon_pay": {
+ "properties": {},
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "card": {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_type": {
+ "enum": [
+ "fixed",
+ "maximum"
+ ],
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "end_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "sporadic",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ },
+ "reference": {
+ "maxLength": 80,
+ "type": "string"
+ },
+ "start_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "supported_types": {
+ "items": {
+ "enum": [
+ "india"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "amount",
+ "amount_type",
+ "currency",
+ "interval",
+ "reference",
+ "start_date"
+ ],
+ "title": "setup_intent_mandate_options_param",
+ "type": "object"
+ },
+ "network": {
+ "enum": [
+ "amex",
+ "cartes_bancaires",
+ "diners",
+ "discover",
+ "eftpos_au",
+ "interac",
+ "jcb",
+ "mastercard",
+ "unionpay",
+ "unknown",
+ "visa"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "request_three_d_secure": {
+ "enum": [
+ "any",
+ "automatic",
+ "challenge"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "three_d_secure": {
+ "properties": {
+ "ares_trans_status": {
+ "enum": [
+ "A",
+ "C",
+ "I",
+ "N",
+ "R",
+ "U",
+ "Y"
+ ],
+ "type": "string"
+ },
+ "cryptogram": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "electronic_commerce_indicator": {
+ "enum": [
+ "01",
+ "02",
+ "05",
+ "06",
+ "07"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "network_options": {
+ "properties": {
+ "cartes_bancaires": {
+ "properties": {
+ "cb_avalgo": {
+ "enum": [
+ "0",
+ "1",
+ "2",
+ "3",
+ "4",
+ "A"
+ ],
+ "type": "string"
+ },
+ "cb_exemption": {
+ "maxLength": 4,
+ "type": "string"
+ },
+ "cb_score": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "cb_avalgo"
+ ],
+ "title": "cartes_bancaires_network_options_param",
+ "type": "object"
+ }
+ },
+ "title": "network_options_param",
+ "type": "object"
+ },
+ "requestor_challenge_indicator": {
+ "maxLength": 2,
+ "type": "string"
+ },
+ "transaction_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "version": {
+ "enum": [
+ "1.0.2",
+ "2.1.0",
+ "2.2.0"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ }
+ },
+ "title": "setup_intent_param",
+ "type": "object"
+ },
+ "card_present": {
+ "properties": {},
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "link": {
+ "properties": {},
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "paypal": {
+ "properties": {
+ "billing_agreement_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "properties": {
+ "mandate_options": {
+ "properties": {},
+ "title": "payment_method_options_mandate_options_param",
+ "type": "object"
+ }
+ },
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "us_bank_account": {
+ "properties": {
+ "financial_connections": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "linked_account_options_filters_param",
+ "type": "object"
+ },
+ "permissions": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "return_url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "linked_account_options_param",
+ "type": "object"
+ },
+ "mandate_options": {
+ "properties": {
+ "collection_method": {
+ "enum": [
+ "",
+ "paper"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "networks": {
+ "properties": {
+ "requested": {
+ "items": {
+ "enum": [
+ "ach",
+ "us_domestic_wire"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "networks_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "payment_method_types": {
+ "description": "The list of payment method types (for example, card) that this SetupIntent can set up. If you don't provide this array, it defaults to [\"card\"].",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/setup_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/setup_intents/{intent}/cancel": {
+ "post": {
+ "description": "You can cancel a SetupIntent object when it’s in one of these statuses: requires_payment_method
, requires_confirmation
, or requires_action
.
\n\nAfter you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can’t cancel the SetupIntent for a Checkout Session. Expire the Checkout Session instead.
",
+ "operationId": "PostSetupIntentsIntentCancel",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "cancellation_reason": {
+ "description": "Reason for canceling this SetupIntent. Possible values are: `abandoned`, `requested_by_customer`, or `duplicate`",
+ "enum": [
+ "abandoned",
+ "duplicate",
+ "requested_by_customer"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/setup_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/setup_intents/{intent}/confirm": {
+ "post": {
+ "description": "Confirm that your customer intends to set up the current or\nprovided payment method. For example, you would confirm a SetupIntent\nwhen a customer hits the “Save” button on a payment method management\npage on your website.
\n\nIf the selected payment method does not require any additional\nsteps from the customer, the SetupIntent will transition to the\nsucceeded
status.
\n\nOtherwise, it will transition to the requires_action
status and\nsuggest additional actions via next_action
. If setup fails,\nthe SetupIntent will transition to the\nrequires_payment_method
status or the canceled
status if the\nconfirmation limit is reached.
",
+ "operationId": "PostSetupIntentsIntentConfirm",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "mandate_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_options": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "client_secret": {
+ "description": "The client secret of the SetupIntent.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "confirmation_token": {
+ "description": "ID of the ConfirmationToken used to confirm this SetupIntent.\n\nIf the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "mandate_data": {
+ "anyOf": [
+ {
+ "properties": {
+ "customer_acceptance": {
+ "properties": {
+ "accepted_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "offline": {
+ "properties": {},
+ "title": "offline_param",
+ "type": "object"
+ },
+ "online": {
+ "properties": {
+ "ip_address": {
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ip_address",
+ "user_agent"
+ ],
+ "title": "online_param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "offline",
+ "online"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "customer_acceptance_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "customer_acceptance"
+ ],
+ "title": "secret_key_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ },
+ {
+ "description": "This hash contains details about the Mandate to create",
+ "properties": {
+ "customer_acceptance": {
+ "properties": {
+ "online": {
+ "properties": {
+ "ip_address": {
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "online_param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "online"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "online",
+ "type"
+ ],
+ "title": "customer_acceptance_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "customer_acceptance"
+ ],
+ "title": "client_key_param",
+ "type": "object"
+ }
+ ]
+ },
+ "payment_method": {
+ "description": "ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "payment_method_data": {
+ "description": "When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method)\nvalue in the SetupIntent.",
+ "properties": {
+ "acss_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "institution_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "transit_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "institution_number",
+ "transit_number"
+ ],
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "affirm": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "afterpay_clearpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "alipay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "allow_redisplay": {
+ "enum": [
+ "always",
+ "limited",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "amazon_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "au_becs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "bsb_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "bsb_number"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "bacs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "sort_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "bancontact": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "billing_details": {
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "billing_details_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "email": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "name": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "billing_details_inner_params",
+ "type": "object"
+ },
+ "blik": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "boleto": {
+ "properties": {
+ "tax_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "tax_id"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "cashapp": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "customer_balance": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "eps": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "arzte_und_apotheker_bank",
+ "austrian_anadi_bank_ag",
+ "bank_austria",
+ "bankhaus_carl_spangler",
+ "bankhaus_schelhammer_und_schattera_ag",
+ "bawag_psk_ag",
+ "bks_bank_ag",
+ "brull_kallmus_bank_ag",
+ "btv_vier_lander_bank",
+ "capital_bank_grawe_gruppe_ag",
+ "deutsche_bank_ag",
+ "dolomitenbank",
+ "easybank_ag",
+ "erste_bank_und_sparkassen",
+ "hypo_alpeadriabank_international_ag",
+ "hypo_bank_burgenland_aktiengesellschaft",
+ "hypo_noe_lb_fur_niederosterreich_u_wien",
+ "hypo_oberosterreich_salzburg_steiermark",
+ "hypo_tirol_bank_ag",
+ "hypo_vorarlberg_bank_ag",
+ "marchfelder_bank",
+ "oberbank_ag",
+ "raiffeisen_bankengruppe_osterreich",
+ "schoellerbank_ag",
+ "sparda_bank_wien",
+ "volksbank_gruppe",
+ "volkskreditbank_ag",
+ "vr_bank_braunau"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "fpx": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "affin_bank",
+ "agrobank",
+ "alliance_bank",
+ "ambank",
+ "bank_islam",
+ "bank_muamalat",
+ "bank_of_china",
+ "bank_rakyat",
+ "bsn",
+ "cimb",
+ "deutsche_bank",
+ "hong_leong_bank",
+ "hsbc",
+ "kfh",
+ "maybank2e",
+ "maybank2u",
+ "ocbc",
+ "pb_enterprise",
+ "public_bank",
+ "rhb",
+ "standard_chartered",
+ "uob"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "bank"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "giropay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "grabpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "ideal": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "abn_amro",
+ "asn_bank",
+ "bunq",
+ "handelsbanken",
+ "ing",
+ "knab",
+ "moneyou",
+ "n26",
+ "nn",
+ "rabobank",
+ "regiobank",
+ "revolut",
+ "sns_bank",
+ "triodos_bank",
+ "van_lanschot",
+ "yoursafe"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "interac_present": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "klarna": {
+ "properties": {
+ "dob": {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth",
+ "type": "object"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "konbini": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "link": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "mobilepay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "multibanco": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "oxxo": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "p24": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "alior_bank",
+ "bank_millennium",
+ "bank_nowy_bfg_sa",
+ "bank_pekao_sa",
+ "banki_spbdzielcze",
+ "blik",
+ "bnp_paribas",
+ "boz",
+ "citi_handlowy",
+ "credit_agricole",
+ "envelobank",
+ "etransfer_pocztowy24",
+ "getin_bank",
+ "ideabank",
+ "ing",
+ "inteligo",
+ "mbank_mtransfer",
+ "nest_przelew",
+ "noble_pay",
+ "pbac_z_ipko",
+ "plus_bank",
+ "santander_przelew24",
+ "tmobile_usbugi_bankowe",
+ "toyota_bank",
+ "velobank",
+ "volkswagen_bank"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "paynow": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "paypal": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "pix": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "promptpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "radar_options": {
+ "properties": {
+ "session": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "radar_options_with_hidden_options",
+ "type": "object"
+ },
+ "revolut_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "properties": {
+ "iban": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "iban"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "sofort": {
+ "properties": {
+ "country": {
+ "enum": [
+ "AT",
+ "BE",
+ "DE",
+ "ES",
+ "IT",
+ "NL"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "swish": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "twint": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "acss_debit",
+ "affirm",
+ "afterpay_clearpay",
+ "alipay",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "blik",
+ "boleto",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "klarna",
+ "konbini",
+ "link",
+ "mobilepay",
+ "multibanco",
+ "oxxo",
+ "p24",
+ "paynow",
+ "paypal",
+ "pix",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "twint",
+ "us_bank_account",
+ "wechat_pay",
+ "zip"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "us_bank_account": {
+ "properties": {
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "financial_connections_account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "wechat_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "zip": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "payment_method_data_params",
+ "type": "object"
+ },
+ "payment_method_options": {
+ "description": "Payment method-specific configuration for this SetupIntent.",
+ "properties": {
+ "acss_debit": {
+ "properties": {
+ "currency": {
+ "enum": [
+ "cad",
+ "usd"
+ ],
+ "type": "string"
+ },
+ "mandate_options": {
+ "properties": {
+ "custom_mandate_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "default_for": {
+ "items": {
+ "enum": [
+ "invoice",
+ "subscription"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "interval_description": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "payment_schedule": {
+ "enum": [
+ "combined",
+ "interval",
+ "sporadic"
+ ],
+ "type": "string"
+ },
+ "transaction_type": {
+ "enum": [
+ "business",
+ "personal"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "setup_intent_payment_method_options_mandate_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "amazon_pay": {
+ "properties": {},
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "card": {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_type": {
+ "enum": [
+ "fixed",
+ "maximum"
+ ],
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "end_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "sporadic",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ },
+ "reference": {
+ "maxLength": 80,
+ "type": "string"
+ },
+ "start_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "supported_types": {
+ "items": {
+ "enum": [
+ "india"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "amount",
+ "amount_type",
+ "currency",
+ "interval",
+ "reference",
+ "start_date"
+ ],
+ "title": "setup_intent_mandate_options_param",
+ "type": "object"
+ },
+ "network": {
+ "enum": [
+ "amex",
+ "cartes_bancaires",
+ "diners",
+ "discover",
+ "eftpos_au",
+ "interac",
+ "jcb",
+ "mastercard",
+ "unionpay",
+ "unknown",
+ "visa"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "request_three_d_secure": {
+ "enum": [
+ "any",
+ "automatic",
+ "challenge"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "three_d_secure": {
+ "properties": {
+ "ares_trans_status": {
+ "enum": [
+ "A",
+ "C",
+ "I",
+ "N",
+ "R",
+ "U",
+ "Y"
+ ],
+ "type": "string"
+ },
+ "cryptogram": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "electronic_commerce_indicator": {
+ "enum": [
+ "01",
+ "02",
+ "05",
+ "06",
+ "07"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "network_options": {
+ "properties": {
+ "cartes_bancaires": {
+ "properties": {
+ "cb_avalgo": {
+ "enum": [
+ "0",
+ "1",
+ "2",
+ "3",
+ "4",
+ "A"
+ ],
+ "type": "string"
+ },
+ "cb_exemption": {
+ "maxLength": 4,
+ "type": "string"
+ },
+ "cb_score": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "cb_avalgo"
+ ],
+ "title": "cartes_bancaires_network_options_param",
+ "type": "object"
+ }
+ },
+ "title": "network_options_param",
+ "type": "object"
+ },
+ "requestor_challenge_indicator": {
+ "maxLength": 2,
+ "type": "string"
+ },
+ "transaction_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "version": {
+ "enum": [
+ "1.0.2",
+ "2.1.0",
+ "2.2.0"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ }
+ },
+ "title": "setup_intent_param",
+ "type": "object"
+ },
+ "card_present": {
+ "properties": {},
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "link": {
+ "properties": {},
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "paypal": {
+ "properties": {
+ "billing_agreement_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "properties": {
+ "mandate_options": {
+ "properties": {},
+ "title": "payment_method_options_mandate_options_param",
+ "type": "object"
+ }
+ },
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ },
+ "us_bank_account": {
+ "properties": {
+ "financial_connections": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "linked_account_options_filters_param",
+ "type": "object"
+ },
+ "permissions": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "return_url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "linked_account_options_param",
+ "type": "object"
+ },
+ "mandate_options": {
+ "properties": {
+ "collection_method": {
+ "enum": [
+ "",
+ "paper"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "networks": {
+ "properties": {
+ "requested": {
+ "items": {
+ "enum": [
+ "ach",
+ "us_domestic_wire"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "networks_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "setup_intent_payment_method_options_param",
+ "type": "object"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ "return_url": {
+ "description": "The URL to redirect your customer back to after they authenticate on the payment method's app or site.\nIf you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme.\nThis parameter is only used for cards and other redirect-based payment methods.",
+ "type": "string"
+ },
+ "use_stripe_sdk": {
+ "description": "Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/setup_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/setup_intents/{intent}/verify_microdeposits": {
+ "post": {
+ "description": "Verifies microdeposits on a SetupIntent object.
",
+ "operationId": "PostSetupIntentsIntentVerifyMicrodeposits",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "intent",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "amounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amounts": {
+ "description": "Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "client_secret": {
+ "description": "The client secret of the SetupIntent.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "descriptor_code": {
+ "description": "A six-character code starting with SM present in the microdeposit sent to the bank account.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/setup_intent"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/shipping_rates": {
+ "get": {
+ "description": "Returns a list of your shipping rates.
",
+ "operationId": "GetShippingRates",
+ "parameters": [
+ {
+ "description": "Only return shipping rates that are active or inactive.",
+ "in": "query",
+ "name": "active",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return shipping rates for the given currency.",
+ "in": "query",
+ "name": "currency",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/shipping_rate"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/shipping_rates",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "ShippingResourcesShippingRateList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new shipping rate object.
",
+ "operationId": "PostShippingRates",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "delivery_estimate": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "fixed_amount": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "delivery_estimate": {
+ "description": "The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.",
+ "properties": {
+ "maximum": {
+ "properties": {
+ "unit": {
+ "enum": [
+ "business_day",
+ "day",
+ "hour",
+ "month",
+ "week"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "unit",
+ "value"
+ ],
+ "title": "delivery_estimate_bound",
+ "type": "object"
+ },
+ "minimum": {
+ "properties": {
+ "unit": {
+ "enum": [
+ "business_day",
+ "day",
+ "hour",
+ "month",
+ "week"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "unit",
+ "value"
+ ],
+ "title": "delivery_estimate_bound",
+ "type": "object"
+ }
+ },
+ "title": "delivery_estimate",
+ "type": "object"
+ },
+ "display_name": {
+ "description": "The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fixed_amount": {
+ "description": "Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.",
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "currency_options": {
+ "additionalProperties": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount"
+ ],
+ "title": "currency_option",
+ "type": "object"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "title": "fixed_amount",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "description": "Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.",
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "tax_code": {
+ "description": "A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of calculation to use on the shipping rate.",
+ "enum": [
+ "fixed_amount"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "display_name"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/shipping_rate"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/shipping_rates/{shipping_rate_token}": {
+ "get": {
+ "description": "Returns the shipping rate object with the given ID.
",
+ "operationId": "GetShippingRatesShippingRateToken",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "shipping_rate_token",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/shipping_rate"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates an existing shipping rate object.
",
+ "operationId": "PostShippingRatesShippingRateToken",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "shipping_rate_token",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "fixed_amount": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Whether the shipping rate can be used for new purchases. Defaults to `true`.",
+ "type": "boolean"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fixed_amount": {
+ "description": "Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.",
+ "properties": {
+ "currency_options": {
+ "additionalProperties": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "currency_option_update",
+ "type": "object"
+ },
+ "type": "object"
+ }
+ },
+ "title": "fixed_amount_update",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "tax_behavior": {
+ "description": "Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.",
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/shipping_rate"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/sigma/scheduled_query_runs": {
+ "get": {
+ "description": "Returns a list of scheduled query runs.
",
+ "operationId": "GetSigmaScheduledQueryRuns",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/scheduled_query_run"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/sigma/scheduled_query_runs",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "SigmaScheduledQueryRunList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/sigma/scheduled_query_runs/{scheduled_query_run}": {
+ "get": {
+ "description": "Retrieves the details of an scheduled query run.
",
+ "operationId": "GetSigmaScheduledQueryRunsScheduledQueryRun",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "scheduled_query_run",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/scheduled_query_run"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/sources": {
+ "post": {
+ "description": "Creates a new source object.
",
+ "operationId": "PostSources",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "mandate": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "owner": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "receiver": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "redirect": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "source_order": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources. Not supported for `receiver` type sources, where charge amount may not be specified until funds land.",
+ "type": "integer"
+ },
+ "currency": {
+ "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready.",
+ "type": "string"
+ },
+ "customer": {
+ "description": "The `Customer` to whom the original source is attached to. Must be set when the original source is not a `Source` (e.g., `Card`).",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "flow": {
+ "description": "The authentication `flow` of the source to create. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`. It is generally inferred unless a type supports multiple flows.",
+ "enum": [
+ "code_verification",
+ "none",
+ "receiver",
+ "redirect"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "mandate": {
+ "description": "Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status.",
+ "properties": {
+ "acceptance": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "offline": {
+ "properties": {
+ "contact_email": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "contact_email"
+ ],
+ "title": "mandate_offline_acceptance_params",
+ "type": "object"
+ },
+ "online": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "mandate_online_acceptance_params",
+ "type": "object"
+ },
+ "status": {
+ "enum": [
+ "accepted",
+ "pending",
+ "refused",
+ "revoked"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "offline",
+ "online"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "title": "mandate_acceptance_params",
+ "type": "object"
+ },
+ "amount": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "currency": {
+ "type": "string"
+ },
+ "interval": {
+ "enum": [
+ "one_time",
+ "scheduled",
+ "variable"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "notification_method": {
+ "enum": [
+ "deprecated_none",
+ "email",
+ "manual",
+ "none",
+ "stripe_email"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "mandate_params",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "original_source": {
+ "description": "The source to share.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "owner": {
+ "description": "Information about the owner of the payment instrument that may be used or required by particular source types.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "source_address",
+ "type": "object"
+ },
+ "email": {
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "owner",
+ "type": "object"
+ },
+ "receiver": {
+ "description": "Optional parameters for the receiver flow. Can be set only if the source is a receiver (`flow` is `receiver`).",
+ "properties": {
+ "refund_attributes_method": {
+ "enum": [
+ "email",
+ "manual",
+ "none"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "receiver_params",
+ "type": "object"
+ },
+ "redirect": {
+ "description": "Parameters required for the redirect flow. Required if the source is authenticated by a redirect (`flow` is `redirect`).",
+ "properties": {
+ "return_url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "return_url"
+ ],
+ "title": "redirect_params",
+ "type": "object"
+ },
+ "source_order": {
+ "description": "Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it.",
+ "properties": {
+ "items": {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "parent": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "type": {
+ "enum": [
+ "discount",
+ "shipping",
+ "sku",
+ "tax"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "order_item_specs",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "shipping": {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "line1"
+ ],
+ "title": "address",
+ "type": "object"
+ },
+ "carrier": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tracking_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "address"
+ ],
+ "title": "order_shipping",
+ "type": "object"
+ }
+ },
+ "title": "shallow_order_specs",
+ "type": "object"
+ },
+ "statement_descriptor": {
+ "description": "An arbitrary string to be displayed on your customer's statement. As an example, if your website is `RunClub` and the item you're charging for is a race ticket, you may want to specify a `statement_descriptor` of `RunClub 5K race ticket.` While many payment types will display this information, some may not display it at all.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "token": {
+ "description": "An optional token used to create the source. When passed, token properties will override source parameters.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": {
+ "description": "The `type` of the source to create. Required unless `customer` and `original_source` are specified (see the [Cloning card Sources](https://stripe.com/docs/sources/connect#cloning-card-sources) guide)",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "usage": {
+ "enum": [
+ "reusable",
+ "single_use"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/source"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/sources/{source}": {
+ "get": {
+ "description": "Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information.
",
+ "operationId": "GetSourcesSource",
+ "parameters": [
+ {
+ "description": "The client secret of the source. Required if a publishable key is used to retrieve the source.",
+ "in": "query",
+ "name": "client_secret",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "source",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/source"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
\n\nThis request accepts the metadata
and owner
as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our payment method guides for more detail.
",
+ "operationId": "PostSourcesSource",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "source",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "mandate": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "owner": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "source_order": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Amount associated with the source.",
+ "type": "integer"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "mandate": {
+ "description": "Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status.",
+ "properties": {
+ "acceptance": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "offline": {
+ "properties": {
+ "contact_email": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "contact_email"
+ ],
+ "title": "mandate_offline_acceptance_params",
+ "type": "object"
+ },
+ "online": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "mandate_online_acceptance_params",
+ "type": "object"
+ },
+ "status": {
+ "enum": [
+ "accepted",
+ "pending",
+ "refused",
+ "revoked"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "offline",
+ "online"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "title": "mandate_acceptance_params",
+ "type": "object"
+ },
+ "amount": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "currency": {
+ "type": "string"
+ },
+ "interval": {
+ "enum": [
+ "one_time",
+ "scheduled",
+ "variable"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "notification_method": {
+ "enum": [
+ "deprecated_none",
+ "email",
+ "manual",
+ "none",
+ "stripe_email"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "mandate_params",
+ "type": "object"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "owner": {
+ "description": "Information about the owner of the payment instrument that may be used or required by particular source types.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "source_address",
+ "type": "object"
+ },
+ "email": {
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "owner",
+ "type": "object"
+ },
+ "source_order": {
+ "description": "Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it.",
+ "properties": {
+ "items": {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "parent": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "type": {
+ "enum": [
+ "discount",
+ "shipping",
+ "sku",
+ "tax"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "order_item_specs",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "shipping": {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "line1"
+ ],
+ "title": "address",
+ "type": "object"
+ },
+ "carrier": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tracking_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "address"
+ ],
+ "title": "order_shipping",
+ "type": "object"
+ }
+ },
+ "title": "order_params",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/source"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/sources/{source}/mandate_notifications/{mandate_notification}": {
+ "get": {
+ "description": "Retrieves a new Source MandateNotification.
",
+ "operationId": "GetSourcesSourceMandateNotificationsMandateNotification",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "mandate_notification",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "source",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/source_mandate_notification"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/sources/{source}/source_transactions": {
+ "get": {
+ "description": "List source transactions for a given source.
",
+ "operationId": "GetSourcesSourceSourceTransactions",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "in": "path",
+ "name": "source",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/source_transaction"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "ApmsSourcesSourceTransactionList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/sources/{source}/source_transactions/{source_transaction}": {
+ "get": {
+ "description": "Retrieve an existing source transaction object. Supply the unique source ID from a source creation request and the source transaction ID and Stripe will return the corresponding up-to-date source object information.
",
+ "operationId": "GetSourcesSourceSourceTransactionsSourceTransaction",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "source",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "source_transaction",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/source_transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/sources/{source}/verify": {
+ "post": {
+ "description": "Verify a given source.
",
+ "operationId": "PostSourcesSourceVerify",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "source",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "values": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "values": {
+ "description": "The values needed to verify the source.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "values"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/source"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/subscription_items": {
+ "get": {
+ "description": "Returns a list of your subscription items for a given subscription.
",
+ "operationId": "GetSubscriptionItems",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The ID of the subscription whose items will be retrieved.",
+ "in": "query",
+ "name": "subscription",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/subscription_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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/subscription_items",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "SubscriptionsItemsSubscriptionItemList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Adds a new item to an existing subscription. No existing items will be changed or replaced.
",
+ "operationId": "PostSubscriptionItems",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "billing_thresholds": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "price_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax_rates": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds."
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The coupons to redeem into discounts for the subscription item."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "payment_behavior": {
+ "description": "Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.\n\nUse `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method.\n\nUse `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).\n\nUse `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.",
+ "enum": [
+ "allow_incomplete",
+ "default_incomplete",
+ "error_if_incomplete",
+ "pending_if_incomplete"
+ ],
+ "type": "string"
+ },
+ "price": {
+ "description": "The ID of the price object.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "description": "Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.",
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "proration_behavior": {
+ "description": "Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.",
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "proration_date": {
+ "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "quantity": {
+ "description": "The quantity you'd like to apply to the subscription item you're creating.",
+ "type": "integer"
+ },
+ "subscription": {
+ "description": "The identifier of the subscription to modify.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates."
+ }
+ },
+ "required": [
+ "subscription"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription_item"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/subscription_items/{item}": {
+ "delete": {
+ "description": "Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription.
",
+ "operationId": "DeleteSubscriptionItemsItem",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "item",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "clear_usage": {
+ "description": "Delete all usage for the given subscription item. Allowed only when the current plan's `usage_type` is `metered`.",
+ "type": "boolean"
+ },
+ "proration_behavior": {
+ "description": "Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.",
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "proration_date": {
+ "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint.",
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_subscription_item"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves the subscription item with the given ID.
",
+ "operationId": "GetSubscriptionItemsItem",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "item",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription_item"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the plan or quantity of an item on a current subscription.
",
+ "operationId": "PostSubscriptionItemsItem",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "item",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "billing_thresholds": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "price_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tax_rates": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds."
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The coupons to redeem into discounts for the subscription item."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "off_session": {
+ "description": "Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `false` (on-session).",
+ "type": "boolean"
+ },
+ "payment_behavior": {
+ "description": "Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.\n\nUse `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method.\n\nUse `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).\n\nUse `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.",
+ "enum": [
+ "allow_incomplete",
+ "default_incomplete",
+ "error_if_incomplete",
+ "pending_if_incomplete"
+ ],
+ "type": "string"
+ },
+ "price": {
+ "description": "The ID of the price object. One of `price` or `price_data` is required. When changing a subscription item's price, `quantity` is set to 1 unless a `quantity` parameter is provided.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "description": "Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.",
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "proration_behavior": {
+ "description": "Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.",
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "proration_date": {
+ "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "quantity": {
+ "description": "The quantity you'd like to apply to the subscription item you're creating.",
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription_item"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/subscription_items/{subscription_item}/usage_record_summaries": {
+ "get": {
+ "description": "For the specified subscription item, returns a list of summary objects. Each object in the list provides usage information that’s been summarized from multiple usage records and over a subscription billing period (e.g., 15 usage records in the month of September).
\n\nThe list is sorted in reverse-chronological order (newest first). The first list item represents the most current usage period that hasn’t ended yet. Since new usage records can still be added, the returned summary information for the subscription item’s ID should be seen as unstable until the subscription billing period ends.
",
+ "operationId": "GetSubscriptionItemsSubscriptionItemUsageRecordSummaries",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "in": "path",
+ "name": "subscription_item",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/usage_record_summary"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "UsageEventsResourceUsageRecordSummaryList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/subscription_items/{subscription_item}/usage_records": {
+ "post": {
+ "description": "Creates a usage record for a specified subscription item and date, and fills it with a quantity.
\n\nUsage records provide quantity
information that Stripe uses to track how much a customer is using your service. With usage information and the pricing model set up by the metered billing plan, Stripe helps you send accurate invoices to your customers.
\n\nThe default calculation for usage is to add up all the quantity
values of the usage records within a billing period. You can change this default behavior with the billing plan’s aggregate_usage
parameter. When there is more than one usage record with the same timestamp, Stripe adds the quantity
values together. In most cases, this is the desired resolution, however, you can change this behavior with the action
parameter.
\n\nThe default pricing model for metered billing is per-unit pricing. For finer granularity, you can configure metered billing to have a tiered pricing model.
",
+ "operationId": "PostSubscriptionItemsSubscriptionItemUsageRecords",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "subscription_item",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "timestamp": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "description": "Valid values are `increment` (default) or `set`. When using `increment` the specified `quantity` will be added to the usage at the specified timestamp. The `set` action will overwrite the usage quantity at that timestamp. If the subscription has [billing thresholds](https://stripe.com/docs/api/subscriptions/object#subscription_object-billing_thresholds), `increment` is the only allowed value.",
+ "enum": [
+ "increment",
+ "set"
+ ],
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "quantity": {
+ "description": "The usage quantity for the specified timestamp.",
+ "type": "integer"
+ },
+ "timestamp": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ],
+ "description": "The timestamp for the usage event. This timestamp must be within the current billing period of the subscription of the provided `subscription_item`, and must not be in the future. When passing `\"now\"`, Stripe records usage for the current time. Default is `\"now\"` if a value is not provided."
+ }
+ },
+ "required": [
+ "quantity"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/usage_record"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/subscription_schedules": {
+ "get": {
+ "description": "Retrieves the list of your subscription schedules.
",
+ "operationId": "GetSubscriptionSchedules",
+ "parameters": [
+ {
+ "description": "Only return subscription schedules that were created canceled the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "canceled_at",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return subscription schedules that completed during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "completed_at",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return subscription schedules that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return subscription schedules for the given customer.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return subscription schedules that were released during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "released_at",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return subscription schedules that have not started yet.",
+ "in": "query",
+ "name": "scheduled",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/subscription_schedule"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/subscription_schedules",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "SubscriptionSchedulesResourceScheduleList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.
",
+ "operationId": "PostSubscriptionSchedules",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "default_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "phases": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "start_date": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "customer": {
+ "description": "The identifier of the customer to create the subscription schedule for.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_settings": {
+ "description": "Object representing the subscription schedule's default settings.",
+ "properties": {
+ "application_fee_percent": {
+ "type": "number"
+ },
+ "automatic_tax": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_config",
+ "type": "object"
+ },
+ "billing_cycle_anchor": {
+ "enum": [
+ "automatic",
+ "phase_start"
+ ],
+ "type": "string"
+ },
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_gte": {
+ "type": "integer"
+ },
+ "reset_billing_cycle_anchor": {
+ "type": "boolean"
+ }
+ },
+ "title": "billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "collection_method": {
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "default_payment_method": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "invoice_settings": {
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "days_until_due": {
+ "type": "integer"
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "subscription_schedule_default_settings_param",
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "transfer_data": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "default_settings_params",
+ "type": "object"
+ },
+ "end_behavior": {
+ "description": "Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running. `cancel` will end the subscription schedule and cancel the underlying subscription.",
+ "enum": [
+ "cancel",
+ "none",
+ "release",
+ "renew"
+ ],
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "from_subscription": {
+ "description": "Migrate an existing subscription to be managed by a subscription schedule. If this parameter is set, a subscription schedule will be created using the subscription's item(s), set to auto-renew using the subscription's interval. When using this parameter, other parameters (such as phase values) cannot be set. To create a subscription schedule with other modifications, we recommend making two separate API calls.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "phases": {
+ "description": "List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase.",
+ "items": {
+ "properties": {
+ "add_invoice_items": {
+ "items": {
+ "properties": {
+ "discounts": {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data_with_negative_amounts",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "add_invoice_item_entry",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "application_fee_percent": {
+ "type": "number"
+ },
+ "automatic_tax": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_config",
+ "type": "object"
+ },
+ "billing_cycle_anchor": {
+ "enum": [
+ "automatic",
+ "phase_start"
+ ],
+ "type": "string"
+ },
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_gte": {
+ "type": "integer"
+ },
+ "reset_billing_cycle_anchor": {
+ "type": "boolean"
+ }
+ },
+ "title": "billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "collection_method": {
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "default_payment_method": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "end_date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "invoice_settings": {
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "days_until_due": {
+ "type": "integer"
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "invoice_settings",
+ "type": "object"
+ },
+ "items": {
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "configuration_item_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "iterations": {
+ "type": "integer"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "type": "string"
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "transfer_data": {
+ "properties": {
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ "trial": {
+ "type": "boolean"
+ },
+ "trial_end": {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "items"
+ ],
+ "title": "phase_configuration_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "start_date": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "When the subscription schedule starts. We recommend using `now` so that it starts the subscription immediately. You can also use a Unix timestamp to backdate the subscription so that it starts on a past date, or set a future date for the subscription to start on."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription_schedule"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/subscription_schedules/{schedule}": {
+ "get": {
+ "description": "Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation.
",
+ "operationId": "GetSubscriptionSchedulesSchedule",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "schedule",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription_schedule"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates an existing subscription schedule.
",
+ "operationId": "PostSubscriptionSchedulesSchedule",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "schedule",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "default_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "phases": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "default_settings": {
+ "description": "Object representing the subscription schedule's default settings.",
+ "properties": {
+ "application_fee_percent": {
+ "type": "number"
+ },
+ "automatic_tax": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_config",
+ "type": "object"
+ },
+ "billing_cycle_anchor": {
+ "enum": [
+ "automatic",
+ "phase_start"
+ ],
+ "type": "string"
+ },
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_gte": {
+ "type": "integer"
+ },
+ "reset_billing_cycle_anchor": {
+ "type": "boolean"
+ }
+ },
+ "title": "billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "collection_method": {
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "default_payment_method": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "invoice_settings": {
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "days_until_due": {
+ "type": "integer"
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "subscription_schedule_default_settings_param",
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "transfer_data": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "default_settings_params",
+ "type": "object"
+ },
+ "end_behavior": {
+ "description": "Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running. `cancel` will end the subscription schedule and cancel the underlying subscription.",
+ "enum": [
+ "cancel",
+ "none",
+ "release",
+ "renew"
+ ],
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "phases": {
+ "description": "List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase. Note that past phases can be omitted.",
+ "items": {
+ "properties": {
+ "add_invoice_items": {
+ "items": {
+ "properties": {
+ "discounts": {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data_with_negative_amounts",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "add_invoice_item_entry",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "application_fee_percent": {
+ "type": "number"
+ },
+ "automatic_tax": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_config",
+ "type": "object"
+ },
+ "billing_cycle_anchor": {
+ "enum": [
+ "automatic",
+ "phase_start"
+ ],
+ "type": "string"
+ },
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_gte": {
+ "type": "integer"
+ },
+ "reset_billing_cycle_anchor": {
+ "type": "boolean"
+ }
+ },
+ "title": "billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "collection_method": {
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_payment_method": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "end_date": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ]
+ },
+ "invoice_settings": {
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "days_until_due": {
+ "type": "integer"
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "invoice_settings",
+ "type": "object"
+ },
+ "items": {
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "configuration_item_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "iterations": {
+ "type": "integer"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "on_behalf_of": {
+ "type": "string"
+ },
+ "proration_behavior": {
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "start_date": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ]
+ },
+ "transfer_data": {
+ "properties": {
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ "trial": {
+ "type": "boolean"
+ },
+ "trial_end": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "items"
+ ],
+ "title": "phase_configuration_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "proration_behavior": {
+ "description": "If the update changes the current phase, indicates whether the changes should be prorated. The default value is `create_prorations`.",
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription_schedule"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/subscription_schedules/{schedule}/cancel": {
+ "post": {
+ "description": "Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started
or active
.
",
+ "operationId": "PostSubscriptionSchedulesScheduleCancel",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "schedule",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice_now": {
+ "description": "If the subscription schedule is `active`, indicates if a final invoice will be generated that contains any un-invoiced metered usage and new/pending proration invoice items. Defaults to `true`.",
+ "type": "boolean"
+ },
+ "prorate": {
+ "description": "If the subscription schedule is `active`, indicates if the cancellation should be prorated. Defaults to `true`.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription_schedule"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/subscription_schedules/{schedule}/release": {
+ "post": {
+ "description": "Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started
or active
. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription
property and set the subscription’s ID to the released_subscription
property.
",
+ "operationId": "PostSubscriptionSchedulesScheduleRelease",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "schedule",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "preserve_cancel_date": {
+ "description": "Keep any cancellation on the subscription that the schedule has set",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription_schedule"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/subscriptions": {
+ "get": {
+ "description": "By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify status=canceled
.
",
+ "operationId": "GetSubscriptions",
+ "parameters": [
+ {
+ "description": "Filter subscriptions by their automatic tax settings.",
+ "explode": true,
+ "in": "query",
+ "name": "automatic_tax",
+ "required": false,
+ "schema": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_filter_params",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The collection method of the subscriptions to retrieve. Either `charge_automatically` or `send_invoice`.",
+ "in": "query",
+ "name": "collection_method",
+ "required": false,
+ "schema": {
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return subscriptions that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "explode": true,
+ "in": "query",
+ "name": "current_period_end",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "explode": true,
+ "in": "query",
+ "name": "current_period_start",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The ID of the customer whose subscriptions will be retrieved.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Filter for subscriptions that contain this recurring price ID.",
+ "in": "query",
+ "name": "price",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The status of the subscriptions to retrieve. Passing in a value of `canceled` will return all canceled subscriptions, including those belonging to deleted customers. Pass `ended` to find subscriptions that are canceled and subscriptions that are expired due to [incomplete payment](https://stripe.com/docs/billing/subscriptions/overview#subscription-statuses). Passing in a value of `all` will return subscriptions of all statuses. If no value is supplied, all subscriptions that have not been canceled are returned.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "active",
+ "all",
+ "canceled",
+ "ended",
+ "incomplete",
+ "incomplete_expired",
+ "past_due",
+ "paused",
+ "trialing",
+ "unpaid"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Filter for subscriptions that are associated with the specified test clock. The response will not include subscriptions with test clocks if this and the customer parameter is not set.",
+ "in": "query",
+ "name": "test_clock",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/subscription"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/subscriptions",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "SubscriptionsSubscriptionList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions.
\n\nWhen you create a subscription with collection_method=charge_automatically
, the first invoice is finalized as part of the request.\nThe payment_behavior
parameter determines the exact behavior of the initial payment.
\n\nTo start subscriptions where the first invoice always begins in a draft
status, use subscription schedules instead.\nSchedules provide the flexibility to model more complex billing configurations that change over time.
",
+ "operationId": "PostSubscriptions",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "add_invoice_items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "application_fee_percent": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "automatic_tax": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "billing_cycle_anchor_config": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "billing_thresholds": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_tax_rates": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "on_behalf_of": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "pending_invoice_item_interval": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "trial_end": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "trial_settings": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "add_invoice_items": {
+ "description": "A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items.",
+ "items": {
+ "properties": {
+ "discounts": {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data_with_negative_amounts",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "add_invoice_item_entry",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "application_fee_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions)."
+ },
+ "automatic_tax": {
+ "description": "Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_config",
+ "type": "object"
+ },
+ "backdate_start_date": {
+ "description": "For new subscriptions, a past timestamp to backdate the subscription's start date to. If set, the first invoice will contain a proration for the timespan between the start date and the current time. Can be combined with trials and the billing cycle anchor.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "billing_cycle_anchor": {
+ "description": "A future timestamp in UTC format to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). The anchor is the reference point that aligns future billing cycle dates. It sets the day of week for `week` intervals, the day of month for `month` and `year` intervals, and the month of year for `year` intervals.",
+ "format": "unix-time",
+ "type": "integer",
+ "x-stripeBypassValidation": true
+ },
+ "billing_cycle_anchor_config": {
+ "description": "Mutually exclusive with billing_cycle_anchor and only valid with monthly and yearly price intervals. When provided, the billing_cycle_anchor is set to the next occurence of the day_of_month at the hour, minute, and second UTC.",
+ "properties": {
+ "day_of_month": {
+ "type": "integer"
+ },
+ "hour": {
+ "type": "integer"
+ },
+ "minute": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "second": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day_of_month"
+ ],
+ "title": "billing_cycle_anchor_config_param",
+ "type": "object"
+ },
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_gte": {
+ "type": "integer"
+ },
+ "reset_billing_cycle_anchor": {
+ "type": "boolean"
+ }
+ },
+ "title": "billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds."
+ },
+ "cancel_at": {
+ "description": "A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "cancel_at_period_end": {
+ "description": "Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`.",
+ "type": "boolean"
+ },
+ "collection_method": {
+ "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.",
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "coupon": {
+ "description": "The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription. This field has been deprecated and will be removed in a future API version. Use `discounts` instead.",
+ "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": {
+ "description": "The identifier of the customer to subscribe.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "days_until_due": {
+ "description": "Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`.",
+ "type": "integer"
+ },
+ "default_payment_method": {
+ "description": "ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_source": {
+ "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription."
+ },
+ "description": {
+ "description": "The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The coupons to redeem into discounts for the subscription. If not specified or empty, inherits the discount from the subscription's customer."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice_settings": {
+ "description": "All invoices will be billed using the specified settings.",
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "invoice_settings_param",
+ "type": "object"
+ },
+ "items": {
+ "description": "A list of up to 20 subscription items, each with an attached price.",
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "subscription_item_create_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "off_session": {
+ "description": "Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `false` (on-session).",
+ "type": "boolean"
+ },
+ "on_behalf_of": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The account on behalf of which to charge, for each of the subscription's invoices."
+ },
+ "payment_behavior": {
+ "description": "Only applies to subscriptions with `collection_method=charge_automatically`.\n\nUse `allow_incomplete` to create Subscriptions with `status=incomplete` if the first invoice can't be paid. Creating Subscriptions with this status allows you to manage scenarios where additional customer actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.\n\nUse `default_incomplete` to create Subscriptions with `status=incomplete` when the first invoice requires payment, otherwise start as active. Subscriptions transition to `status=active` when successfully confirming the PaymentIntent on the first invoice. This allows simpler management of scenarios where additional customer actions are needed to pay a subscription’s invoice, such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. If the PaymentIntent is not confirmed within 23 hours Subscriptions transition to `status=incomplete_expired`, which is a terminal state.\n\nUse `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's first invoice can't be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further customer action is needed, this parameter doesn't create a Subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.\n\n`pending_if_incomplete` is only used with updates and cannot be passed when creating a Subscription.\n\nSubscriptions with `collection_method=send_invoice` are automatically activated regardless of the first Invoice status.",
+ "enum": [
+ "allow_incomplete",
+ "default_incomplete",
+ "error_if_incomplete",
+ "pending_if_incomplete"
+ ],
+ "type": "string"
+ },
+ "payment_settings": {
+ "description": "Payment settings to pass to invoices created by the subscription.",
+ "properties": {
+ "payment_method_options": {
+ "properties": {
+ "acss_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "transaction_type": {
+ "enum": [
+ "business",
+ "personal"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "bancontact": {
+ "anyOf": [
+ {
+ "properties": {
+ "preferred_language": {
+ "enum": [
+ "de",
+ "en",
+ "fr",
+ "nl"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_type": {
+ "enum": [
+ "fixed",
+ "maximum"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 200,
+ "type": "string"
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "network": {
+ "enum": [
+ "amex",
+ "cartes_bancaires",
+ "diners",
+ "discover",
+ "eftpos_au",
+ "interac",
+ "jcb",
+ "mastercard",
+ "unionpay",
+ "unknown",
+ "visa"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "request_three_d_secure": {
+ "enum": [
+ "any",
+ "automatic",
+ "challenge"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "subscription_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "customer_balance": {
+ "anyOf": [
+ {
+ "properties": {
+ "bank_transfer": {
+ "properties": {
+ "eu_bank_transfer": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "eu_bank_transfer_param",
+ "type": "object"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "title": "bank_transfer_param",
+ "type": "object"
+ },
+ "funding_type": {
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "konbini": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "sepa_debit": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "us_bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "financial_connections": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "invoice_linked_account_options_filters_param",
+ "type": "object"
+ },
+ "permissions": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ }
+ },
+ "title": "invoice_linked_account_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_method_options",
+ "type": "object"
+ },
+ "payment_method_types": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "ach_credit_transfer",
+ "ach_debit",
+ "acss_debit",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "boleto",
+ "card",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "konbini",
+ "link",
+ "multibanco",
+ "p24",
+ "paynow",
+ "paypal",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "us_bank_account",
+ "wechat_pay"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "save_default_payment_method": {
+ "enum": [
+ "off",
+ "on_subscription"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_settings",
+ "type": "object"
+ },
+ "pending_invoice_item_interval": {
+ "anyOf": [
+ {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "pending_invoice_item_interval_params",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval."
+ },
+ "promotion_code": {
+ "description": "The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. This field has been deprecated and will be removed in a future API version. Use `discounts` instead.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "proration_behavior": {
+ "description": "Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`.",
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "transfer_data": {
+ "description": "If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges.",
+ "properties": {
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ "trial_end": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ],
+ "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more."
+ },
+ "trial_from_plan": {
+ "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.",
+ "type": "boolean"
+ },
+ "trial_period_days": {
+ "description": "Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.",
+ "type": "integer"
+ },
+ "trial_settings": {
+ "description": "Settings related to subscription trials.",
+ "properties": {
+ "end_behavior": {
+ "properties": {
+ "missing_payment_method": {
+ "enum": [
+ "cancel",
+ "create_invoice",
+ "pause"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "missing_payment_method"
+ ],
+ "title": "end_behavior",
+ "type": "object"
+ }
+ },
+ "required": [
+ "end_behavior"
+ ],
+ "title": "trial_settings_config",
+ "type": "object"
+ }
+ },
+ "required": [
+ "customer"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/subscriptions/search": {
+ "get": {
+ "description": "Search for subscriptions you’ve previously created using Stripe’s Search Query Language.\nDon’t use search in read-after-write flows where strict consistency is necessary. Under normal operating\nconditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up\nto an hour behind during outages. Search functionality is not available to merchants in India.
",
+ "operationId": "GetSubscriptionsSearch",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.",
+ "in": "query",
+ "name": "page",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for subscriptions](https://stripe.com/docs/search#query-fields-for-subscriptions).",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/subscription"
+ },
+ "type": "array"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "next_page": {
+ "maxLength": 5000,
+ "nullable": true,
+ "type": "string"
+ },
+ "object": {
+ "description": "String representing the object's type. Objects of the same type share the same value.",
+ "enum": [
+ "search_result"
+ ],
+ "type": "string"
+ },
+ "total_count": {
+ "description": "The total number of objects that match the query, only accurate up to 10,000.",
+ "type": "integer"
+ },
+ "url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "SearchResult",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/subscriptions/{subscription_exposed_id}": {
+ "delete": {
+ "description": "Cancels a customer’s subscription immediately. The customer will not be charged again for the subscription.
\n\nNote, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually deleted. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.
\n\nBy default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.
",
+ "operationId": "DeleteSubscriptionsSubscriptionExposedId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "subscription_exposed_id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "cancellation_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "cancellation_details": {
+ "description": "Details about why this subscription was cancelled",
+ "properties": {
+ "comment": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "feedback": {
+ "enum": [
+ "",
+ "customer_service",
+ "low_quality",
+ "missing_features",
+ "other",
+ "switched_service",
+ "too_complex",
+ "too_expensive",
+ "unused"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "cancellation_details_param",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice_now": {
+ "description": "Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items. Defaults to `true`.",
+ "type": "boolean"
+ },
+ "prorate": {
+ "description": "Will generate a proration invoice item that credits remaining unused time until the subscription period end. Defaults to `false`.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves the subscription with the given ID.
",
+ "operationId": "GetSubscriptionsSubscriptionExposedId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "subscription_exposed_id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates an existing subscription to match the specified parameters.\nWhen changing prices or quantities, we optionally prorate the price we charge next month to make up for any price changes.\nTo preview how the proration is calculated, use the create preview endpoint.
\n\nBy default, we prorate subscription changes. For example, if a customer signs up on May 1 for a 100 price, they’ll be billed 100 immediately. If on May 15 they switch to a 200 price, then on June 1 they’ll be billed 250 (200 for a renewal of her subscription, plus a 50 prorating adjustment for half of the previous month’s 100 difference). Similarly, a downgrade generates a credit that is applied to the next invoice. We also prorate when you make quantity changes.
\n\nSwitching prices does not normally change the billing date or generate an immediate charge unless:
\n\n\n- The billing interval is changed (for example, from monthly to yearly).
\n- The subscription moves from free to paid.
\n- A trial starts or ends.
\n
\n\nIn these cases, we apply a credit for the unused time on the previous price, immediately charge the customer using the new price, and reset the billing date. Learn about how Stripe immediately attempts payment for subscription changes.
\n\nIf you want to charge for an upgrade immediately, pass proration_behavior
as always_invoice
to create prorations, automatically invoice the customer for those proration adjustments, and attempt to collect payment. If you pass create_prorations
, the prorations are created but not automatically invoiced. If you want to bill the customer for the prorations before the subscription’s renewal date, you need to manually invoice the customer.
\n\nIf you don’t want to prorate, set the proration_behavior
option to none
. With this option, the customer is billed 100 on May 1 and 200 on June 1. Similarly, if you set proration_behavior
to none
when switching between different billing intervals (for example, from monthly to yearly), we don’t generate any credits for the old subscription’s unused time. We still reset the billing date and bill immediately for the new subscription.
\n\nUpdating the quantity on a subscription many times in an hour may result in rate limiting. If you need to bill for a frequently changing quantity, consider integrating usage-based billing instead.
",
+ "operationId": "PostSubscriptionsSubscriptionExposedId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "subscription_exposed_id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "add_invoice_items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "application_fee_percent": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "automatic_tax": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "billing_thresholds": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "cancel_at": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "cancellation_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_source": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "default_tax_rates": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "description": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "discounts": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "invoice_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "on_behalf_of": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "pause_collection": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_settings": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "pending_invoice_item_interval": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "transfer_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "trial_end": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "trial_settings": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "add_invoice_items": {
+ "description": "A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items.",
+ "items": {
+ "properties": {
+ "discounts": {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product"
+ ],
+ "title": "one_time_price_data_with_negative_amounts",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "add_invoice_item_entry",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "application_fee_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions)."
+ },
+ "automatic_tax": {
+ "description": "Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed.",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "liability": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "automatic_tax_config",
+ "type": "object"
+ },
+ "billing_cycle_anchor": {
+ "description": "Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time (in UTC). For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).",
+ "enum": [
+ "now",
+ "unchanged"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_gte": {
+ "type": "integer"
+ },
+ "reset_billing_cycle_anchor": {
+ "type": "boolean"
+ }
+ },
+ "title": "billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds."
+ },
+ "cancel_at": {
+ "anyOf": [
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period."
+ },
+ "cancel_at_period_end": {
+ "description": "Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`.",
+ "type": "boolean"
+ },
+ "cancellation_details": {
+ "description": "Details about why this subscription was cancelled",
+ "properties": {
+ "comment": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "feedback": {
+ "enum": [
+ "",
+ "customer_service",
+ "low_quality",
+ "missing_features",
+ "other",
+ "switched_service",
+ "too_complex",
+ "too_expensive",
+ "unused"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "cancellation_details_param",
+ "type": "object"
+ },
+ "collection_method": {
+ "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.",
+ "enum": [
+ "charge_automatically",
+ "send_invoice"
+ ],
+ "type": "string"
+ },
+ "coupon": {
+ "description": "The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription. This field has been deprecated and will be removed in a future API version. Use `discounts` instead.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "days_until_due": {
+ "description": "Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`.",
+ "type": "integer"
+ },
+ "default_payment_method": {
+ "description": "ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "default_source": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source)."
+ },
+ "default_tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates."
+ },
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs."
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The coupons to redeem into discounts for the subscription. If not specified or empty, inherits the discount from the subscription's customer."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "invoice_settings": {
+ "description": "All invoices will be billed using the specified settings.",
+ "properties": {
+ "account_tax_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "issuer": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "title": "invoice_settings_param",
+ "type": "object"
+ },
+ "items": {
+ "description": "A list of up to 20 subscription items, each with an attached price.",
+ "items": {
+ "properties": {
+ "billing_thresholds": {
+ "anyOf": [
+ {
+ "properties": {
+ "usage_gte": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "usage_gte"
+ ],
+ "title": "item_billing_thresholds_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "clear_usage": {
+ "type": "boolean"
+ },
+ "deleted": {
+ "type": "boolean"
+ },
+ "discounts": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "coupon": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "discount": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "promotion_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "discounts_data_param",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "price": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "price_data": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "recurring": {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "recurring_adhoc",
+ "type": "object"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "unit_amount": {
+ "type": "integer"
+ },
+ "unit_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "product",
+ "recurring"
+ ],
+ "title": "recurring_price_data",
+ "type": "object"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "tax_rates": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "subscription_item_update_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "off_session": {
+ "description": "Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `false` (on-session).",
+ "type": "boolean"
+ },
+ "on_behalf_of": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The account on behalf of which to charge, for each of the subscription's invoices."
+ },
+ "pause_collection": {
+ "anyOf": [
+ {
+ "properties": {
+ "behavior": {
+ "enum": [
+ "keep_as_draft",
+ "mark_uncollectible",
+ "void"
+ ],
+ "type": "string"
+ },
+ "resumes_at": {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "behavior"
+ ],
+ "title": "pause_collection_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](/billing/subscriptions/pause-payment)."
+ },
+ "payment_behavior": {
+ "description": "Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.\n\nUse `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method.\n\nUse `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).\n\nUse `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.",
+ "enum": [
+ "allow_incomplete",
+ "default_incomplete",
+ "error_if_incomplete",
+ "pending_if_incomplete"
+ ],
+ "type": "string"
+ },
+ "payment_settings": {
+ "description": "Payment settings to pass to invoices created by the subscription.",
+ "properties": {
+ "payment_method_options": {
+ "properties": {
+ "acss_debit": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "transaction_type": {
+ "enum": [
+ "business",
+ "personal"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "bancontact": {
+ "anyOf": [
+ {
+ "properties": {
+ "preferred_language": {
+ "enum": [
+ "de",
+ "en",
+ "fr",
+ "nl"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "mandate_options": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_type": {
+ "enum": [
+ "fixed",
+ "maximum"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "maxLength": 200,
+ "type": "string"
+ }
+ },
+ "title": "mandate_options_param",
+ "type": "object"
+ },
+ "network": {
+ "enum": [
+ "amex",
+ "cartes_bancaires",
+ "diners",
+ "discover",
+ "eftpos_au",
+ "interac",
+ "jcb",
+ "mastercard",
+ "unionpay",
+ "unknown",
+ "visa"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "request_three_d_secure": {
+ "enum": [
+ "any",
+ "automatic",
+ "challenge"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "subscription_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "customer_balance": {
+ "anyOf": [
+ {
+ "properties": {
+ "bank_transfer": {
+ "properties": {
+ "eu_bank_transfer": {
+ "properties": {
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "eu_bank_transfer_param",
+ "type": "object"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "title": "bank_transfer_param",
+ "type": "object"
+ },
+ "funding_type": {
+ "type": "string"
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "konbini": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "sepa_debit": {
+ "anyOf": [
+ {
+ "properties": {},
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "us_bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "financial_connections": {
+ "properties": {
+ "filters": {
+ "properties": {
+ "account_subcategories": {
+ "items": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "invoice_linked_account_options_filters_param",
+ "type": "object"
+ },
+ "permissions": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "payment_method",
+ "transactions"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "prefetch": {
+ "items": {
+ "enum": [
+ "balances",
+ "ownership",
+ "transactions"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ }
+ },
+ "title": "invoice_linked_account_options_param",
+ "type": "object"
+ },
+ "verification_method": {
+ "enum": [
+ "automatic",
+ "instant",
+ "microdeposits"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "invoice_payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_method_options",
+ "type": "object"
+ },
+ "payment_method_types": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "ach_credit_transfer",
+ "ach_debit",
+ "acss_debit",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "boleto",
+ "card",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "konbini",
+ "link",
+ "multibanco",
+ "p24",
+ "paynow",
+ "paypal",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "us_bank_account",
+ "wechat_pay"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "save_default_payment_method": {
+ "enum": [
+ "off",
+ "on_subscription"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_settings",
+ "type": "object"
+ },
+ "pending_invoice_item_interval": {
+ "anyOf": [
+ {
+ "properties": {
+ "interval": {
+ "enum": [
+ "day",
+ "month",
+ "week",
+ "year"
+ ],
+ "type": "string"
+ },
+ "interval_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "title": "pending_invoice_item_interval_params",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval."
+ },
+ "promotion_code": {
+ "description": "The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. This field has been deprecated and will be removed in a future API version. Use `discounts` instead.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "proration_behavior": {
+ "description": "Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.",
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "proration_date": {
+ "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#upcoming_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "transfer_data": {
+ "anyOf": [
+ {
+ "properties": {
+ "amount_percent": {
+ "type": "number"
+ },
+ "destination": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination"
+ ],
+ "title": "transfer_data_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value."
+ },
+ "trial_end": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ],
+ "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`."
+ },
+ "trial_from_plan": {
+ "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.",
+ "type": "boolean"
+ },
+ "trial_settings": {
+ "description": "Settings related to subscription trials.",
+ "properties": {
+ "end_behavior": {
+ "properties": {
+ "missing_payment_method": {
+ "enum": [
+ "cancel",
+ "create_invoice",
+ "pause"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "missing_payment_method"
+ ],
+ "title": "end_behavior",
+ "type": "object"
+ }
+ },
+ "required": [
+ "end_behavior"
+ ],
+ "title": "trial_settings_config",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/subscriptions/{subscription_exposed_id}/discount": {
+ "delete": {
+ "description": "Removes the currently applied discount on a subscription.
",
+ "operationId": "DeleteSubscriptionsSubscriptionExposedIdDiscount",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "subscription_exposed_id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_discount"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/subscriptions/{subscription}/resume": {
+ "post": {
+ "description": "Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active
, and if payment fails the subscription will be past_due
. The resumption invoice will void automatically if not paid by the expiration date.
",
+ "operationId": "PostSubscriptionsSubscriptionResume",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "subscription",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "billing_cycle_anchor": {
+ "description": "Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time (in UTC). Setting the value to `unchanged` advances the subscription's billing cycle anchor to the period that surrounds the current time. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).",
+ "enum": [
+ "now",
+ "unchanged"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "proration_behavior": {
+ "description": "Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.",
+ "enum": [
+ "always_invoice",
+ "create_prorations",
+ "none"
+ ],
+ "type": "string"
+ },
+ "proration_date": {
+ "description": "If set, the proration will be calculated as though the subscription was resumed at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint.",
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/subscription"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax/calculations": {
+ "post": {
+ "description": "Calculates tax based on the input and returns a Tax Calculation
object.
",
+ "operationId": "PostTaxCalculations",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "customer_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "line_items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "ship_from_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping_cost": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "currency": {
+ "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
+ "type": "string"
+ },
+ "customer": {
+ "description": "The ID of an existing customer to use for this calculation. If provided, the customer's address and tax IDs are copied to `customer_details`.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "customer_details": {
+ "description": "Details about the customer, including address and tax IDs.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "line2": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "postal_code": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "state": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "postal_address",
+ "type": "object"
+ },
+ "address_source": {
+ "enum": [
+ "billing",
+ "shipping"
+ ],
+ "type": "string"
+ },
+ "ip_address": {
+ "type": "string"
+ },
+ "tax_ids": {
+ "items": {
+ "properties": {
+ "type": {
+ "enum": [
+ "ad_nrt",
+ "ae_trn",
+ "ar_cuit",
+ "au_abn",
+ "au_arn",
+ "bg_uic",
+ "bh_vat",
+ "bo_tin",
+ "br_cnpj",
+ "br_cpf",
+ "ca_bn",
+ "ca_gst_hst",
+ "ca_pst_bc",
+ "ca_pst_mb",
+ "ca_pst_sk",
+ "ca_qst",
+ "ch_uid",
+ "ch_vat",
+ "cl_tin",
+ "cn_tin",
+ "co_nit",
+ "cr_tin",
+ "de_stn",
+ "do_rcn",
+ "ec_ruc",
+ "eg_tin",
+ "es_cif",
+ "eu_oss_vat",
+ "eu_vat",
+ "gb_vat",
+ "ge_vat",
+ "hk_br",
+ "hu_tin",
+ "id_npwp",
+ "il_vat",
+ "in_gst",
+ "is_vat",
+ "jp_cn",
+ "jp_rn",
+ "jp_trn",
+ "ke_pin",
+ "kr_brn",
+ "kz_bin",
+ "li_uid",
+ "mx_rfc",
+ "my_frp",
+ "my_itn",
+ "my_sst",
+ "ng_tin",
+ "no_vat",
+ "no_voec",
+ "nz_gst",
+ "om_vat",
+ "pe_ruc",
+ "ph_tin",
+ "ro_tin",
+ "rs_pib",
+ "ru_inn",
+ "ru_kpp",
+ "sa_vat",
+ "sg_gst",
+ "sg_uen",
+ "si_tin",
+ "sv_nit",
+ "th_vat",
+ "tr_tin",
+ "tw_vat",
+ "ua_vat",
+ "us_ein",
+ "uy_ruc",
+ "ve_rif",
+ "vn_tin",
+ "za_vat"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "value"
+ ],
+ "title": "data_params",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "taxability_override": {
+ "enum": [
+ "customer_exempt",
+ "none",
+ "reverse_charge"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "customer_details",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "line_items": {
+ "description": "A list of items the customer is purchasing.",
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "product": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "reference": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive"
+ ],
+ "type": "string"
+ },
+ "tax_code": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount"
+ ],
+ "title": "calculation_line_item",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "ship_from_details": {
+ "description": "Details about the address from which the goods are being shipped.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "line2": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "postal_code": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "state": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "merchant_postal_address",
+ "type": "object"
+ }
+ },
+ "required": [
+ "address"
+ ],
+ "title": "ship_from_details",
+ "type": "object"
+ },
+ "shipping_cost": {
+ "description": "Shipping cost details to be used for the calculation.",
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "shipping_rate": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive"
+ ],
+ "type": "string"
+ },
+ "tax_code": {
+ "type": "string"
+ }
+ },
+ "title": "shipping_cost",
+ "type": "object"
+ },
+ "tax_date": {
+ "description": "Timestamp of date at which the tax rules and rates in effect applies for the calculation. Measured in seconds since the Unix epoch. Can be up to 48 hours in the past, and up to 48 hours in the future.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "line_items"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax.calculation"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax/calculations/{calculation}": {
+ "get": {
+ "description": "Retrieves a Tax Calculation
object, if the calculation hasn’t expired.
",
+ "operationId": "GetTaxCalculationsCalculation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "calculation",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax.calculation"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax/calculations/{calculation}/line_items": {
+ "get": {
+ "description": "Retrieves the line items of a tax calculation as a collection, if the calculation hasn’t expired.
",
+ "operationId": "GetTaxCalculationsCalculationLineItems",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "calculation",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/tax.calculation_line_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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/tax/calculations/[^/]+/line_items",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TaxProductResourceTaxCalculationLineItemList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax/registrations": {
+ "get": {
+ "description": "Returns a list of Tax Registration
objects.
",
+ "operationId": "GetTaxRegistrations",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The status of the Tax Registration.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "active",
+ "all",
+ "expired",
+ "scheduled"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/tax.registration"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/tax/registrations",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TaxProductRegistrationsResourceTaxRegistrationList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new Tax Registration
object.
",
+ "operationId": "PostTaxRegistrations",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "active_from": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "country_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active_from": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ],
+ "description": "Time at which the Tax Registration becomes active. It can be either `now` to indicate the current time, or a future timestamp measured in seconds since the Unix epoch."
+ },
+ "country": {
+ "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country_options": {
+ "description": "Specific options for a registration in the specified `country`.",
+ "properties": {
+ "ae": {
+ "properties": {
+ "type": {
+ "enum": [
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "default",
+ "type": "object"
+ },
+ "at": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "au": {
+ "properties": {
+ "type": {
+ "enum": [
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "default",
+ "type": "object"
+ },
+ "be": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "bg": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "bh": {
+ "properties": {
+ "type": {
+ "enum": [
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "default",
+ "type": "object"
+ },
+ "ca": {
+ "properties": {
+ "province_standard": {
+ "properties": {
+ "province": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "province"
+ ],
+ "title": "province_standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "province_standard",
+ "simplified",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "canada",
+ "type": "object"
+ },
+ "ch": {
+ "properties": {
+ "type": {
+ "enum": [
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "default",
+ "type": "object"
+ },
+ "cl": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "co": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "cy": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "cz": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "de": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "dk": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "ee": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "eg": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "es": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "fi": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "fr": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "gb": {
+ "properties": {
+ "type": {
+ "enum": [
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "default",
+ "type": "object"
+ },
+ "ge": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "gr": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "hr": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "hu": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "id": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "ie": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "is": {
+ "properties": {
+ "type": {
+ "enum": [
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "default",
+ "type": "object"
+ },
+ "it": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "jp": {
+ "properties": {
+ "type": {
+ "enum": [
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "default",
+ "type": "object"
+ },
+ "ke": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "kr": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "kz": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "lt": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "lu": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "lv": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "mt": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "mx": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "my": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "ng": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "nl": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "no": {
+ "properties": {
+ "type": {
+ "enum": [
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "default",
+ "type": "object"
+ },
+ "nz": {
+ "properties": {
+ "type": {
+ "enum": [
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "default",
+ "type": "object"
+ },
+ "om": {
+ "properties": {
+ "type": {
+ "enum": [
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "default",
+ "type": "object"
+ },
+ "pl": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "pt": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "ro": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "sa": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "se": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "sg": {
+ "properties": {
+ "type": {
+ "enum": [
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "default",
+ "type": "object"
+ },
+ "si": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "sk": {
+ "properties": {
+ "standard": {
+ "properties": {
+ "place_of_supply_scheme": {
+ "enum": [
+ "small_seller",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "place_of_supply_scheme"
+ ],
+ "title": "standard",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ioss",
+ "oss_non_union",
+ "oss_union",
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "europe",
+ "type": "object"
+ },
+ "th": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "tr": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "us": {
+ "properties": {
+ "local_amusement_tax": {
+ "properties": {
+ "jurisdiction": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "jurisdiction"
+ ],
+ "title": "local_amusement_tax",
+ "type": "object"
+ },
+ "local_lease_tax": {
+ "properties": {
+ "jurisdiction": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "jurisdiction"
+ ],
+ "title": "local_lease_tax",
+ "type": "object"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "local_amusement_tax",
+ "local_lease_tax",
+ "state_communications_tax",
+ "state_sales_tax"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "state",
+ "type"
+ ],
+ "title": "united_states",
+ "type": "object"
+ },
+ "vn": {
+ "properties": {
+ "type": {
+ "enum": [
+ "simplified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "simplified",
+ "type": "object"
+ },
+ "za": {
+ "properties": {
+ "type": {
+ "enum": [
+ "standard"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "default",
+ "type": "object"
+ }
+ },
+ "title": "country_options",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "expires_at": {
+ "description": "If set, the Tax Registration stops being active at this time. If not set, the Tax Registration will be active indefinitely. Timestamp measured in seconds since the Unix epoch.",
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "active_from",
+ "country",
+ "country_options"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax.registration"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax/registrations/{id}": {
+ "get": {
+ "description": "Returns a Tax Registration
object.
",
+ "operationId": "GetTaxRegistrationsId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax.registration"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates an existing Tax Registration
object.
\n\nA registration cannot be deleted after it has been created. If you wish to end a registration you may do so by setting expires_at
.
",
+ "operationId": "PostTaxRegistrationsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "active_from": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expires_at": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active_from": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ }
+ ],
+ "description": "Time at which the registration becomes active. It can be either `now` to indicate the current time, or a timestamp measured in seconds since the Unix epoch."
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "expires_at": {
+ "anyOf": [
+ {
+ "enum": [
+ "now"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "If set, the registration stops being active at this time. If not set, the registration will be active indefinitely. It can be either `now` to indicate the current time, or a timestamp measured in seconds since the Unix epoch."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax.registration"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax/settings": {
+ "get": {
+ "description": "Retrieves Tax Settings
for a merchant.
",
+ "operationId": "GetTaxSettings",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax.settings"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates Tax Settings
parameters used in tax calculations. All parameters are editable but none can be removed once set.
",
+ "operationId": "PostTaxSettings",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "defaults": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "head_office": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "defaults": {
+ "description": "Default configuration to be used on Stripe Tax calculations.",
+ "properties": {
+ "tax_behavior": {
+ "enum": [
+ "exclusive",
+ "inclusive",
+ "inferred_by_currency"
+ ],
+ "type": "string"
+ },
+ "tax_code": {
+ "type": "string"
+ }
+ },
+ "title": "defaults_param",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "head_office": {
+ "description": "The place where your business is located.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "validated_country_address",
+ "type": "object"
+ }
+ },
+ "required": [
+ "address"
+ ],
+ "title": "head_office_param",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax.settings"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax/transactions/create_from_calculation": {
+ "post": {
+ "description": "Creates a Tax Transaction from a calculation, if that calculation hasn’t expired. Calculations expire after 90 days.
",
+ "operationId": "PostTaxTransactionsCreateFromCalculation",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "calculation": {
+ "description": "Tax Calculation ID to be used as input when creating the transaction.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "posted_at": {
+ "description": "The Unix timestamp representing when the tax liability is assumed or reduced, which determines the liability posting period and handling in tax liability reports. The timestamp must fall within the `tax_date` and the current time, unless the `tax_date` is scheduled in advance. Defaults to the current time.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "reference": {
+ "description": "A custom order or sale identifier, such as 'myOrder_123'. Must be unique across all transactions, including reversals.",
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "required": [
+ "calculation",
+ "reference"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax.transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax/transactions/create_reversal": {
+ "post": {
+ "description": "Partially or fully reverses a previously created Transaction
.
",
+ "operationId": "PostTaxTransactionsCreateReversal",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "line_items": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping_cost": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "flat_amount": {
+ "description": "A flat amount to reverse across the entire transaction, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) in negative. This value represents the total amount to refund from the transaction, including taxes.",
+ "type": "integer"
+ },
+ "line_items": {
+ "description": "The line item amounts to reverse.",
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_tax": {
+ "type": "integer"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "original_line_item": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "reference": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "amount_tax",
+ "original_line_item",
+ "reference"
+ ],
+ "title": "transaction_line_item_reversal",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "mode": {
+ "description": "If `partial`, the provided line item or shipping cost amounts are reversed. If `full`, the original transaction is fully reversed.",
+ "enum": [
+ "full",
+ "partial"
+ ],
+ "type": "string"
+ },
+ "original_transaction": {
+ "description": "The ID of the Transaction to partially or fully reverse.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "reference": {
+ "description": "A custom identifier for this reversal, such as `myOrder_123-refund_1`, which must be unique across all transactions. The reference helps identify this reversal transaction in exported [tax reports](https://stripe.com/docs/tax/reports).",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "shipping_cost": {
+ "description": "The shipping cost to reverse.",
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "amount_tax": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "amount",
+ "amount_tax"
+ ],
+ "title": "transaction_shipping_cost_reversal",
+ "type": "object"
+ }
+ },
+ "required": [
+ "mode",
+ "original_transaction",
+ "reference"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax.transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax/transactions/{transaction}": {
+ "get": {
+ "description": "Retrieves a Tax Transaction
object.
",
+ "operationId": "GetTaxTransactionsTransaction",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "transaction",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax.transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax/transactions/{transaction}/line_items": {
+ "get": {
+ "description": "Retrieves the line items of a committed standalone transaction as a collection.
",
+ "operationId": "GetTaxTransactionsTransactionLineItems",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "in": "path",
+ "name": "transaction",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/tax.transaction_line_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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/tax/transactions/[^/]+/line_items",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TaxProductResourceTaxTransactionLineItemList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax_codes": {
+ "get": {
+ "description": "A list of all tax codes available to add to Products in order to allow specific tax calculations.
",
+ "operationId": "GetTaxCodes",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/tax_code"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TaxProductResourceTaxCodeList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax_codes/{id}": {
+ "get": {
+ "description": "Retrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information.
",
+ "operationId": "GetTaxCodesId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax_code"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax_ids": {
+ "get": {
+ "description": "Returns a list of tax IDs.
",
+ "operationId": "GetTaxIds",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The account or customer the tax ID belongs to. Defaults to `owner[type]=self`.",
+ "explode": true,
+ "in": "query",
+ "name": "owner",
+ "required": false,
+ "schema": {
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "customer": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "application",
+ "customer",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "owner_params",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/tax_id"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TaxIDsList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new account or customer tax_id
object.
",
+ "operationId": "PostTaxIds",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "owner": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "owner": {
+ "description": "The account or customer the tax ID belongs to. Defaults to `owner[type]=self`.",
+ "properties": {
+ "account": {
+ "type": "string"
+ },
+ "customer": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "account",
+ "application",
+ "customer",
+ "self"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "owner_params",
+ "type": "object"
+ },
+ "type": {
+ "description": "Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `kz_bin`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sv_nit`, `th_vat`, `tr_tin`, `tw_vat`, `ua_vat`, `us_ein`, `uy_ruc`, `ve_rif`, `vn_tin`, or `za_vat`",
+ "enum": [
+ "ad_nrt",
+ "ae_trn",
+ "ar_cuit",
+ "au_abn",
+ "au_arn",
+ "bg_uic",
+ "bh_vat",
+ "bo_tin",
+ "br_cnpj",
+ "br_cpf",
+ "ca_bn",
+ "ca_gst_hst",
+ "ca_pst_bc",
+ "ca_pst_mb",
+ "ca_pst_sk",
+ "ca_qst",
+ "ch_uid",
+ "ch_vat",
+ "cl_tin",
+ "cn_tin",
+ "co_nit",
+ "cr_tin",
+ "de_stn",
+ "do_rcn",
+ "ec_ruc",
+ "eg_tin",
+ "es_cif",
+ "eu_oss_vat",
+ "eu_vat",
+ "gb_vat",
+ "ge_vat",
+ "hk_br",
+ "hu_tin",
+ "id_npwp",
+ "il_vat",
+ "in_gst",
+ "is_vat",
+ "jp_cn",
+ "jp_rn",
+ "jp_trn",
+ "ke_pin",
+ "kr_brn",
+ "kz_bin",
+ "li_uid",
+ "mx_rfc",
+ "my_frp",
+ "my_itn",
+ "my_sst",
+ "ng_tin",
+ "no_vat",
+ "no_voec",
+ "nz_gst",
+ "om_vat",
+ "pe_ruc",
+ "ph_tin",
+ "ro_tin",
+ "rs_pib",
+ "ru_inn",
+ "ru_kpp",
+ "sa_vat",
+ "sg_gst",
+ "sg_uen",
+ "si_tin",
+ "sv_nit",
+ "th_vat",
+ "tr_tin",
+ "tw_vat",
+ "ua_vat",
+ "us_ein",
+ "uy_ruc",
+ "ve_rif",
+ "vn_tin",
+ "za_vat"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "value": {
+ "description": "Value of the tax ID.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "value"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax_id"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax_ids/{id}": {
+ "delete": {
+ "description": "Deletes an existing account or customer tax_id
object.
",
+ "operationId": "DeleteTaxIdsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_tax_id"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves an account or customer tax_id
object.
",
+ "operationId": "GetTaxIdsId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax_id"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax_rates": {
+ "get": {
+ "description": "Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first.
",
+ "operationId": "GetTaxRates",
+ "parameters": [
+ {
+ "description": "Optional flag to filter by tax rates that are either active or inactive (archived).",
+ "in": "query",
+ "name": "active",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Optional range for filtering created date.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Optional flag to filter by tax rates that are inclusive (or those that are not inclusive).",
+ "in": "query",
+ "name": "inclusive",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/tax_rate"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/tax_rates",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TaxRatesList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new tax rate.
",
+ "operationId": "PostTaxRates",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set.",
+ "type": "boolean"
+ },
+ "country": {
+ "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "display_name": {
+ "description": "The display name of the tax rate, which will be shown to users.",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "inclusive": {
+ "description": "This specifies if the tax rate is inclusive or exclusive.",
+ "type": "boolean"
+ },
+ "jurisdiction": {
+ "description": "The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "percentage": {
+ "description": "This represents the tax rate percent out of 100.",
+ "type": "number"
+ },
+ "state": {
+ "description": "[ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, \"NY\" for New York, United States.",
+ "maxLength": 2,
+ "type": "string"
+ },
+ "tax_type": {
+ "description": "The high-level tax type, such as `vat` or `sales_tax`.",
+ "enum": [
+ "amusement_tax",
+ "communications_tax",
+ "gst",
+ "hst",
+ "igst",
+ "jct",
+ "lease_tax",
+ "pst",
+ "qst",
+ "rst",
+ "sales_tax",
+ "vat"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "display_name",
+ "inclusive",
+ "percentage"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax_rate"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tax_rates/{tax_rate}": {
+ "get": {
+ "description": "Retrieves a tax rate with the given ID
",
+ "operationId": "GetTaxRatesTaxRate",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "tax_rate",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax_rate"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates an existing tax rate.
",
+ "operationId": "PostTaxRatesTaxRate",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tax_rate",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "active": {
+ "description": "Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set.",
+ "type": "boolean"
+ },
+ "country": {
+ "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "display_name": {
+ "description": "The display name of the tax rate, which will be shown to users.",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "jurisdiction": {
+ "description": "The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "state": {
+ "description": "[ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, \"NY\" for New York, United States.",
+ "maxLength": 2,
+ "type": "string"
+ },
+ "tax_type": {
+ "description": "The high-level tax type, such as `vat` or `sales_tax`.",
+ "enum": [
+ "amusement_tax",
+ "communications_tax",
+ "gst",
+ "hst",
+ "igst",
+ "jct",
+ "lease_tax",
+ "pst",
+ "qst",
+ "rst",
+ "sales_tax",
+ "vat"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tax_rate"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/terminal/configurations": {
+ "get": {
+ "description": "Returns a list of Configuration
objects.
",
+ "operationId": "GetTerminalConfigurations",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "if present, only return the account default or non-default configurations.",
+ "in": "query",
+ "name": "is_account_default",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/terminal.configuration"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/terminal/configurations",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TerminalConfigurationConfigurationList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new Configuration
object.
",
+ "operationId": "PostTerminalConfigurations",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "bbpos_wisepos_e": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "offline": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "reboot_window": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "stripe_s700": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tipping": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "verifone_p400": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "bbpos_wisepos_e": {
+ "description": "An object containing device type specific settings for BBPOS WisePOS E readers",
+ "properties": {
+ "splashscreen": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "bbpos_wise_pose",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "Name of the configuration",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "offline": {
+ "anyOf": [
+ {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "offline",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Configurations for collecting transactions offline."
+ },
+ "reboot_window": {
+ "description": "Reboot time settings for readers that support customized reboot time configuration.",
+ "properties": {
+ "end_hour": {
+ "type": "integer"
+ },
+ "start_hour": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "end_hour",
+ "start_hour"
+ ],
+ "title": "reboot_window",
+ "type": "object"
+ },
+ "stripe_s700": {
+ "description": "An object containing device type specific settings for Stripe S700 readers",
+ "properties": {
+ "splashscreen": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "stripe_s700",
+ "type": "object"
+ },
+ "tipping": {
+ "anyOf": [
+ {
+ "properties": {
+ "aud": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "cad": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "chf": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "czk": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "dkk": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "eur": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "gbp": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "hkd": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "myr": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "nok": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "nzd": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "sek": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "sgd": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "usd": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ }
+ },
+ "title": "tipping",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Tipping configurations for readers supporting on-reader tips"
+ },
+ "verifone_p400": {
+ "description": "An object containing device type specific settings for Verifone P400 readers",
+ "properties": {
+ "splashscreen": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "verifone_p400",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/terminal.configuration"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/terminal/configurations/{configuration}": {
+ "delete": {
+ "description": "Deletes a Configuration
object.
",
+ "operationId": "DeleteTerminalConfigurationsConfiguration",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "configuration",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_terminal.configuration"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves a Configuration
object.
",
+ "operationId": "GetTerminalConfigurationsConfiguration",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "configuration",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/terminal.configuration"
+ },
+ {
+ "$ref": "#/components/schemas/deleted_terminal.configuration"
+ }
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates a new Configuration
object.
",
+ "operationId": "PostTerminalConfigurationsConfiguration",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "configuration",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "bbpos_wisepos_e": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "offline": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "reboot_window": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "stripe_s700": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tipping": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "verifone_p400": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "bbpos_wisepos_e": {
+ "anyOf": [
+ {
+ "properties": {
+ "splashscreen": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "bbpos_wise_pose",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "An object containing device type specific settings for BBPOS WisePOS E readers"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "Name of the configuration",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "offline": {
+ "anyOf": [
+ {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "title": "offline",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Configurations for collecting transactions offline."
+ },
+ "reboot_window": {
+ "anyOf": [
+ {
+ "properties": {
+ "end_hour": {
+ "type": "integer"
+ },
+ "start_hour": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "end_hour",
+ "start_hour"
+ ],
+ "title": "reboot_window",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Reboot time settings for readers that support customized reboot time configuration."
+ },
+ "stripe_s700": {
+ "anyOf": [
+ {
+ "properties": {
+ "splashscreen": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "stripe_s700",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "An object containing device type specific settings for Stripe S700 readers"
+ },
+ "tipping": {
+ "anyOf": [
+ {
+ "properties": {
+ "aud": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "cad": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "chf": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "czk": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "dkk": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "eur": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "gbp": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "hkd": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "myr": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "nok": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "nzd": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "sek": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "sgd": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ },
+ "usd": {
+ "properties": {
+ "fixed_amounts": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "percentages": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "smart_tip_threshold": {
+ "type": "integer"
+ }
+ },
+ "title": "currency_specific_config",
+ "type": "object"
+ }
+ },
+ "title": "tipping",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Tipping configurations for readers supporting on-reader tips"
+ },
+ "verifone_p400": {
+ "anyOf": [
+ {
+ "properties": {
+ "splashscreen": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "verifone_p400",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "An object containing device type specific settings for Verifone P400 readers"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/terminal.configuration"
+ },
+ {
+ "$ref": "#/components/schemas/deleted_terminal.configuration"
+ }
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/terminal/connection_tokens": {
+ "post": {
+ "description": "To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe, proxied through your server. On your backend, add an endpoint that creates and returns a connection token.
",
+ "operationId": "PostTerminalConnectionTokens",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "location": {
+ "description": "The id of the location that this connection token is scoped to. If specified the connection token will only be usable with readers assigned to that location, otherwise the connection token will be usable with all readers. Note that location scoping only applies to internet-connected readers. For more details, see [the docs on scoping connection tokens](https://docs.stripe.com/terminal/fleet/locations-and-zones?dashboard-or-api=api#connection-tokens).",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/terminal.connection_token"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/terminal/locations": {
+ "get": {
+ "description": "Returns a list of Location
objects.
",
+ "operationId": "GetTerminalLocations",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/terminal.location"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/terminal/locations",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TerminalLocationLocationList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new Location
object.\nFor further details, including which address fields are required in each country, see the Manage locations guide.
",
+ "operationId": "PostTerminalLocations",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "address": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "description": "The full address of the location.",
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "create_location_address_param",
+ "type": "object"
+ },
+ "configuration_overrides": {
+ "description": "The ID of a configuration that will be used to customize all readers in this location.",
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "display_name": {
+ "description": "A name for the location.",
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "required": [
+ "address",
+ "display_name"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/terminal.location"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/terminal/locations/{location}": {
+ "delete": {
+ "description": "Deletes a Location
object.
",
+ "operationId": "DeleteTerminalLocationsLocation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "location",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_terminal.location"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves a Location
object.
",
+ "operationId": "GetTerminalLocationsLocation",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "location",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/terminal.location"
+ },
+ {
+ "$ref": "#/components/schemas/deleted_terminal.location"
+ }
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates a Location
object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
",
+ "operationId": "PostTerminalLocationsLocation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "location",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "address": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "configuration_overrides": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "description": "The full address of the location. If you're updating the `address` field, avoid changing the `country`. If you need to modify the `country` field, create a new `Location` object and re-register any existing readers to that location.",
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "configuration_overrides": {
+ "anyOf": [
+ {
+ "maxLength": 1000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The ID of a configuration that will be used to customize all readers in this location."
+ },
+ "display_name": {
+ "description": "A name for the location.",
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/terminal.location"
+ },
+ {
+ "$ref": "#/components/schemas/deleted_terminal.location"
+ }
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/terminal/readers": {
+ "get": {
+ "description": "Returns a list of Reader
objects.
",
+ "operationId": "GetTerminalReaders",
+ "parameters": [
+ {
+ "description": "Filters readers by device type",
+ "in": "query",
+ "name": "device_type",
+ "required": false,
+ "schema": {
+ "enum": [
+ "bbpos_chipper2x",
+ "bbpos_wisepad3",
+ "bbpos_wisepos_e",
+ "mobile_phone_reader",
+ "simulated_wisepos_e",
+ "stripe_m2",
+ "stripe_s700",
+ "verifone_P400"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A location ID to filter the response list to only readers at the specific location",
+ "in": "query",
+ "name": "location",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Filters readers by serial number",
+ "in": "query",
+ "name": "serial_number",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A status filter to filter readers to only offline or online readers",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "offline",
+ "online"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "A list of readers",
+ "items": {
+ "$ref": "#/components/schemas/terminal.reader"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TerminalReaderRetrieveReader",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new Reader
object.
",
+ "operationId": "PostTerminalReaders",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "label": {
+ "description": "Custom label given to the reader for easier identification. If no label is specified, the registration code will be used.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "location": {
+ "description": "The location to assign the reader to.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "registration_code": {
+ "description": "A code generated by the reader used for registering to an account.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "registration_code"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/terminal.reader"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/terminal/readers/{reader}": {
+ "delete": {
+ "description": "Deletes a Reader
object.
",
+ "operationId": "DeleteTerminalReadersReader",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "reader",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_terminal.reader"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves a Reader
object.
",
+ "operationId": "GetTerminalReadersReader",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "reader",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/terminal.reader"
+ },
+ {
+ "$ref": "#/components/schemas/deleted_terminal.reader"
+ }
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates a Reader
object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
",
+ "operationId": "PostTerminalReadersReader",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "reader",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "label": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "label": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "The new label of the reader."
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/terminal.reader"
+ },
+ {
+ "$ref": "#/components/schemas/deleted_terminal.reader"
+ }
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/terminal/readers/{reader}/cancel_action": {
+ "post": {
+ "description": "Cancels the current reader action.
",
+ "operationId": "PostTerminalReadersReaderCancelAction",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "reader",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/terminal.reader"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/terminal/readers/{reader}/process_payment_intent": {
+ "post": {
+ "description": "Initiates a payment flow on a Reader.
",
+ "operationId": "PostTerminalReadersReaderProcessPaymentIntent",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "reader",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "process_config": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "payment_intent": {
+ "description": "PaymentIntent ID",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "process_config": {
+ "description": "Configuration overrides",
+ "properties": {
+ "enable_customer_cancellation": {
+ "type": "boolean"
+ },
+ "skip_tipping": {
+ "type": "boolean"
+ },
+ "tipping": {
+ "properties": {
+ "amount_eligible": {
+ "type": "integer"
+ }
+ },
+ "title": "tipping_config",
+ "type": "object"
+ }
+ },
+ "title": "process_config",
+ "type": "object"
+ }
+ },
+ "required": [
+ "payment_intent"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/terminal.reader"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/terminal/readers/{reader}/process_setup_intent": {
+ "post": {
+ "description": "Initiates a setup intent flow on a Reader.
",
+ "operationId": "PostTerminalReadersReaderProcessSetupIntent",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "reader",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "process_config": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "customer_consent_collected": {
+ "description": "Customer Consent Collected",
+ "type": "boolean"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "process_config": {
+ "description": "Configuration overrides",
+ "properties": {
+ "enable_customer_cancellation": {
+ "type": "boolean"
+ }
+ },
+ "title": "process_setup_config",
+ "type": "object"
+ },
+ "setup_intent": {
+ "description": "SetupIntent ID",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "customer_consent_collected",
+ "setup_intent"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/terminal.reader"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/terminal/readers/{reader}/refund_payment": {
+ "post": {
+ "description": "Initiates a refund on a Reader
",
+ "operationId": "PostTerminalReadersReaderRefundPayment",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "reader",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "refund_payment_config": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "A positive integer in __cents__ representing how much of this charge to refund.",
+ "type": "integer"
+ },
+ "charge": {
+ "description": "ID of the Charge to refund.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "payment_intent": {
+ "description": "ID of the PaymentIntent to refund.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "refund_application_fee": {
+ "description": "Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge.",
+ "type": "boolean"
+ },
+ "refund_payment_config": {
+ "description": "Configuration overrides",
+ "properties": {
+ "enable_customer_cancellation": {
+ "type": "boolean"
+ }
+ },
+ "title": "refund_payment_config",
+ "type": "object"
+ },
+ "reverse_transfer": {
+ "description": "Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount). A transfer can be reversed only by the application that created the charge.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/terminal.reader"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/terminal/readers/{reader}/set_reader_display": {
+ "post": {
+ "description": "Sets reader display to show cart details.
",
+ "operationId": "PostTerminalReadersReaderSetReaderDisplay",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "reader",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "cart": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "cart": {
+ "description": "Cart",
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "line_items": {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "integer"
+ },
+ "description": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "amount",
+ "description",
+ "quantity"
+ ],
+ "title": "line_item",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tax": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "currency",
+ "line_items",
+ "total"
+ ],
+ "title": "cart",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": {
+ "description": "Type",
+ "enum": [
+ "cart"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/terminal.reader"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/confirmation_tokens": {
+ "post": {
+ "description": "Creates a test mode Confirmation Token server side for your integration tests.
",
+ "operationId": "PostTestHelpersConfirmationTokens",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "payment_method_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "shipping": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "payment_method": {
+ "description": "ID of an existing PaymentMethod.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "payment_method_data": {
+ "description": "If provided, this hash will be used to create a PaymentMethod.",
+ "properties": {
+ "acss_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "institution_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "transit_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "institution_number",
+ "transit_number"
+ ],
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "affirm": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "afterpay_clearpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "alipay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "allow_redisplay": {
+ "enum": [
+ "always",
+ "limited",
+ "unspecified"
+ ],
+ "type": "string"
+ },
+ "amazon_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "au_becs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "bsb_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "bsb_number"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "bacs_debit": {
+ "properties": {
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "sort_code": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "bancontact": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "billing_details": {
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "billing_details_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "email": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "name": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "billing_details_inner_params",
+ "type": "object"
+ },
+ "blik": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "boleto": {
+ "properties": {
+ "tax_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "tax_id"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "cashapp": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "customer_balance": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "eps": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "arzte_und_apotheker_bank",
+ "austrian_anadi_bank_ag",
+ "bank_austria",
+ "bankhaus_carl_spangler",
+ "bankhaus_schelhammer_und_schattera_ag",
+ "bawag_psk_ag",
+ "bks_bank_ag",
+ "brull_kallmus_bank_ag",
+ "btv_vier_lander_bank",
+ "capital_bank_grawe_gruppe_ag",
+ "deutsche_bank_ag",
+ "dolomitenbank",
+ "easybank_ag",
+ "erste_bank_und_sparkassen",
+ "hypo_alpeadriabank_international_ag",
+ "hypo_bank_burgenland_aktiengesellschaft",
+ "hypo_noe_lb_fur_niederosterreich_u_wien",
+ "hypo_oberosterreich_salzburg_steiermark",
+ "hypo_tirol_bank_ag",
+ "hypo_vorarlberg_bank_ag",
+ "marchfelder_bank",
+ "oberbank_ag",
+ "raiffeisen_bankengruppe_osterreich",
+ "schoellerbank_ag",
+ "sparda_bank_wien",
+ "volksbank_gruppe",
+ "volkskreditbank_ag",
+ "vr_bank_braunau"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "fpx": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "affin_bank",
+ "agrobank",
+ "alliance_bank",
+ "ambank",
+ "bank_islam",
+ "bank_muamalat",
+ "bank_of_china",
+ "bank_rakyat",
+ "bsn",
+ "cimb",
+ "deutsche_bank",
+ "hong_leong_bank",
+ "hsbc",
+ "kfh",
+ "maybank2e",
+ "maybank2u",
+ "ocbc",
+ "pb_enterprise",
+ "public_bank",
+ "rhb",
+ "standard_chartered",
+ "uob"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "bank"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "giropay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "grabpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "ideal": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "abn_amro",
+ "asn_bank",
+ "bunq",
+ "handelsbanken",
+ "ing",
+ "knab",
+ "moneyou",
+ "n26",
+ "nn",
+ "rabobank",
+ "regiobank",
+ "revolut",
+ "sns_bank",
+ "triodos_bank",
+ "van_lanschot",
+ "yoursafe"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "interac_present": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "klarna": {
+ "properties": {
+ "dob": {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth",
+ "type": "object"
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "konbini": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "link": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "mobilepay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "multibanco": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "oxxo": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "p24": {
+ "properties": {
+ "bank": {
+ "enum": [
+ "alior_bank",
+ "bank_millennium",
+ "bank_nowy_bfg_sa",
+ "bank_pekao_sa",
+ "banki_spbdzielcze",
+ "blik",
+ "bnp_paribas",
+ "boz",
+ "citi_handlowy",
+ "credit_agricole",
+ "envelobank",
+ "etransfer_pocztowy24",
+ "getin_bank",
+ "ideabank",
+ "ing",
+ "inteligo",
+ "mbank_mtransfer",
+ "nest_przelew",
+ "noble_pay",
+ "pbac_z_ipko",
+ "plus_bank",
+ "santander_przelew24",
+ "tmobile_usbugi_bankowe",
+ "toyota_bank",
+ "velobank",
+ "volkswagen_bank"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "title": "param",
+ "type": "object"
+ },
+ "paynow": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "paypal": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "pix": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "promptpay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "radar_options": {
+ "properties": {
+ "session": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "radar_options_with_hidden_options",
+ "type": "object"
+ },
+ "revolut_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "sepa_debit": {
+ "properties": {
+ "iban": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "iban"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "sofort": {
+ "properties": {
+ "country": {
+ "enum": [
+ "AT",
+ "BE",
+ "DE",
+ "ES",
+ "IT",
+ "NL"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "title": "param",
+ "type": "object"
+ },
+ "swish": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "twint": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "acss_debit",
+ "affirm",
+ "afterpay_clearpay",
+ "alipay",
+ "amazon_pay",
+ "au_becs_debit",
+ "bacs_debit",
+ "bancontact",
+ "blik",
+ "boleto",
+ "cashapp",
+ "customer_balance",
+ "eps",
+ "fpx",
+ "giropay",
+ "grabpay",
+ "ideal",
+ "klarna",
+ "konbini",
+ "link",
+ "mobilepay",
+ "multibanco",
+ "oxxo",
+ "p24",
+ "paynow",
+ "paypal",
+ "pix",
+ "promptpay",
+ "revolut_pay",
+ "sepa_debit",
+ "sofort",
+ "swish",
+ "twint",
+ "us_bank_account",
+ "wechat_pay",
+ "zip"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "us_bank_account": {
+ "properties": {
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "financial_connections_account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ },
+ "wechat_pay": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ },
+ "zip": {
+ "properties": {},
+ "title": "param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "payment_method_data_params",
+ "type": "object"
+ },
+ "return_url": {
+ "description": "Return URL used to confirm the Intent.",
+ "type": "string"
+ },
+ "setup_future_usage": {
+ "description": "Indicates that you intend to make future payments with this ConfirmationToken's payment method.\n\nThe presence of this property will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete.",
+ "enum": [
+ "off_session",
+ "on_session"
+ ],
+ "type": "string"
+ },
+ "shipping": {
+ "description": "Shipping information for this ConfirmationToken.",
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "optional_fields_address",
+ "type": "object"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "required": [
+ "address",
+ "name"
+ ],
+ "title": "recipient_shipping_with_optional_fields_address",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/confirmation_token"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/customers/{customer}/fund_cash_balance": {
+ "post": {
+ "description": "Create an incoming testmode bank transfer
",
+ "operationId": "PostTestHelpersCustomersCustomerFundCashBalance",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "customer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Amount to be used for this test cash balance transaction. A positive integer representing how much to fund in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to fund $1.00 or 100 to fund ¥100, a zero-decimal currency).",
+ "type": "integer"
+ },
+ "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"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "reference": {
+ "description": "A description of the test funding. This simulates free-text references supplied by customers when making bank transfers to their cash balance. You can use this to test how Stripe's [reconciliation algorithm](https://stripe.com/docs/payments/customer-balance/reconciliation) applies to different user inputs.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/customer_cash_balance_transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/authorizations": {
+ "post": {
+ "description": "Create a test-mode authorization.
",
+ "operationId": "PostTestHelpersIssuingAuthorizations",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "amount_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "fleet": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "fuel": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "merchant_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "network_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "verification_data": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "The total amount to attempt to authorize. This amount is in the provided currency, or defaults to the card's currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
+ "type": "integer"
+ },
+ "amount_details": {
+ "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
+ "properties": {
+ "atm_fee": {
+ "type": "integer"
+ },
+ "cashback_amount": {
+ "type": "integer"
+ }
+ },
+ "title": "amount_details_specs",
+ "type": "object"
+ },
+ "authorization_method": {
+ "description": "How the card details were provided. Defaults to online.",
+ "enum": [
+ "chip",
+ "contactless",
+ "keyed_in",
+ "online",
+ "swipe"
+ ],
+ "type": "string"
+ },
+ "card": {
+ "description": "Card associated with this authorization.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "description": "The currency of the authorization. If not provided, defaults to the currency of the card. 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"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fleet": {
+ "description": "Fleet-specific information for authorizations using Fleet cards.",
+ "properties": {
+ "cardholder_prompt_data": {
+ "properties": {
+ "driver_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "odometer": {
+ "type": "integer"
+ },
+ "unspecified_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "user_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "vehicle_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "fleet_cardholder_prompt_data_specs",
+ "type": "object"
+ },
+ "purchase_type": {
+ "enum": [
+ "fuel_and_non_fuel_purchase",
+ "fuel_purchase",
+ "non_fuel_purchase"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "reported_breakdown": {
+ "properties": {
+ "fuel": {
+ "properties": {
+ "gross_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_fuel_specs",
+ "type": "object"
+ },
+ "non_fuel": {
+ "properties": {
+ "gross_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_non_fuel_specs",
+ "type": "object"
+ },
+ "tax": {
+ "properties": {
+ "local_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "national_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_tax_specs",
+ "type": "object"
+ }
+ },
+ "title": "fleet_reported_breakdown_specs",
+ "type": "object"
+ },
+ "service_type": {
+ "enum": [
+ "full_service",
+ "non_fuel_transaction",
+ "self_service"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "fleet_testmode_authorization_specs",
+ "type": "object"
+ },
+ "fuel": {
+ "description": "Information about fuel that was purchased with this transaction.",
+ "properties": {
+ "industry_product_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "diesel",
+ "other",
+ "unleaded_plus",
+ "unleaded_regular",
+ "unleaded_super"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "unit": {
+ "enum": [
+ "charging_minute",
+ "imperial_gallon",
+ "kilogram",
+ "kilowatt_hour",
+ "liter",
+ "other",
+ "pound",
+ "us_gallon"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "unit_cost_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fuel_specs",
+ "type": "object"
+ },
+ "is_amount_controllable": {
+ "description": "If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization.",
+ "type": "boolean"
+ },
+ "merchant_data": {
+ "description": "Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened.",
+ "properties": {
+ "category": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "network_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "terminal_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "merchant_data_specs",
+ "type": "object"
+ },
+ "network_data": {
+ "description": "Details about the authorization, such as identifiers, set by the card network.",
+ "properties": {
+ "acquiring_institution_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "network_data_specs",
+ "type": "object"
+ },
+ "verification_data": {
+ "description": "Verifications that Stripe performed on information that the cardholder provided to the merchant.",
+ "properties": {
+ "address_line1_check": {
+ "enum": [
+ "match",
+ "mismatch",
+ "not_provided"
+ ],
+ "type": "string"
+ },
+ "address_postal_code_check": {
+ "enum": [
+ "match",
+ "mismatch",
+ "not_provided"
+ ],
+ "type": "string"
+ },
+ "authentication_exemption": {
+ "properties": {
+ "claimed_by": {
+ "enum": [
+ "acquirer",
+ "issuer"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "low_value_transaction",
+ "transaction_risk_analysis",
+ "unknown"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "claimed_by",
+ "type"
+ ],
+ "title": "authentication_exemption_specs",
+ "type": "object"
+ },
+ "cvc_check": {
+ "enum": [
+ "match",
+ "mismatch",
+ "not_provided"
+ ],
+ "type": "string"
+ },
+ "expiry_check": {
+ "enum": [
+ "match",
+ "mismatch",
+ "not_provided"
+ ],
+ "type": "string"
+ },
+ "three_d_secure": {
+ "properties": {
+ "result": {
+ "enum": [
+ "attempt_acknowledged",
+ "authenticated",
+ "failed",
+ "required"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "result"
+ ],
+ "title": "three_d_secure_specs",
+ "type": "object"
+ }
+ },
+ "title": "verification_data_specs",
+ "type": "object"
+ },
+ "wallet": {
+ "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.",
+ "enum": [
+ "apple_pay",
+ "google_pay",
+ "samsung_pay"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "card"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.authorization"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/authorizations/{authorization}/capture": {
+ "post": {
+ "description": "Capture a test-mode authorization.
",
+ "operationId": "PostTestHelpersIssuingAuthorizationsAuthorizationCapture",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "authorization",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "purchase_details": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "capture_amount": {
+ "description": "The amount to capture from the authorization. If not provided, the full amount of the authorization will be captured. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
+ "type": "integer"
+ },
+ "close_authorization": {
+ "description": "Whether to close the authorization after capture. Defaults to true. Set to false to enable multi-capture flows.",
+ "type": "boolean"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "purchase_details": {
+ "description": "Additional purchase information that is optionally provided by the merchant.",
+ "properties": {
+ "fleet": {
+ "properties": {
+ "cardholder_prompt_data": {
+ "properties": {
+ "driver_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "odometer": {
+ "type": "integer"
+ },
+ "unspecified_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "user_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "vehicle_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "fleet_cardholder_prompt_data_specs",
+ "type": "object"
+ },
+ "purchase_type": {
+ "enum": [
+ "fuel_and_non_fuel_purchase",
+ "fuel_purchase",
+ "non_fuel_purchase"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "reported_breakdown": {
+ "properties": {
+ "fuel": {
+ "properties": {
+ "gross_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_fuel_specs",
+ "type": "object"
+ },
+ "non_fuel": {
+ "properties": {
+ "gross_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_non_fuel_specs",
+ "type": "object"
+ },
+ "tax": {
+ "properties": {
+ "local_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "national_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_tax_specs",
+ "type": "object"
+ }
+ },
+ "title": "fleet_reported_breakdown_specs",
+ "type": "object"
+ },
+ "service_type": {
+ "enum": [
+ "full_service",
+ "non_fuel_transaction",
+ "self_service"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "fleet_specs",
+ "type": "object"
+ },
+ "flight": {
+ "properties": {
+ "departure_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "passenger_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "refundable": {
+ "type": "boolean"
+ },
+ "segments": {
+ "items": {
+ "properties": {
+ "arrival_airport_code": {
+ "maxLength": 3,
+ "type": "string"
+ },
+ "carrier": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "departure_airport_code": {
+ "maxLength": 3,
+ "type": "string"
+ },
+ "flight_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "service_class": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "stopover_allowed": {
+ "type": "boolean"
+ }
+ },
+ "title": "flight_segment_specs",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "travel_agency": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "flight_specs",
+ "type": "object"
+ },
+ "fuel": {
+ "properties": {
+ "industry_product_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "diesel",
+ "other",
+ "unleaded_plus",
+ "unleaded_regular",
+ "unleaded_super"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "unit": {
+ "enum": [
+ "charging_minute",
+ "imperial_gallon",
+ "kilogram",
+ "kilowatt_hour",
+ "liter",
+ "other",
+ "pound",
+ "us_gallon"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "unit_cost_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fuel_specs",
+ "type": "object"
+ },
+ "lodging": {
+ "properties": {
+ "check_in_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "nights": {
+ "type": "integer"
+ }
+ },
+ "title": "lodging_specs",
+ "type": "object"
+ },
+ "receipt": {
+ "items": {
+ "properties": {
+ "description": {
+ "maxLength": 26,
+ "type": "string"
+ },
+ "quantity": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "unit_cost": {
+ "type": "integer"
+ }
+ },
+ "title": "receipt_specs",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "reference": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "purchase_details_specs",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.authorization"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/authorizations/{authorization}/expire": {
+ "post": {
+ "description": "Expire a test-mode Authorization.
",
+ "operationId": "PostTestHelpersIssuingAuthorizationsAuthorizationExpire",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "authorization",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.authorization"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/authorizations/{authorization}/finalize_amount": {
+ "post": {
+ "description": "Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount.
",
+ "operationId": "PostTestHelpersIssuingAuthorizationsAuthorizationFinalizeAmount",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "authorization",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "fleet": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "fuel": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "final_amount": {
+ "description": "The final authorization amount that will be captured by the merchant. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
+ "type": "integer"
+ },
+ "fleet": {
+ "description": "Fleet-specific information for authorizations using Fleet cards.",
+ "properties": {
+ "cardholder_prompt_data": {
+ "properties": {
+ "driver_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "odometer": {
+ "type": "integer"
+ },
+ "unspecified_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "user_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "vehicle_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "fleet_cardholder_prompt_data_specs",
+ "type": "object"
+ },
+ "purchase_type": {
+ "enum": [
+ "fuel_and_non_fuel_purchase",
+ "fuel_purchase",
+ "non_fuel_purchase"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "reported_breakdown": {
+ "properties": {
+ "fuel": {
+ "properties": {
+ "gross_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_fuel_specs",
+ "type": "object"
+ },
+ "non_fuel": {
+ "properties": {
+ "gross_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_non_fuel_specs",
+ "type": "object"
+ },
+ "tax": {
+ "properties": {
+ "local_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "national_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_tax_specs",
+ "type": "object"
+ }
+ },
+ "title": "fleet_reported_breakdown_specs",
+ "type": "object"
+ },
+ "service_type": {
+ "enum": [
+ "full_service",
+ "non_fuel_transaction",
+ "self_service"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "fleet_specs",
+ "type": "object"
+ },
+ "fuel": {
+ "description": "Information about fuel that was purchased with this transaction.",
+ "properties": {
+ "industry_product_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "diesel",
+ "other",
+ "unleaded_plus",
+ "unleaded_regular",
+ "unleaded_super"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "unit": {
+ "enum": [
+ "charging_minute",
+ "imperial_gallon",
+ "kilogram",
+ "kilowatt_hour",
+ "liter",
+ "other",
+ "pound",
+ "us_gallon"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "unit_cost_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fuel_specs",
+ "type": "object"
+ }
+ },
+ "required": [
+ "final_amount"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.authorization"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/authorizations/{authorization}/increment": {
+ "post": {
+ "description": "Increment a test-mode Authorization.
",
+ "operationId": "PostTestHelpersIssuingAuthorizationsAuthorizationIncrement",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "authorization",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "increment_amount": {
+ "description": "The amount to increment the authorization by. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
+ "type": "integer"
+ },
+ "is_amount_controllable": {
+ "description": "If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "increment_amount"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.authorization"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/authorizations/{authorization}/reverse": {
+ "post": {
+ "description": "Reverse a test-mode Authorization.
",
+ "operationId": "PostTestHelpersIssuingAuthorizationsAuthorizationReverse",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "authorization",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "reverse_amount": {
+ "description": "The amount to reverse from the authorization. If not provided, the full amount of the authorization will be reversed. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.authorization"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/cards/{card}/shipping/deliver": {
+ "post": {
+ "description": "Updates the shipping status of the specified Issuing Card
object to delivered
.
",
+ "operationId": "PostTestHelpersIssuingCardsCardShippingDeliver",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "card",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.card"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/cards/{card}/shipping/fail": {
+ "post": {
+ "description": "Updates the shipping status of the specified Issuing Card
object to failure
.
",
+ "operationId": "PostTestHelpersIssuingCardsCardShippingFail",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "card",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.card"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/cards/{card}/shipping/return": {
+ "post": {
+ "description": "Updates the shipping status of the specified Issuing Card
object to returned
.
",
+ "operationId": "PostTestHelpersIssuingCardsCardShippingReturn",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "card",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.card"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/cards/{card}/shipping/ship": {
+ "post": {
+ "description": "Updates the shipping status of the specified Issuing Card
object to shipped
.
",
+ "operationId": "PostTestHelpersIssuingCardsCardShippingShip",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "card",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.card"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/activate": {
+ "post": {
+ "description": "Updates the status
of the specified testmode personalization design object to active
.
",
+ "operationId": "PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignActivate",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personalization_design",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.personalization_design"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/deactivate": {
+ "post": {
+ "description": "Updates the status
of the specified testmode personalization design object to inactive
.
",
+ "operationId": "PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignDeactivate",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personalization_design",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.personalization_design"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/reject": {
+ "post": {
+ "description": "Updates the status
of the specified testmode personalization design object to rejected
.
",
+ "operationId": "PostTestHelpersIssuingPersonalizationDesignsPersonalizationDesignReject",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personalization_design",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "rejection_reasons": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "rejection_reasons": {
+ "description": "The reason(s) the personalization design was rejected.",
+ "properties": {
+ "card_logo": {
+ "items": {
+ "enum": [
+ "geographic_location",
+ "inappropriate",
+ "network_name",
+ "non_binary_image",
+ "non_fiat_currency",
+ "other",
+ "other_entity",
+ "promotional_material"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "carrier_text": {
+ "items": {
+ "enum": [
+ "geographic_location",
+ "inappropriate",
+ "network_name",
+ "non_fiat_currency",
+ "other",
+ "other_entity",
+ "promotional_material"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "title": "rejection_reasons_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "rejection_reasons"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.personalization_design"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/transactions/create_force_capture": {
+ "post": {
+ "description": "Allows the user to capture an arbitrary amount, also known as a forced capture.
",
+ "operationId": "PostTestHelpersIssuingTransactionsCreateForceCapture",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "merchant_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "purchase_details": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "The total amount to attempt to capture. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
+ "type": "integer"
+ },
+ "card": {
+ "description": "Card associated with this transaction.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "description": "The currency of the capture. If not provided, defaults to the currency of the card. 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"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "merchant_data": {
+ "description": "Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened.",
+ "properties": {
+ "category": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "network_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "terminal_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "merchant_data_specs",
+ "type": "object"
+ },
+ "purchase_details": {
+ "description": "Additional purchase information that is optionally provided by the merchant.",
+ "properties": {
+ "fleet": {
+ "properties": {
+ "cardholder_prompt_data": {
+ "properties": {
+ "driver_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "odometer": {
+ "type": "integer"
+ },
+ "unspecified_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "user_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "vehicle_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "fleet_cardholder_prompt_data_specs",
+ "type": "object"
+ },
+ "purchase_type": {
+ "enum": [
+ "fuel_and_non_fuel_purchase",
+ "fuel_purchase",
+ "non_fuel_purchase"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "reported_breakdown": {
+ "properties": {
+ "fuel": {
+ "properties": {
+ "gross_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_fuel_specs",
+ "type": "object"
+ },
+ "non_fuel": {
+ "properties": {
+ "gross_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_non_fuel_specs",
+ "type": "object"
+ },
+ "tax": {
+ "properties": {
+ "local_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "national_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_tax_specs",
+ "type": "object"
+ }
+ },
+ "title": "fleet_reported_breakdown_specs",
+ "type": "object"
+ },
+ "service_type": {
+ "enum": [
+ "full_service",
+ "non_fuel_transaction",
+ "self_service"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "fleet_specs",
+ "type": "object"
+ },
+ "flight": {
+ "properties": {
+ "departure_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "passenger_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "refundable": {
+ "type": "boolean"
+ },
+ "segments": {
+ "items": {
+ "properties": {
+ "arrival_airport_code": {
+ "maxLength": 3,
+ "type": "string"
+ },
+ "carrier": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "departure_airport_code": {
+ "maxLength": 3,
+ "type": "string"
+ },
+ "flight_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "service_class": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "stopover_allowed": {
+ "type": "boolean"
+ }
+ },
+ "title": "flight_segment_specs",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "travel_agency": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "flight_specs",
+ "type": "object"
+ },
+ "fuel": {
+ "properties": {
+ "industry_product_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "diesel",
+ "other",
+ "unleaded_plus",
+ "unleaded_regular",
+ "unleaded_super"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "unit": {
+ "enum": [
+ "charging_minute",
+ "imperial_gallon",
+ "kilogram",
+ "kilowatt_hour",
+ "liter",
+ "other",
+ "pound",
+ "us_gallon"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "unit_cost_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fuel_specs",
+ "type": "object"
+ },
+ "lodging": {
+ "properties": {
+ "check_in_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "nights": {
+ "type": "integer"
+ }
+ },
+ "title": "lodging_specs",
+ "type": "object"
+ },
+ "receipt": {
+ "items": {
+ "properties": {
+ "description": {
+ "maxLength": 26,
+ "type": "string"
+ },
+ "quantity": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "unit_cost": {
+ "type": "integer"
+ }
+ },
+ "title": "receipt_specs",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "reference": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "purchase_details_specs",
+ "type": "object"
+ }
+ },
+ "required": [
+ "amount",
+ "card"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/transactions/create_unlinked_refund": {
+ "post": {
+ "description": "Allows the user to refund an arbitrary amount, also known as a unlinked refund.
",
+ "operationId": "PostTestHelpersIssuingTransactionsCreateUnlinkedRefund",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "merchant_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "purchase_details": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "The total amount to attempt to refund. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
+ "type": "integer"
+ },
+ "card": {
+ "description": "Card associated with this unlinked refund transaction.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "description": "The currency of the unlinked refund. If not provided, defaults to the currency of the card. 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"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "merchant_data": {
+ "description": "Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened.",
+ "properties": {
+ "category": {
+ "enum": [
+ "ac_refrigeration_repair",
+ "accounting_bookkeeping_services",
+ "advertising_services",
+ "agricultural_cooperative",
+ "airlines_air_carriers",
+ "airports_flying_fields",
+ "ambulance_services",
+ "amusement_parks_carnivals",
+ "antique_reproductions",
+ "antique_shops",
+ "aquariums",
+ "architectural_surveying_services",
+ "art_dealers_and_galleries",
+ "artists_supply_and_craft_shops",
+ "auto_and_home_supply_stores",
+ "auto_body_repair_shops",
+ "auto_paint_shops",
+ "auto_service_shops",
+ "automated_cash_disburse",
+ "automated_fuel_dispensers",
+ "automobile_associations",
+ "automotive_parts_and_accessories_stores",
+ "automotive_tire_stores",
+ "bail_and_bond_payments",
+ "bakeries",
+ "bands_orchestras",
+ "barber_and_beauty_shops",
+ "betting_casino_gambling",
+ "bicycle_shops",
+ "billiard_pool_establishments",
+ "boat_dealers",
+ "boat_rentals_and_leases",
+ "book_stores",
+ "books_periodicals_and_newspapers",
+ "bowling_alleys",
+ "bus_lines",
+ "business_secretarial_schools",
+ "buying_shopping_services",
+ "cable_satellite_and_other_pay_television_and_radio",
+ "camera_and_photographic_supply_stores",
+ "candy_nut_and_confectionery_stores",
+ "car_and_truck_dealers_new_used",
+ "car_and_truck_dealers_used_only",
+ "car_rental_agencies",
+ "car_washes",
+ "carpentry_services",
+ "carpet_upholstery_cleaning",
+ "caterers",
+ "charitable_and_social_service_organizations_fundraising",
+ "chemicals_and_allied_products",
+ "child_care_services",
+ "childrens_and_infants_wear_stores",
+ "chiropodists_podiatrists",
+ "chiropractors",
+ "cigar_stores_and_stands",
+ "civic_social_fraternal_associations",
+ "cleaning_and_maintenance",
+ "clothing_rental",
+ "colleges_universities",
+ "commercial_equipment",
+ "commercial_footwear",
+ "commercial_photography_art_and_graphics",
+ "commuter_transport_and_ferries",
+ "computer_network_services",
+ "computer_programming",
+ "computer_repair",
+ "computer_software_stores",
+ "computers_peripherals_and_software",
+ "concrete_work_services",
+ "construction_materials",
+ "consulting_public_relations",
+ "correspondence_schools",
+ "cosmetic_stores",
+ "counseling_services",
+ "country_clubs",
+ "courier_services",
+ "court_costs",
+ "credit_reporting_agencies",
+ "cruise_lines",
+ "dairy_products_stores",
+ "dance_hall_studios_schools",
+ "dating_escort_services",
+ "dentists_orthodontists",
+ "department_stores",
+ "detective_agencies",
+ "digital_goods_applications",
+ "digital_goods_games",
+ "digital_goods_large_volume",
+ "digital_goods_media",
+ "direct_marketing_catalog_merchant",
+ "direct_marketing_combination_catalog_and_retail_merchant",
+ "direct_marketing_inbound_telemarketing",
+ "direct_marketing_insurance_services",
+ "direct_marketing_other",
+ "direct_marketing_outbound_telemarketing",
+ "direct_marketing_subscription",
+ "direct_marketing_travel",
+ "discount_stores",
+ "doctors",
+ "door_to_door_sales",
+ "drapery_window_covering_and_upholstery_stores",
+ "drinking_places",
+ "drug_stores_and_pharmacies",
+ "drugs_drug_proprietaries_and_druggist_sundries",
+ "dry_cleaners",
+ "durable_goods",
+ "duty_free_stores",
+ "eating_places_restaurants",
+ "educational_services",
+ "electric_razor_stores",
+ "electric_vehicle_charging",
+ "electrical_parts_and_equipment",
+ "electrical_services",
+ "electronics_repair_shops",
+ "electronics_stores",
+ "elementary_secondary_schools",
+ "emergency_services_gcas_visa_use_only",
+ "employment_temp_agencies",
+ "equipment_rental",
+ "exterminating_services",
+ "family_clothing_stores",
+ "fast_food_restaurants",
+ "financial_institutions",
+ "fines_government_administrative_entities",
+ "fireplace_fireplace_screens_and_accessories_stores",
+ "floor_covering_stores",
+ "florists",
+ "florists_supplies_nursery_stock_and_flowers",
+ "freezer_and_locker_meat_provisioners",
+ "fuel_dealers_non_automotive",
+ "funeral_services_crematories",
+ "furniture_home_furnishings_and_equipment_stores_except_appliances",
+ "furniture_repair_refinishing",
+ "furriers_and_fur_shops",
+ "general_services",
+ "gift_card_novelty_and_souvenir_shops",
+ "glass_paint_and_wallpaper_stores",
+ "glassware_crystal_stores",
+ "golf_courses_public",
+ "government_licensed_horse_dog_racing_us_region_only",
+ "government_licensed_online_casions_online_gambling_us_region_only",
+ "government_owned_lotteries_non_us_region",
+ "government_owned_lotteries_us_region_only",
+ "government_services",
+ "grocery_stores_supermarkets",
+ "hardware_equipment_and_supplies",
+ "hardware_stores",
+ "health_and_beauty_spas",
+ "hearing_aids_sales_and_supplies",
+ "heating_plumbing_a_c",
+ "hobby_toy_and_game_shops",
+ "home_supply_warehouse_stores",
+ "hospitals",
+ "hotels_motels_and_resorts",
+ "household_appliance_stores",
+ "industrial_supplies",
+ "information_retrieval_services",
+ "insurance_default",
+ "insurance_underwriting_premiums",
+ "intra_company_purchases",
+ "jewelry_stores_watches_clocks_and_silverware_stores",
+ "landscaping_services",
+ "laundries",
+ "laundry_cleaning_services",
+ "legal_services_attorneys",
+ "luggage_and_leather_goods_stores",
+ "lumber_building_materials_stores",
+ "manual_cash_disburse",
+ "marinas_service_and_supplies",
+ "marketplaces",
+ "masonry_stonework_and_plaster",
+ "massage_parlors",
+ "medical_and_dental_labs",
+ "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
+ "medical_services",
+ "membership_organizations",
+ "mens_and_boys_clothing_and_accessories_stores",
+ "mens_womens_clothing_stores",
+ "metal_service_centers",
+ "miscellaneous_apparel_and_accessory_shops",
+ "miscellaneous_auto_dealers",
+ "miscellaneous_business_services",
+ "miscellaneous_food_stores",
+ "miscellaneous_general_merchandise",
+ "miscellaneous_general_services",
+ "miscellaneous_home_furnishing_specialty_stores",
+ "miscellaneous_publishing_and_printing",
+ "miscellaneous_recreation_services",
+ "miscellaneous_repair_shops",
+ "miscellaneous_specialty_retail",
+ "mobile_home_dealers",
+ "motion_picture_theaters",
+ "motor_freight_carriers_and_trucking",
+ "motor_homes_dealers",
+ "motor_vehicle_supplies_and_new_parts",
+ "motorcycle_shops_and_dealers",
+ "motorcycle_shops_dealers",
+ "music_stores_musical_instruments_pianos_and_sheet_music",
+ "news_dealers_and_newsstands",
+ "non_fi_money_orders",
+ "non_fi_stored_value_card_purchase_load",
+ "nondurable_goods",
+ "nurseries_lawn_and_garden_supply_stores",
+ "nursing_personal_care",
+ "office_and_commercial_furniture",
+ "opticians_eyeglasses",
+ "optometrists_ophthalmologist",
+ "orthopedic_goods_prosthetic_devices",
+ "osteopaths",
+ "package_stores_beer_wine_and_liquor",
+ "paints_varnishes_and_supplies",
+ "parking_lots_garages",
+ "passenger_railways",
+ "pawn_shops",
+ "pet_shops_pet_food_and_supplies",
+ "petroleum_and_petroleum_products",
+ "photo_developing",
+ "photographic_photocopy_microfilm_equipment_and_supplies",
+ "photographic_studios",
+ "picture_video_production",
+ "piece_goods_notions_and_other_dry_goods",
+ "plumbing_heating_equipment_and_supplies",
+ "political_organizations",
+ "postal_services_government_only",
+ "precious_stones_and_metals_watches_and_jewelry",
+ "professional_services",
+ "public_warehousing_and_storage",
+ "quick_copy_repro_and_blueprint",
+ "railroads",
+ "real_estate_agents_and_managers_rentals",
+ "record_stores",
+ "recreational_vehicle_rentals",
+ "religious_goods_stores",
+ "religious_organizations",
+ "roofing_siding_sheet_metal",
+ "secretarial_support_services",
+ "security_brokers_dealers",
+ "service_stations",
+ "sewing_needlework_fabric_and_piece_goods_stores",
+ "shoe_repair_hat_cleaning",
+ "shoe_stores",
+ "small_appliance_repair",
+ "snowmobile_dealers",
+ "special_trade_services",
+ "specialty_cleaning",
+ "sporting_goods_stores",
+ "sporting_recreation_camps",
+ "sports_and_riding_apparel_stores",
+ "sports_clubs_fields",
+ "stamp_and_coin_stores",
+ "stationary_office_supplies_printing_and_writing_paper",
+ "stationery_stores_office_and_school_supply_stores",
+ "swimming_pools_sales",
+ "t_ui_travel_germany",
+ "tailors_alterations",
+ "tax_payments_government_agencies",
+ "tax_preparation_services",
+ "taxicabs_limousines",
+ "telecommunication_equipment_and_telephone_sales",
+ "telecommunication_services",
+ "telegraph_services",
+ "tent_and_awning_shops",
+ "testing_laboratories",
+ "theatrical_ticket_agencies",
+ "timeshares",
+ "tire_retreading_and_repair",
+ "tolls_bridge_fees",
+ "tourist_attractions_and_exhibits",
+ "towing_services",
+ "trailer_parks_campgrounds",
+ "transportation_services",
+ "travel_agencies_tour_operators",
+ "truck_stop_iteration",
+ "truck_utility_trailer_rentals",
+ "typesetting_plate_making_and_related_services",
+ "typewriter_stores",
+ "u_s_federal_government_agencies_or_departments",
+ "uniforms_commercial_clothing",
+ "used_merchandise_and_secondhand_stores",
+ "utilities",
+ "variety_stores",
+ "veterinary_services",
+ "video_amusement_game_supplies",
+ "video_game_arcades",
+ "video_tape_rental_stores",
+ "vocational_trade_schools",
+ "watch_jewelry_repair",
+ "welding_repair",
+ "wholesale_clubs",
+ "wig_and_toupee_stores",
+ "wires_money_orders",
+ "womens_accessory_and_specialty_shops",
+ "womens_ready_to_wear_stores",
+ "wrecking_and_salvage_yards"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "network_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "terminal_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "url": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "merchant_data_specs",
+ "type": "object"
+ },
+ "purchase_details": {
+ "description": "Additional purchase information that is optionally provided by the merchant.",
+ "properties": {
+ "fleet": {
+ "properties": {
+ "cardholder_prompt_data": {
+ "properties": {
+ "driver_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "odometer": {
+ "type": "integer"
+ },
+ "unspecified_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "user_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "vehicle_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "fleet_cardholder_prompt_data_specs",
+ "type": "object"
+ },
+ "purchase_type": {
+ "enum": [
+ "fuel_and_non_fuel_purchase",
+ "fuel_purchase",
+ "non_fuel_purchase"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "reported_breakdown": {
+ "properties": {
+ "fuel": {
+ "properties": {
+ "gross_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_fuel_specs",
+ "type": "object"
+ },
+ "non_fuel": {
+ "properties": {
+ "gross_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_non_fuel_specs",
+ "type": "object"
+ },
+ "tax": {
+ "properties": {
+ "local_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "national_amount_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fleet_reported_breakdown_tax_specs",
+ "type": "object"
+ }
+ },
+ "title": "fleet_reported_breakdown_specs",
+ "type": "object"
+ },
+ "service_type": {
+ "enum": [
+ "full_service",
+ "non_fuel_transaction",
+ "self_service"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "fleet_specs",
+ "type": "object"
+ },
+ "flight": {
+ "properties": {
+ "departure_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "passenger_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "refundable": {
+ "type": "boolean"
+ },
+ "segments": {
+ "items": {
+ "properties": {
+ "arrival_airport_code": {
+ "maxLength": 3,
+ "type": "string"
+ },
+ "carrier": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "departure_airport_code": {
+ "maxLength": 3,
+ "type": "string"
+ },
+ "flight_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "service_class": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "stopover_allowed": {
+ "type": "boolean"
+ }
+ },
+ "title": "flight_segment_specs",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "travel_agency": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "flight_specs",
+ "type": "object"
+ },
+ "fuel": {
+ "properties": {
+ "industry_product_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "quantity_decimal": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "diesel",
+ "other",
+ "unleaded_plus",
+ "unleaded_regular",
+ "unleaded_super"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "unit": {
+ "enum": [
+ "charging_minute",
+ "imperial_gallon",
+ "kilogram",
+ "kilowatt_hour",
+ "liter",
+ "other",
+ "pound",
+ "us_gallon"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "unit_cost_decimal": {
+ "format": "decimal",
+ "type": "string"
+ }
+ },
+ "title": "fuel_specs",
+ "type": "object"
+ },
+ "lodging": {
+ "properties": {
+ "check_in_at": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "nights": {
+ "type": "integer"
+ }
+ },
+ "title": "lodging_specs",
+ "type": "object"
+ },
+ "receipt": {
+ "items": {
+ "properties": {
+ "description": {
+ "maxLength": 26,
+ "type": "string"
+ },
+ "quantity": {
+ "format": "decimal",
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "unit_cost": {
+ "type": "integer"
+ }
+ },
+ "title": "receipt_specs",
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "reference": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "purchase_details_specs",
+ "type": "object"
+ }
+ },
+ "required": [
+ "amount",
+ "card"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/issuing/transactions/{transaction}/refund": {
+ "post": {
+ "description": "Refund a test-mode Transaction.
",
+ "operationId": "PostTestHelpersIssuingTransactionsTransactionRefund",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "transaction",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "refund_amount": {
+ "description": "The total amount to attempt to refund. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/issuing.transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/refunds/{refund}/expire": {
+ "post": {
+ "description": "Expire a refund with a status of requires_action
.
",
+ "operationId": "PostTestHelpersRefundsRefundExpire",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "refund",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/refund"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/terminal/readers/{reader}/present_payment_method": {
+ "post": {
+ "description": "Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction.
",
+ "operationId": "PostTestHelpersTerminalReadersReaderPresentPaymentMethod",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "reader",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "card_present": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "interac_present": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount_tip": {
+ "description": "Simulated on-reader tip amount.",
+ "type": "integer"
+ },
+ "card_present": {
+ "description": "Simulated data for the card_present payment method.",
+ "properties": {
+ "number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "card_present",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "interac_present": {
+ "description": "Simulated data for the interac_present payment method.",
+ "properties": {
+ "number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "interac_present",
+ "type": "object"
+ },
+ "type": {
+ "description": "Simulated payment type.",
+ "enum": [
+ "card_present",
+ "interac_present"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/terminal.reader"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/test_clocks": {
+ "get": {
+ "description": "Returns a list of your test clocks.
",
+ "operationId": "GetTestHelpersTestClocks",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/test_helpers.test_clock"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/test_helpers/test_clocks",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "BillingClocksResourceBillingClockList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new test clock that can be attached to new customers and quotes.
",
+ "operationId": "PostTestHelpersTestClocks",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "frozen_time": {
+ "description": "The initial frozen time for this test clock.",
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "name": {
+ "description": "The name for this test clock.",
+ "maxLength": 300,
+ "type": "string"
+ }
+ },
+ "required": [
+ "frozen_time"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/test_helpers.test_clock"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/test_clocks/{test_clock}": {
+ "delete": {
+ "description": "Deletes a test clock.
",
+ "operationId": "DeleteTestHelpersTestClocksTestClock",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "test_clock",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_test_helpers.test_clock"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves a test clock.
",
+ "operationId": "GetTestHelpersTestClocksTestClock",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "test_clock",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/test_helpers.test_clock"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/test_clocks/{test_clock}/advance": {
+ "post": {
+ "description": "Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready
.
",
+ "operationId": "PostTestHelpersTestClocksTestClockAdvance",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "test_clock",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "frozen_time": {
+ "description": "The time to advance the test clock. Must be after the test clock's current frozen time. Cannot be more than two intervals in the future from the shortest subscription in this test clock. If there are no subscriptions in this test clock, it cannot be more than two years in the future.",
+ "format": "unix-time",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "frozen_time"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/test_helpers.test_clock"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/treasury/inbound_transfers/{id}/fail": {
+ "post": {
+ "description": "Transitions a test mode created InboundTransfer to the failed
status. The InboundTransfer must already be in the processing
state.
",
+ "operationId": "PostTestHelpersTreasuryInboundTransfersIdFail",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "failure_details": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "failure_details": {
+ "description": "Details about a failed InboundTransfer.",
+ "properties": {
+ "code": {
+ "enum": [
+ "account_closed",
+ "account_frozen",
+ "bank_account_restricted",
+ "bank_ownership_changed",
+ "debit_not_authorized",
+ "incorrect_account_holder_address",
+ "incorrect_account_holder_name",
+ "incorrect_account_holder_tax_id",
+ "insufficient_funds",
+ "invalid_account_number",
+ "invalid_currency",
+ "no_account",
+ "other"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "failure_details_params",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.inbound_transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/treasury/inbound_transfers/{id}/return": {
+ "post": {
+ "description": "Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded
state.
",
+ "operationId": "PostTestHelpersTreasuryInboundTransfersIdReturn",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.inbound_transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/treasury/inbound_transfers/{id}/succeed": {
+ "post": {
+ "description": "Transitions a test mode created InboundTransfer to the succeeded
status. The InboundTransfer must already be in the processing
state.
",
+ "operationId": "PostTestHelpersTreasuryInboundTransfersIdSucceed",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.inbound_transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/treasury/outbound_payments/{id}": {
+ "post": {
+ "description": "Updates a test mode created OutboundPayment with tracking details. The OutboundPayment must not be cancelable, and cannot be in the canceled
or failed
states.
",
+ "operationId": "PostTestHelpersTreasuryOutboundPaymentsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tracking_details": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tracking_details": {
+ "description": "Details about network-specific tracking information.",
+ "properties": {
+ "ach": {
+ "properties": {
+ "trace_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "trace_id"
+ ],
+ "title": "ach_tracking_details_params",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ach",
+ "us_domestic_wire"
+ ],
+ "type": "string"
+ },
+ "us_domestic_wire": {
+ "properties": {
+ "imad": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "omad": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "us_domestic_wire_tracking_details_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "tracking_details_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "tracking_details"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_payment"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/treasury/outbound_payments/{id}/fail": {
+ "post": {
+ "description": "Transitions a test mode created OutboundPayment to the failed
status. The OutboundPayment must already be in the processing
state.
",
+ "operationId": "PostTestHelpersTreasuryOutboundPaymentsIdFail",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_payment"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/treasury/outbound_payments/{id}/post": {
+ "post": {
+ "description": "Transitions a test mode created OutboundPayment to the posted
status. The OutboundPayment must already be in the processing
state.
",
+ "operationId": "PostTestHelpersTreasuryOutboundPaymentsIdPost",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_payment"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/treasury/outbound_payments/{id}/return": {
+ "post": {
+ "description": "Transitions a test mode created OutboundPayment to the returned
status. The OutboundPayment must already be in the processing
state.
",
+ "operationId": "PostTestHelpersTreasuryOutboundPaymentsIdReturn",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "returned_details": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "returned_details": {
+ "description": "Optional hash to set the return code.",
+ "properties": {
+ "code": {
+ "enum": [
+ "account_closed",
+ "account_frozen",
+ "bank_account_restricted",
+ "bank_ownership_changed",
+ "declined",
+ "incorrect_account_holder_name",
+ "invalid_account_number",
+ "invalid_currency",
+ "no_account",
+ "other"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "returned_details_params",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_payment"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}": {
+ "post": {
+ "description": "Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable, and cannot be in the canceled
or failed
states.
",
+ "operationId": "PostTestHelpersTreasuryOutboundTransfersOutboundTransfer",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "outbound_transfer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "tracking_details": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tracking_details": {
+ "description": "Details about network-specific tracking information.",
+ "properties": {
+ "ach": {
+ "properties": {
+ "trace_id": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "trace_id"
+ ],
+ "title": "ach_tracking_details_params",
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "ach",
+ "us_domestic_wire"
+ ],
+ "type": "string"
+ },
+ "us_domestic_wire": {
+ "properties": {
+ "imad": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "omad": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "us_domestic_wire_tracking_details_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "tracking_details_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "tracking_details"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/fail": {
+ "post": {
+ "description": "Transitions a test mode created OutboundTransfer to the failed
status. The OutboundTransfer must already be in the processing
state.
",
+ "operationId": "PostTestHelpersTreasuryOutboundTransfersOutboundTransferFail",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "outbound_transfer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/post": {
+ "post": {
+ "description": "Transitions a test mode created OutboundTransfer to the posted
status. The OutboundTransfer must already be in the processing
state.
",
+ "operationId": "PostTestHelpersTreasuryOutboundTransfersOutboundTransferPost",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "outbound_transfer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/return": {
+ "post": {
+ "description": "Transitions a test mode created OutboundTransfer to the returned
status. The OutboundTransfer must already be in the processing
state.
",
+ "operationId": "PostTestHelpersTreasuryOutboundTransfersOutboundTransferReturn",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "outbound_transfer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "returned_details": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "returned_details": {
+ "description": "Details about a returned OutboundTransfer.",
+ "properties": {
+ "code": {
+ "enum": [
+ "account_closed",
+ "account_frozen",
+ "bank_account_restricted",
+ "bank_ownership_changed",
+ "declined",
+ "incorrect_account_holder_name",
+ "invalid_account_number",
+ "invalid_currency",
+ "no_account",
+ "other"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "returned_details_params",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/treasury/received_credits": {
+ "post": {
+ "description": "Use this endpoint to simulate a test mode ReceivedCredit initiated by a third party. In live mode, you can’t directly create ReceivedCredits initiated by third parties.
",
+ "operationId": "PostTestHelpersTreasuryReceivedCredits",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "initiating_payment_method_details": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Amount (in cents) to be transferred.",
+ "type": "integer"
+ },
+ "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"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "financial_account": {
+ "description": "The FinancialAccount to send funds to.",
+ "type": "string"
+ },
+ "initiating_payment_method_details": {
+ "description": "Initiating payment method details for the object.",
+ "properties": {
+ "type": {
+ "enum": [
+ "us_bank_account"
+ ],
+ "type": "string"
+ },
+ "us_bank_account": {
+ "properties": {
+ "account_holder_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "us_bank_account_source_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "source_params",
+ "type": "object"
+ },
+ "network": {
+ "description": "Specifies the network rails to be used. If not set, will default to the PaymentMethod's preferred network. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type.",
+ "enum": [
+ "ach",
+ "us_domestic_wire"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency",
+ "financial_account",
+ "network"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.received_credit"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/test_helpers/treasury/received_debits": {
+ "post": {
+ "description": "Use this endpoint to simulate a test mode ReceivedDebit initiated by a third party. In live mode, you can’t directly create ReceivedDebits initiated by third parties.
",
+ "operationId": "PostTestHelpersTreasuryReceivedDebits",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "initiating_payment_method_details": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Amount (in cents) to be transferred.",
+ "type": "integer"
+ },
+ "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"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "financial_account": {
+ "description": "The FinancialAccount to pull funds from.",
+ "type": "string"
+ },
+ "initiating_payment_method_details": {
+ "description": "Initiating payment method details for the object.",
+ "properties": {
+ "type": {
+ "enum": [
+ "us_bank_account"
+ ],
+ "type": "string"
+ },
+ "us_bank_account": {
+ "properties": {
+ "account_holder_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "us_bank_account_source_params",
+ "type": "object"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "source_params",
+ "type": "object"
+ },
+ "network": {
+ "description": "Specifies the network rails to be used. If not set, will default to the PaymentMethod's preferred network. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type.",
+ "enum": [
+ "ach"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency",
+ "financial_account",
+ "network"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.received_debit"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tokens": {
+ "post": {
+ "description": "Creates a single-use token that represents a bank account’s details.\nYou can use this token with any API method in place of a bank account dictionary. You can only use this token once. To do so, attach it to a connected account where controller.requirement_collection is application
, which includes Custom accounts.
",
+ "operationId": "PostTokens",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "account": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "bank_account": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "card": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "cvc_update": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "person": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "pii": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "account": {
+ "description": "Information for the account this token represents.",
+ "properties": {
+ "business_type": {
+ "enum": [
+ "company",
+ "government_entity",
+ "individual",
+ "non_profit"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "company": {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "legal_entity_and_kyc_address_specs",
+ "type": "object"
+ },
+ "address_kana": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kana_specs",
+ "type": "object"
+ },
+ "address_kanji": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kanji_specs",
+ "type": "object"
+ },
+ "directors_provided": {
+ "type": "boolean"
+ },
+ "executives_provided": {
+ "type": "boolean"
+ },
+ "export_license_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "export_purpose_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "name_kana": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "name_kanji": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "owners_provided": {
+ "type": "boolean"
+ },
+ "ownership_declaration": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "company_ownership_declaration",
+ "type": "object"
+ },
+ "ownership_declaration_shown_and_signed": {
+ "type": "boolean"
+ },
+ "phone": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "registration_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "structure": {
+ "enum": [
+ "",
+ "free_zone_establishment",
+ "free_zone_llc",
+ "government_instrumentality",
+ "governmental_unit",
+ "incorporated_non_profit",
+ "incorporated_partnership",
+ "limited_liability_partnership",
+ "llc",
+ "multi_member_llc",
+ "private_company",
+ "private_corporation",
+ "private_partnership",
+ "public_company",
+ "public_corporation",
+ "public_partnership",
+ "registered_charity",
+ "single_member_llc",
+ "sole_establishment",
+ "sole_proprietorship",
+ "tax_exempt_government_instrumentality",
+ "unincorporated_association",
+ "unincorporated_non_profit",
+ "unincorporated_partnership"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "tax_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "tax_id_registrar": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "vat_id": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "verification": {
+ "properties": {
+ "document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "verification_document_specs",
+ "type": "object"
+ }
+ },
+ "title": "verification_specs",
+ "type": "object"
+ }
+ },
+ "title": "connect_js_account_token_company_specs",
+ "type": "object"
+ },
+ "individual": {
+ "properties": {
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "address_specs",
+ "type": "object"
+ },
+ "address_kana": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kana_specs",
+ "type": "object"
+ },
+ "address_kanji": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kanji_specs",
+ "type": "object"
+ },
+ "dob": {
+ "anyOf": [
+ {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "email": {
+ "type": "string"
+ },
+ "first_name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "first_name_kana": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "first_name_kanji": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "full_name_aliases": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 300,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "gender": {
+ "type": "string"
+ },
+ "id_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "id_number_secondary": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "last_name_kana": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name_kanji": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "maiden_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "phone": {
+ "type": "string"
+ },
+ "political_exposure": {
+ "enum": [
+ "existing",
+ "none"
+ ],
+ "type": "string"
+ },
+ "registered_address": {
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "address_specs",
+ "type": "object"
+ },
+ "relationship": {
+ "properties": {
+ "director": {
+ "type": "boolean"
+ },
+ "executive": {
+ "type": "boolean"
+ },
+ "owner": {
+ "type": "boolean"
+ },
+ "percent_ownership": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "title": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "individual_relationship_specs",
+ "type": "object"
+ },
+ "ssn_last_4": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "verification": {
+ "properties": {
+ "additional_document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ },
+ "document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_verification_specs",
+ "type": "object"
+ }
+ },
+ "title": "individual_specs",
+ "type": "object"
+ },
+ "tos_shown_and_accepted": {
+ "type": "boolean"
+ }
+ },
+ "title": "connect_js_account_token_specs",
+ "type": "object"
+ },
+ "bank_account": {
+ "description": "The bank account this token will represent.",
+ "properties": {
+ "account_holder_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "futsu",
+ "savings",
+ "toza"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "payment_method": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "account_number",
+ "country"
+ ],
+ "title": "token_create_bank_account",
+ "type": "object",
+ "x-stripeBypassValidation": true
+ },
+ "card": {
+ "anyOf": [
+ {
+ "properties": {
+ "address_city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "address_zip": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "currency": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "cvc": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_month": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "exp_year": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "networks": {
+ "properties": {
+ "preferred": {
+ "enum": [
+ "cartes_bancaires",
+ "mastercard",
+ "visa"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "networks_param_specs",
+ "type": "object"
+ },
+ "number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "exp_month",
+ "exp_year",
+ "number"
+ ],
+ "title": "credit_card_specs",
+ "type": "object"
+ },
+ {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ ],
+ "description": "The card this token will represent. If you also pass in a customer, the card must be the ID of a card belonging to the customer. Otherwise, if you do not pass in a customer, this is a dictionary containing a user's credit card details, with the options described below.",
+ "x-stripeBypassValidation": true
+ },
+ "customer": {
+ "description": "Create a token for the customer, which is owned by the application's account. You can only use this with an [OAuth access token](https://stripe.com/docs/connect/standard-accounts) or [Stripe-Account header](https://stripe.com/docs/connect/authentication). Learn more about [cloning saved payment methods](https://stripe.com/docs/connect/cloning-saved-payment-methods).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "cvc_update": {
+ "description": "The updated CVC value this token represents.",
+ "properties": {
+ "cvc": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "cvc"
+ ],
+ "title": "cvc_params",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "person": {
+ "description": "Information for the person this token represents.",
+ "properties": {
+ "additional_tos_acceptances": {
+ "properties": {
+ "account": {
+ "properties": {
+ "date": {
+ "format": "unix-time",
+ "type": "integer"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "user_agent": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "settings_terms_of_service_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_additional_tos_acceptances_specs",
+ "type": "object"
+ },
+ "address": {
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "legal_entity_and_kyc_address_specs",
+ "type": "object"
+ },
+ "address_kana": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kana_specs",
+ "type": "object"
+ },
+ "address_kanji": {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "town": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "japan_address_kanji_specs",
+ "type": "object"
+ },
+ "dob": {
+ "anyOf": [
+ {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "day",
+ "month",
+ "year"
+ ],
+ "title": "date_of_birth_specs",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "documents": {
+ "properties": {
+ "company_authorization": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "passport": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ },
+ "visa": {
+ "properties": {
+ "files": {
+ "items": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "title": "documents_param",
+ "type": "object"
+ }
+ },
+ "title": "person_documents_specs",
+ "type": "object"
+ },
+ "email": {
+ "type": "string"
+ },
+ "first_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "first_name_kana": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "first_name_kanji": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "full_name_aliases": {
+ "anyOf": [
+ {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "gender": {
+ "type": "string"
+ },
+ "id_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "id_number_secondary": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name_kana": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "last_name_kanji": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "maiden_name": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "nationality": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "political_exposure": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "registered_address": {
+ "properties": {
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "address_specs",
+ "type": "object"
+ },
+ "relationship": {
+ "properties": {
+ "director": {
+ "type": "boolean"
+ },
+ "executive": {
+ "type": "boolean"
+ },
+ "legal_guardian": {
+ "type": "boolean"
+ },
+ "owner": {
+ "type": "boolean"
+ },
+ "percent_ownership": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "representative": {
+ "type": "boolean"
+ },
+ "title": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "relationship_specs",
+ "type": "object"
+ },
+ "ssn_last_4": {
+ "type": "string"
+ },
+ "verification": {
+ "properties": {
+ "additional_document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ },
+ "document": {
+ "properties": {
+ "back": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "front": {
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "title": "person_verification_document_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_verification_specs",
+ "type": "object"
+ }
+ },
+ "title": "person_token_specs",
+ "type": "object"
+ },
+ "pii": {
+ "description": "The PII this token represents.",
+ "properties": {
+ "id_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "pii_token_specs",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/token"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/tokens/{token}": {
+ "get": {
+ "description": "Retrieves the token with the given ID.
",
+ "operationId": "GetTokensToken",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "token",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/token"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/topups": {
+ "get": {
+ "description": "Returns a list of top-ups.
",
+ "operationId": "GetTopups",
+ "parameters": [
+ {
+ "description": "A positive integer representing how much to transfer.",
+ "explode": true,
+ "in": "query",
+ "name": "amount",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return top-ups that have the given status. One of `canceled`, `failed`, `pending` or `succeeded`.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "canceled",
+ "failed",
+ "pending",
+ "succeeded"
+ ],
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/topup"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/topups",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TopupList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Top up the balance of an account
",
+ "operationId": "PostTopups",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "A positive integer representing how much to transfer.",
+ "type": "integer"
+ },
+ "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"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "source": {
+ "description": "The ID of a source to transfer funds from. For most users, this should be left unspecified which will use the bank account that was set up in the dashboard for the specified currency. In test mode, this can be a test bank token (see [Testing Top-ups](https://stripe.com/docs/connect/testing#testing-top-ups)).",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "statement_descriptor": {
+ "description": "Extra information about a top-up for the source's bank statement. Limited to 15 ASCII characters.",
+ "maxLength": 15,
+ "type": "string"
+ },
+ "transfer_group": {
+ "description": "A string that identifies this top-up as part of a group.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/topup"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/topups/{topup}": {
+ "get": {
+ "description": "Retrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information.
",
+ "operationId": "GetTopupsTopup",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "topup",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/topup"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the metadata of a top-up. Other top-up details are not editable by design.
",
+ "operationId": "PostTopupsTopup",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "topup",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/topup"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/topups/{topup}/cancel": {
+ "post": {
+ "description": "Cancels a top-up. Only pending top-ups can be canceled.
",
+ "operationId": "PostTopupsTopupCancel",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "topup",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/topup"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/transfers": {
+ "get": {
+ "description": "Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first.
",
+ "operationId": "GetTransfers",
+ "parameters": [
+ {
+ "description": "Only return transfers that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return transfers for the destination specified by this account ID.",
+ "in": "query",
+ "name": "destination",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return transfers with the specified transfer group.",
+ "in": "query",
+ "name": "transfer_group",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/transfer"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/transfers",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TransferList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "To send funds from your Stripe account to a connected account, you create a new transfer object. Your Stripe balance must be able to cover the transfer amount, or you’ll receive an “Insufficient Funds” error.
",
+ "operationId": "PostTransfers",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "A positive integer in cents (or local equivalent) representing how much to transfer.",
+ "type": "integer"
+ },
+ "currency": {
+ "description": "3-letter [ISO code for currency](https://stripe.com/docs/payouts).",
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "destination": {
+ "description": "The ID of a connected Stripe account. See the Connect documentation for details.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "source_transaction": {
+ "description": "You can use this parameter to transfer funds from a charge before they are added to your available balance. A pending balance will transfer immediately but the funds will not become available until the original charge becomes available. [See the Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-availability) for details.",
+ "type": "string"
+ },
+ "source_type": {
+ "description": "The source balance to use for this transfer. One of `bank_account`, `card`, or `fpx`. For most users, this will default to `card`.",
+ "enum": [
+ "bank_account",
+ "card",
+ "fpx"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "transfer_group": {
+ "description": "A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "currency",
+ "destination"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/transfers/{id}/reversals": {
+ "get": {
+ "description": "You can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the limit
and starting_after
parameters to page through additional reversals.
",
+ "operationId": "GetTransfersIdReversals",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/transfer_reversal"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TransferReversalList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "When you create a new reversal, you must specify a transfer to create it on.
\n\nWhen reversing transfers, you can optionally reverse part of the transfer. You can do so as many times as you wish until the entire transfer has been reversed.
\n\nOnce entirely reversed, a transfer can’t be reversed again. This method will return an error when called on an already-reversed transfer, or when trying to reverse more money than is left on a transfer.
",
+ "operationId": "PostTransfersIdReversals",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "A positive integer in cents (or local equivalent) representing how much of this transfer to reverse. Can only reverse up to the unreversed amount remaining of the transfer. Partial transfer reversals are only allowed for transfers to Stripe Accounts. Defaults to the entire transfer amount.",
+ "type": "integer"
+ },
+ "description": {
+ "description": "An arbitrary string which you can attach to a reversal object. This will be unset if you POST an empty value.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "refund_application_fee": {
+ "description": "Boolean indicating whether the application fee should be refunded when reversing this transfer. If a full transfer reversal is given, the full application fee will be refunded. Otherwise, the application fee will be refunded with an amount proportional to the amount of the transfer reversed.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/transfer_reversal"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/transfers/{transfer}": {
+ "get": {
+ "description": "Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information.
",
+ "operationId": "GetTransfersTransfer",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "transfer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
\n\nThis request accepts only metadata as an argument.
",
+ "operationId": "PostTransfersTransfer",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "transfer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/transfers/{transfer}/reversals/{id}": {
+ "get": {
+ "description": "By default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer.
",
+ "operationId": "GetTransfersTransferReversalsId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "transfer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/transfer_reversal"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
\n\nThis request only accepts metadata and description as arguments.
",
+ "operationId": "PostTransfersTransferReversalsId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "in": "path",
+ "name": "transfer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/transfer_reversal"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/credit_reversals": {
+ "get": {
+ "description": "Returns a list of CreditReversals.
",
+ "operationId": "GetTreasuryCreditReversals",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Returns objects associated with this FinancialAccount.",
+ "in": "query",
+ "name": "financial_account",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return CreditReversals for the ReceivedCredit ID.",
+ "in": "query",
+ "name": "received_credit",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return CreditReversals for a given status.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "canceled",
+ "posted",
+ "processing"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/treasury.credit_reversal"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TreasuryReceivedCreditsResourceCreditReversalList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Reverses a ReceivedCredit and creates a CreditReversal object.
",
+ "operationId": "PostTreasuryCreditReversals",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "received_credit": {
+ "description": "The ReceivedCredit to reverse.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "received_credit"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.credit_reversal"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/credit_reversals/{credit_reversal}": {
+ "get": {
+ "description": "Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list
",
+ "operationId": "GetTreasuryCreditReversalsCreditReversal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "credit_reversal",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.credit_reversal"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/debit_reversals": {
+ "get": {
+ "description": "Returns a list of DebitReversals.
",
+ "operationId": "GetTreasuryDebitReversals",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Returns objects associated with this FinancialAccount.",
+ "in": "query",
+ "name": "financial_account",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return DebitReversals for the ReceivedDebit ID.",
+ "in": "query",
+ "name": "received_debit",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return DebitReversals for a given resolution.",
+ "in": "query",
+ "name": "resolution",
+ "required": false,
+ "schema": {
+ "enum": [
+ "lost",
+ "won"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return DebitReversals for a given status.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "canceled",
+ "completed",
+ "processing"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/treasury.debit_reversal"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TreasuryReceivedDebitsResourceDebitReversalList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Reverses a ReceivedDebit and creates a DebitReversal object.
",
+ "operationId": "PostTreasuryDebitReversals",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "received_debit": {
+ "description": "The ReceivedDebit to reverse.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "received_debit"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.debit_reversal"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/debit_reversals/{debit_reversal}": {
+ "get": {
+ "description": "Retrieves a DebitReversal object.
",
+ "operationId": "GetTreasuryDebitReversalsDebitReversal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "debit_reversal",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.debit_reversal"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/financial_accounts": {
+ "get": {
+ "description": "Returns a list of FinancialAccounts.
",
+ "operationId": "GetTreasuryFinancialAccounts",
+ "parameters": [
+ {
+ "description": "Only return FinancialAccounts that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "An object ID cursor for use in pagination.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit ranging from 1 to 100 (defaults to 10).",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "An object ID cursor for use in pagination.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/treasury.financial_account"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/treasury/financial_accounts",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TreasuryFinancialAccountsResourceFinancialAccountList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates a new FinancialAccount. For now, each connected account can only have one FinancialAccount.
",
+ "operationId": "PostTreasuryFinancialAccounts",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "features": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "platform_restrictions": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "supported_currencies": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "features": {
+ "description": "Encodes whether a FinancialAccount has access to a particular feature. Stripe or the platform can control features via the requested field.",
+ "properties": {
+ "card_issuing": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ },
+ "deposit_insurance": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ },
+ "financial_addresses": {
+ "properties": {
+ "aba": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "aba_access",
+ "type": "object"
+ }
+ },
+ "title": "financial_addresses",
+ "type": "object"
+ },
+ "inbound_transfers": {
+ "properties": {
+ "ach": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access_with_ach_details",
+ "type": "object"
+ }
+ },
+ "title": "inbound_transfers",
+ "type": "object"
+ },
+ "intra_stripe_flows": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ },
+ "outbound_payments": {
+ "properties": {
+ "ach": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access_with_ach_details",
+ "type": "object"
+ },
+ "us_domestic_wire": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ }
+ },
+ "title": "outbound_payments",
+ "type": "object"
+ },
+ "outbound_transfers": {
+ "properties": {
+ "ach": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access_with_ach_details",
+ "type": "object"
+ },
+ "us_domestic_wire": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ }
+ },
+ "title": "outbound_transfers",
+ "type": "object"
+ }
+ },
+ "title": "feature_access",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "platform_restrictions": {
+ "description": "The set of functionalities that the platform can restrict on the FinancialAccount.",
+ "properties": {
+ "inbound_flows": {
+ "enum": [
+ "restricted",
+ "unrestricted"
+ ],
+ "type": "string"
+ },
+ "outbound_flows": {
+ "enum": [
+ "restricted",
+ "unrestricted"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "platform_restrictions",
+ "type": "object"
+ },
+ "supported_currencies": {
+ "description": "The currencies the FinancialAccount can hold a balance in.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "supported_currencies"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.financial_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/financial_accounts/{financial_account}": {
+ "get": {
+ "description": "Retrieves the details of a FinancialAccount.
",
+ "operationId": "GetTreasuryFinancialAccountsFinancialAccount",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "financial_account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.financial_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the details of a FinancialAccount.
",
+ "operationId": "PostTreasuryFinancialAccountsFinancialAccount",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "financial_account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "features": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "platform_restrictions": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "features": {
+ "description": "Encodes whether a FinancialAccount has access to a particular feature, with a status enum and associated `status_details`. Stripe or the platform may control features via the requested field.",
+ "properties": {
+ "card_issuing": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ },
+ "deposit_insurance": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ },
+ "financial_addresses": {
+ "properties": {
+ "aba": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "aba_access",
+ "type": "object"
+ }
+ },
+ "title": "financial_addresses",
+ "type": "object"
+ },
+ "inbound_transfers": {
+ "properties": {
+ "ach": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access_with_ach_details",
+ "type": "object"
+ }
+ },
+ "title": "inbound_transfers",
+ "type": "object"
+ },
+ "intra_stripe_flows": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ },
+ "outbound_payments": {
+ "properties": {
+ "ach": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access_with_ach_details",
+ "type": "object"
+ },
+ "us_domestic_wire": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ }
+ },
+ "title": "outbound_payments",
+ "type": "object"
+ },
+ "outbound_transfers": {
+ "properties": {
+ "ach": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access_with_ach_details",
+ "type": "object"
+ },
+ "us_domestic_wire": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ }
+ },
+ "title": "outbound_transfers",
+ "type": "object"
+ }
+ },
+ "title": "feature_access",
+ "type": "object"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "platform_restrictions": {
+ "description": "The set of functionalities that the platform can restrict on the FinancialAccount.",
+ "properties": {
+ "inbound_flows": {
+ "enum": [
+ "restricted",
+ "unrestricted"
+ ],
+ "type": "string"
+ },
+ "outbound_flows": {
+ "enum": [
+ "restricted",
+ "unrestricted"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "platform_restrictions",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.financial_account"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/financial_accounts/{financial_account}/features": {
+ "get": {
+ "description": "Retrieves Features information associated with the FinancialAccount.
",
+ "operationId": "GetTreasuryFinancialAccountsFinancialAccountFeatures",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "financial_account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.financial_account_features"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the Features associated with a FinancialAccount.
",
+ "operationId": "PostTreasuryFinancialAccountsFinancialAccountFeatures",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "financial_account",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "card_issuing": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "deposit_insurance": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "financial_addresses": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "inbound_transfers": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "intra_stripe_flows": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "outbound_payments": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "outbound_transfers": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "card_issuing": {
+ "description": "Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount.",
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ },
+ "deposit_insurance": {
+ "description": "Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount.",
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "financial_addresses": {
+ "description": "Contains Features that add FinancialAddresses to the FinancialAccount.",
+ "properties": {
+ "aba": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "aba_access",
+ "type": "object"
+ }
+ },
+ "title": "financial_addresses",
+ "type": "object"
+ },
+ "inbound_transfers": {
+ "description": "Contains settings related to adding funds to a FinancialAccount from another Account with the same owner.",
+ "properties": {
+ "ach": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access_with_ach_details",
+ "type": "object"
+ }
+ },
+ "title": "inbound_transfers",
+ "type": "object"
+ },
+ "intra_stripe_flows": {
+ "description": "Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment).",
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ },
+ "outbound_payments": {
+ "description": "Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money.",
+ "properties": {
+ "ach": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access_with_ach_details",
+ "type": "object"
+ },
+ "us_domestic_wire": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ }
+ },
+ "title": "outbound_payments",
+ "type": "object"
+ },
+ "outbound_transfers": {
+ "description": "Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner.",
+ "properties": {
+ "ach": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access_with_ach_details",
+ "type": "object"
+ },
+ "us_domestic_wire": {
+ "properties": {
+ "requested": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "requested"
+ ],
+ "title": "access",
+ "type": "object"
+ }
+ },
+ "title": "outbound_transfers",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.financial_account_features"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/inbound_transfers": {
+ "get": {
+ "description": "Returns a list of InboundTransfers sent from the specified FinancialAccount.
",
+ "operationId": "GetTreasuryInboundTransfers",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Returns objects associated with this FinancialAccount.",
+ "in": "query",
+ "name": "financial_account",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return InboundTransfers that have the given status: `processing`, `succeeded`, `failed` or `canceled`.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "canceled",
+ "failed",
+ "processing",
+ "succeeded"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/treasury.inbound_transfer"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TreasuryInboundTransfersResourceInboundTransferList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates an InboundTransfer.
",
+ "operationId": "PostTreasuryInboundTransfers",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Amount (in cents) to be transferred.",
+ "type": "integer"
+ },
+ "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"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "financial_account": {
+ "description": "The FinancialAccount to send funds to.",
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "origin_payment_method": {
+ "description": "The origin payment method to be debited for the InboundTransfer.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "statement_descriptor": {
+ "description": "The complete description that appears on your customers' statements. Maximum 10 characters.",
+ "maxLength": 10,
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency",
+ "financial_account",
+ "origin_payment_method"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.inbound_transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/inbound_transfers/{id}": {
+ "get": {
+ "description": "Retrieves the details of an existing InboundTransfer.
",
+ "operationId": "GetTreasuryInboundTransfersId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.inbound_transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/inbound_transfers/{inbound_transfer}/cancel": {
+ "post": {
+ "description": "Cancels an InboundTransfer.
",
+ "operationId": "PostTreasuryInboundTransfersInboundTransferCancel",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "inbound_transfer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.inbound_transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/outbound_payments": {
+ "get": {
+ "description": "Returns a list of OutboundPayments sent from the specified FinancialAccount.
",
+ "operationId": "GetTreasuryOutboundPayments",
+ "parameters": [
+ {
+ "description": "Only return OutboundPayments that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Only return OutboundPayments sent to this customer.",
+ "in": "query",
+ "name": "customer",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Returns objects associated with this FinancialAccount.",
+ "in": "query",
+ "name": "financial_account",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return OutboundPayments that have the given status: `processing`, `failed`, `posted`, `returned`, or `canceled`.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "canceled",
+ "failed",
+ "posted",
+ "processing",
+ "returned"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/treasury.outbound_payment"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/treasury/outbound_payments",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TreasuryOutboundPaymentsResourceOutboundPaymentList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates an OutboundPayment.
",
+ "operationId": "PostTreasuryOutboundPayments",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "destination_payment_method_data": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "destination_payment_method_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "end_user_details": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Amount (in cents) to be transferred.",
+ "type": "integer"
+ },
+ "currency": {
+ "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
+ "type": "string"
+ },
+ "customer": {
+ "description": "ID of the customer to whom the OutboundPayment is sent. Must match the Customer attached to the `destination_payment_method` passed in.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "destination_payment_method": {
+ "description": "The PaymentMethod to use as the payment instrument for the OutboundPayment. Exclusive with `destination_payment_method_data`.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "destination_payment_method_data": {
+ "description": "Hash used to generate the PaymentMethod to be used for this OutboundPayment. Exclusive with `destination_payment_method`.",
+ "properties": {
+ "billing_details": {
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "properties": {
+ "city": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "country": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line1": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "line2": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "postal_code": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "billing_details_address",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "email": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "name": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "billing_details_inner_params",
+ "type": "object"
+ },
+ "financial_account": {
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "type": {
+ "enum": [
+ "financial_account",
+ "us_bank_account"
+ ],
+ "type": "string"
+ },
+ "us_bank_account": {
+ "properties": {
+ "account_holder_type": {
+ "enum": [
+ "company",
+ "individual"
+ ],
+ "type": "string"
+ },
+ "account_number": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "account_type": {
+ "enum": [
+ "checking",
+ "savings"
+ ],
+ "type": "string"
+ },
+ "financial_connections_account": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "routing_number": {
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "title": "payment_method_param",
+ "type": "object"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "payment_method_data",
+ "type": "object"
+ },
+ "destination_payment_method_options": {
+ "description": "Payment method-specific configuration for this OutboundPayment.",
+ "properties": {
+ "us_bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "network": {
+ "enum": [
+ "ach",
+ "us_domestic_wire"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_method_options",
+ "type": "object"
+ },
+ "end_user_details": {
+ "description": "End user details.",
+ "properties": {
+ "ip_address": {
+ "type": "string"
+ },
+ "present": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "present"
+ ],
+ "title": "end_user_details_params",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "financial_account": {
+ "description": "The FinancialAccount to pull funds from.",
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "statement_descriptor": {
+ "description": "The description that appears on the receiving end for this OutboundPayment (for example, bank statement for external bank transfer). Maximum 10 characters for `ach` payments, 140 characters for `us_domestic_wire` payments, or 500 characters for `stripe` network transfers. The default value is \"payment\".",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency",
+ "financial_account"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_payment"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/outbound_payments/{id}": {
+ "get": {
+ "description": "Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment creation request or OutboundPayment list.
",
+ "operationId": "GetTreasuryOutboundPaymentsId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_payment"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/outbound_payments/{id}/cancel": {
+ "post": {
+ "description": "Cancel an OutboundPayment.
",
+ "operationId": "PostTreasuryOutboundPaymentsIdCancel",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_payment"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/outbound_transfers": {
+ "get": {
+ "description": "Returns a list of OutboundTransfers sent from the specified FinancialAccount.
",
+ "operationId": "GetTreasuryOutboundTransfers",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Returns objects associated with this FinancialAccount.",
+ "in": "query",
+ "name": "financial_account",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return OutboundTransfers that have the given status: `processing`, `canceled`, `failed`, `posted`, or `returned`.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "canceled",
+ "failed",
+ "posted",
+ "processing",
+ "returned"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/treasury.outbound_transfer"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TreasuryOutboundTransfersResourceOutboundTransferList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Creates an OutboundTransfer.
",
+ "operationId": "PostTreasuryOutboundTransfers",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "destination_payment_method_options": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "description": "Amount (in cents) to be transferred.",
+ "type": "integer"
+ },
+ "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"
+ },
+ "description": {
+ "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "destination_payment_method": {
+ "description": "The PaymentMethod to use as the payment instrument for the OutboundTransfer.",
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "destination_payment_method_options": {
+ "description": "Hash describing payment method configuration details.",
+ "properties": {
+ "us_bank_account": {
+ "anyOf": [
+ {
+ "properties": {
+ "network": {
+ "enum": [
+ "ach",
+ "us_domestic_wire"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "payment_method_options_param",
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "title": "payment_method_options",
+ "type": "object"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "financial_account": {
+ "description": "The FinancialAccount to pull funds from.",
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
+ "type": "object"
+ },
+ "statement_descriptor": {
+ "description": "Statement descriptor to be shown on the receiving end of an OutboundTransfer. Maximum 10 characters for `ach` transfers or 140 characters for `us_domestic_wire` transfers. The default value is \"transfer\".",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency",
+ "financial_account"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/outbound_transfers/{outbound_transfer}": {
+ "get": {
+ "description": "Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list.
",
+ "operationId": "GetTreasuryOutboundTransfersOutboundTransfer",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "outbound_transfer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/outbound_transfers/{outbound_transfer}/cancel": {
+ "post": {
+ "description": "An OutboundTransfer can be canceled if the funds have not yet been paid out.
",
+ "operationId": "PostTreasuryOutboundTransfersOutboundTransferCancel",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "outbound_transfer",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.outbound_transfer"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/received_credits": {
+ "get": {
+ "description": "Returns a list of ReceivedCredits.
",
+ "operationId": "GetTreasuryReceivedCredits",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The FinancialAccount that received the funds.",
+ "in": "query",
+ "name": "financial_account",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return ReceivedCredits described by the flow.",
+ "explode": true,
+ "in": "query",
+ "name": "linked_flows",
+ "required": false,
+ "schema": {
+ "properties": {
+ "source_flow_type": {
+ "enum": [
+ "credit_reversal",
+ "other",
+ "outbound_payment",
+ "payout"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ }
+ },
+ "required": [
+ "source_flow_type"
+ ],
+ "title": "linked_flows_param",
+ "type": "object"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return ReceivedCredits that have the given status: `succeeded` or `failed`.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "failed",
+ "succeeded"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/treasury.received_credit"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TreasuryReceivedCreditsResourceReceivedCreditList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/received_credits/{id}": {
+ "get": {
+ "description": "Retrieves the details of an existing ReceivedCredit by passing the unique ReceivedCredit ID from the ReceivedCredit list.
",
+ "operationId": "GetTreasuryReceivedCreditsId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.received_credit"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/received_debits": {
+ "get": {
+ "description": "Returns a list of ReceivedDebits.
",
+ "operationId": "GetTreasuryReceivedDebits",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "The FinancialAccount that funds were pulled from.",
+ "in": "query",
+ "name": "financial_account",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return ReceivedDebits that have the given status: `succeeded` or `failed`.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "failed",
+ "succeeded"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/treasury.received_debit"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TreasuryReceivedDebitsResourceReceivedDebitList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/received_debits/{id}": {
+ "get": {
+ "description": "Retrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit list
",
+ "operationId": "GetTreasuryReceivedDebitsId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.received_debit"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/transaction_entries": {
+ "get": {
+ "description": "Retrieves a list of TransactionEntry objects.
",
+ "operationId": "GetTreasuryTransactionEntries",
+ "parameters": [
+ {
+ "description": "Only return TransactionEntries that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "explode": true,
+ "in": "query",
+ "name": "effective_at",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Returns objects associated with this FinancialAccount.",
+ "in": "query",
+ "name": "financial_account",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The results are in reverse chronological order by `created` or `effective_at`. The default is `created`.",
+ "in": "query",
+ "name": "order_by",
+ "required": false,
+ "schema": {
+ "enum": [
+ "created",
+ "effective_at"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return TransactionEntries associated with this Transaction.",
+ "in": "query",
+ "name": "transaction",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/treasury.transaction_entry"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/treasury/transaction_entries",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TreasuryTransactionsResourceTransactionEntryList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/transaction_entries/{id}": {
+ "get": {
+ "description": "Retrieves a TransactionEntry object.
",
+ "operationId": "GetTreasuryTransactionEntriesId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.transaction_entry"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/transactions": {
+ "get": {
+ "description": "Retrieves a list of Transaction objects.
",
+ "operationId": "GetTreasuryTransactions",
+ "parameters": [
+ {
+ "description": "Only return Transactions that were created during the given date interval.",
+ "explode": true,
+ "in": "query",
+ "name": "created",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "Returns objects associated with this FinancialAccount.",
+ "in": "query",
+ "name": "financial_account",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "The results are in reverse chronological order by `created` or `posted_at`. The default is `created`.",
+ "in": "query",
+ "name": "order_by",
+ "required": false,
+ "schema": {
+ "enum": [
+ "created",
+ "posted_at"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Only return Transactions that have the given status: `open`, `posted`, or `void`.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "enum": [
+ "open",
+ "posted",
+ "void"
+ ],
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A filter for the `status_transitions.posted_at` timestamp. When using this filter, `status=posted` and `order_by=posted_at` must also be specified.",
+ "explode": true,
+ "in": "query",
+ "name": "status_transitions",
+ "required": false,
+ "schema": {
+ "properties": {
+ "posted_at": {
+ "anyOf": [
+ {
+ "properties": {
+ "gt": {
+ "type": "integer"
+ },
+ "gte": {
+ "type": "integer"
+ },
+ "lt": {
+ "type": "integer"
+ },
+ "lte": {
+ "type": "integer"
+ }
+ },
+ "title": "range_query_specs",
+ "type": "object"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "title": "status_transition_timestamp_specs",
+ "type": "object"
+ },
+ "style": "deepObject"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "description": "Details about each object.",
+ "items": {
+ "$ref": "#/components/schemas/treasury.transaction"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "TreasuryTransactionsResourceTransactionList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/treasury/transactions/{id}": {
+ "get": {
+ "description": "Retrieves the details of an existing Transaction.
",
+ "operationId": "GetTreasuryTransactionsId",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/treasury.transaction"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/webhook_endpoints": {
+ "get": {
+ "description": "Returns a list of your webhook endpoints.
",
+ "operationId": "GetWebhookEndpoints",
+ "parameters": [
+ {
+ "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
+ "in": "query",
+ "name": "ending_before",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ },
+ "style": "form"
+ },
+ {
+ "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
+ "in": "query",
+ "name": "starting_after",
+ "required": false,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "form"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "",
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/components/schemas/webhook_endpoint"
+ },
+ "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"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL where this list can be accessed.",
+ "maxLength": 5000,
+ "pattern": "^/v1/webhook_endpoints",
+ "type": "string"
+ }
+ },
+ "required": [
+ "data",
+ "has_more",
+ "object",
+ "url"
+ ],
+ "title": "NotificationWebhookEndpointList",
+ "type": "object",
+ "x-expandableFields": [
+ "data"
+ ]
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "A webhook endpoint must have a url
and a list of enabled_events
. You may optionally specify the Boolean connect
parameter. If set to true, then a Connect webhook endpoint that notifies the specified url
about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url
only about events from your account is created. You can also create webhook endpoints in the webhooks settings section of the Dashboard.
",
+ "operationId": "PostWebhookEndpoints",
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "description": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "enabled_events": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "api_version": {
+ "description": "Events sent to this endpoint will be generated with this Stripe Version instead of your account's default Stripe Version.",
+ "enum": [
+ "2011-01-01",
+ "2011-06-21",
+ "2011-06-28",
+ "2011-08-01",
+ "2011-09-15",
+ "2011-11-17",
+ "2012-02-23",
+ "2012-03-25",
+ "2012-06-18",
+ "2012-06-28",
+ "2012-07-09",
+ "2012-09-24",
+ "2012-10-26",
+ "2012-11-07",
+ "2013-02-11",
+ "2013-02-13",
+ "2013-07-05",
+ "2013-08-12",
+ "2013-08-13",
+ "2013-10-29",
+ "2013-12-03",
+ "2014-01-31",
+ "2014-03-13",
+ "2014-03-28",
+ "2014-05-19",
+ "2014-06-13",
+ "2014-06-17",
+ "2014-07-22",
+ "2014-07-26",
+ "2014-08-04",
+ "2014-08-20",
+ "2014-09-08",
+ "2014-10-07",
+ "2014-11-05",
+ "2014-11-20",
+ "2014-12-08",
+ "2014-12-17",
+ "2014-12-22",
+ "2015-01-11",
+ "2015-01-26",
+ "2015-02-10",
+ "2015-02-16",
+ "2015-02-18",
+ "2015-03-24",
+ "2015-04-07",
+ "2015-06-15",
+ "2015-07-07",
+ "2015-07-13",
+ "2015-07-28",
+ "2015-08-07",
+ "2015-08-19",
+ "2015-09-03",
+ "2015-09-08",
+ "2015-09-23",
+ "2015-10-01",
+ "2015-10-12",
+ "2015-10-16",
+ "2016-02-03",
+ "2016-02-19",
+ "2016-02-22",
+ "2016-02-23",
+ "2016-02-29",
+ "2016-03-07",
+ "2016-06-15",
+ "2016-07-06",
+ "2016-10-19",
+ "2017-01-27",
+ "2017-02-14",
+ "2017-04-06",
+ "2017-05-25",
+ "2017-06-05",
+ "2017-08-15",
+ "2017-12-14",
+ "2018-01-23",
+ "2018-02-05",
+ "2018-02-06",
+ "2018-02-28",
+ "2018-05-21",
+ "2018-07-27",
+ "2018-08-23",
+ "2018-09-06",
+ "2018-09-24",
+ "2018-10-31",
+ "2018-11-08",
+ "2019-02-11",
+ "2019-02-19",
+ "2019-03-14",
+ "2019-05-16",
+ "2019-08-14",
+ "2019-09-09",
+ "2019-10-08",
+ "2019-10-17",
+ "2019-11-05",
+ "2019-12-03",
+ "2020-03-02",
+ "2020-08-27",
+ "2022-08-01",
+ "2022-11-15",
+ "2023-08-16",
+ "2023-10-16",
+ "2024-04-10",
+ "2024-06-20"
+ ],
+ "maxLength": 5000,
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "connect": {
+ "description": "Whether this endpoint should receive events from connected accounts (`true`), or from your account (`false`). Defaults to `false`.",
+ "type": "boolean"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "An optional description of what the webhook is used for."
+ },
+ "enabled_events": {
+ "description": "The list of events to enable for this endpoint. You may specify `['*']` to enable all events, except those that require explicit selection.",
+ "items": {
+ "enum": [
+ "*",
+ "account.application.authorized",
+ "account.application.deauthorized",
+ "account.external_account.created",
+ "account.external_account.deleted",
+ "account.external_account.updated",
+ "account.updated",
+ "application_fee.created",
+ "application_fee.refund.updated",
+ "application_fee.refunded",
+ "balance.available",
+ "billing.alert.triggered",
+ "billing_portal.configuration.created",
+ "billing_portal.configuration.updated",
+ "billing_portal.session.created",
+ "capability.updated",
+ "cash_balance.funds_available",
+ "charge.captured",
+ "charge.dispute.closed",
+ "charge.dispute.created",
+ "charge.dispute.funds_reinstated",
+ "charge.dispute.funds_withdrawn",
+ "charge.dispute.updated",
+ "charge.expired",
+ "charge.failed",
+ "charge.pending",
+ "charge.refund.updated",
+ "charge.refunded",
+ "charge.succeeded",
+ "charge.updated",
+ "checkout.session.async_payment_failed",
+ "checkout.session.async_payment_succeeded",
+ "checkout.session.completed",
+ "checkout.session.expired",
+ "climate.order.canceled",
+ "climate.order.created",
+ "climate.order.delayed",
+ "climate.order.delivered",
+ "climate.order.product_substituted",
+ "climate.product.created",
+ "climate.product.pricing_updated",
+ "coupon.created",
+ "coupon.deleted",
+ "coupon.updated",
+ "credit_note.created",
+ "credit_note.updated",
+ "credit_note.voided",
+ "customer.created",
+ "customer.deleted",
+ "customer.discount.created",
+ "customer.discount.deleted",
+ "customer.discount.updated",
+ "customer.source.created",
+ "customer.source.deleted",
+ "customer.source.expiring",
+ "customer.source.updated",
+ "customer.subscription.created",
+ "customer.subscription.deleted",
+ "customer.subscription.paused",
+ "customer.subscription.pending_update_applied",
+ "customer.subscription.pending_update_expired",
+ "customer.subscription.resumed",
+ "customer.subscription.trial_will_end",
+ "customer.subscription.updated",
+ "customer.tax_id.created",
+ "customer.tax_id.deleted",
+ "customer.tax_id.updated",
+ "customer.updated",
+ "customer_cash_balance_transaction.created",
+ "entitlements.active_entitlement_summary.updated",
+ "file.created",
+ "financial_connections.account.created",
+ "financial_connections.account.deactivated",
+ "financial_connections.account.disconnected",
+ "financial_connections.account.reactivated",
+ "financial_connections.account.refreshed_balance",
+ "financial_connections.account.refreshed_ownership",
+ "financial_connections.account.refreshed_transactions",
+ "identity.verification_session.canceled",
+ "identity.verification_session.created",
+ "identity.verification_session.processing",
+ "identity.verification_session.redacted",
+ "identity.verification_session.requires_input",
+ "identity.verification_session.verified",
+ "invoice.created",
+ "invoice.deleted",
+ "invoice.finalization_failed",
+ "invoice.finalized",
+ "invoice.marked_uncollectible",
+ "invoice.overdue",
+ "invoice.paid",
+ "invoice.payment_action_required",
+ "invoice.payment_failed",
+ "invoice.payment_succeeded",
+ "invoice.sent",
+ "invoice.upcoming",
+ "invoice.updated",
+ "invoice.voided",
+ "invoice.will_be_due",
+ "invoiceitem.created",
+ "invoiceitem.deleted",
+ "issuing_authorization.created",
+ "issuing_authorization.request",
+ "issuing_authorization.updated",
+ "issuing_card.created",
+ "issuing_card.updated",
+ "issuing_cardholder.created",
+ "issuing_cardholder.updated",
+ "issuing_dispute.closed",
+ "issuing_dispute.created",
+ "issuing_dispute.funds_reinstated",
+ "issuing_dispute.funds_rescinded",
+ "issuing_dispute.submitted",
+ "issuing_dispute.updated",
+ "issuing_personalization_design.activated",
+ "issuing_personalization_design.deactivated",
+ "issuing_personalization_design.rejected",
+ "issuing_personalization_design.updated",
+ "issuing_token.created",
+ "issuing_token.updated",
+ "issuing_transaction.created",
+ "issuing_transaction.updated",
+ "mandate.updated",
+ "payment_intent.amount_capturable_updated",
+ "payment_intent.canceled",
+ "payment_intent.created",
+ "payment_intent.partially_funded",
+ "payment_intent.payment_failed",
+ "payment_intent.processing",
+ "payment_intent.requires_action",
+ "payment_intent.succeeded",
+ "payment_link.created",
+ "payment_link.updated",
+ "payment_method.attached",
+ "payment_method.automatically_updated",
+ "payment_method.detached",
+ "payment_method.updated",
+ "payout.canceled",
+ "payout.created",
+ "payout.failed",
+ "payout.paid",
+ "payout.reconciliation_completed",
+ "payout.updated",
+ "person.created",
+ "person.deleted",
+ "person.updated",
+ "plan.created",
+ "plan.deleted",
+ "plan.updated",
+ "price.created",
+ "price.deleted",
+ "price.updated",
+ "product.created",
+ "product.deleted",
+ "product.updated",
+ "promotion_code.created",
+ "promotion_code.updated",
+ "quote.accepted",
+ "quote.canceled",
+ "quote.created",
+ "quote.finalized",
+ "radar.early_fraud_warning.created",
+ "radar.early_fraud_warning.updated",
+ "refund.created",
+ "refund.updated",
+ "reporting.report_run.failed",
+ "reporting.report_run.succeeded",
+ "reporting.report_type.updated",
+ "review.closed",
+ "review.opened",
+ "setup_intent.canceled",
+ "setup_intent.created",
+ "setup_intent.requires_action",
+ "setup_intent.setup_failed",
+ "setup_intent.succeeded",
+ "sigma.scheduled_query_run.created",
+ "source.canceled",
+ "source.chargeable",
+ "source.failed",
+ "source.mandate_notification",
+ "source.refund_attributes_required",
+ "source.transaction.created",
+ "source.transaction.updated",
+ "subscription_schedule.aborted",
+ "subscription_schedule.canceled",
+ "subscription_schedule.completed",
+ "subscription_schedule.created",
+ "subscription_schedule.expiring",
+ "subscription_schedule.released",
+ "subscription_schedule.updated",
+ "tax.settings.updated",
+ "tax_rate.created",
+ "tax_rate.updated",
+ "terminal.reader.action_failed",
+ "terminal.reader.action_succeeded",
+ "test_helpers.test_clock.advancing",
+ "test_helpers.test_clock.created",
+ "test_helpers.test_clock.deleted",
+ "test_helpers.test_clock.internal_failure",
+ "test_helpers.test_clock.ready",
+ "topup.canceled",
+ "topup.created",
+ "topup.failed",
+ "topup.reversed",
+ "topup.succeeded",
+ "transfer.created",
+ "transfer.reversed",
+ "transfer.updated",
+ "treasury.credit_reversal.created",
+ "treasury.credit_reversal.posted",
+ "treasury.debit_reversal.completed",
+ "treasury.debit_reversal.created",
+ "treasury.debit_reversal.initial_credit_granted",
+ "treasury.financial_account.closed",
+ "treasury.financial_account.created",
+ "treasury.financial_account.features_status_updated",
+ "treasury.inbound_transfer.canceled",
+ "treasury.inbound_transfer.created",
+ "treasury.inbound_transfer.failed",
+ "treasury.inbound_transfer.succeeded",
+ "treasury.outbound_payment.canceled",
+ "treasury.outbound_payment.created",
+ "treasury.outbound_payment.expected_arrival_date_updated",
+ "treasury.outbound_payment.failed",
+ "treasury.outbound_payment.posted",
+ "treasury.outbound_payment.returned",
+ "treasury.outbound_payment.tracking_details_updated",
+ "treasury.outbound_transfer.canceled",
+ "treasury.outbound_transfer.created",
+ "treasury.outbound_transfer.expected_arrival_date_updated",
+ "treasury.outbound_transfer.failed",
+ "treasury.outbound_transfer.posted",
+ "treasury.outbound_transfer.returned",
+ "treasury.outbound_transfer.tracking_details_updated",
+ "treasury.received_credit.created",
+ "treasury.received_credit.failed",
+ "treasury.received_credit.succeeded",
+ "treasury.received_debit.created"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "url": {
+ "description": "The URL of the webhook endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "enabled_events",
+ "url"
+ ],
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/webhook_endpoint"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ },
+ "/v1/webhook_endpoints/{webhook_endpoint}": {
+ "delete": {
+ "description": "You can also delete webhook endpoints via the webhook endpoint management page of the Stripe dashboard.
",
+ "operationId": "DeleteWebhookEndpointsWebhookEndpoint",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "webhook_endpoint",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/deleted_webhook_endpoint"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieves the webhook endpoint with the given ID.
",
+ "operationId": "GetWebhookEndpointsWebhookEndpoint",
+ "parameters": [
+ {
+ "description": "Specifies which fields in the response should be expanded.",
+ "explode": true,
+ "in": "query",
+ "name": "expand",
+ "required": false,
+ "schema": {
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "deepObject"
+ },
+ {
+ "in": "path",
+ "name": "webhook_endpoint",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {},
+ "schema": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/webhook_endpoint"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ },
+ "post": {
+ "description": "Updates the webhook endpoint. You may edit the url
, the list of enabled_events
, and the status of your endpoint.
",
+ "operationId": "PostWebhookEndpointsWebhookEndpoint",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "webhook_endpoint",
+ "required": true,
+ "schema": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "style": "simple"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/x-www-form-urlencoded": {
+ "encoding": {
+ "description": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "enabled_events": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "expand": {
+ "explode": true,
+ "style": "deepObject"
+ },
+ "metadata": {
+ "explode": true,
+ "style": "deepObject"
+ }
+ },
+ "schema": {
+ "additionalProperties": false,
+ "properties": {
+ "description": {
+ "anyOf": [
+ {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "An optional description of what the webhook is used for."
+ },
+ "disabled": {
+ "description": "Disable the webhook endpoint if set to true.",
+ "type": "boolean"
+ },
+ "enabled_events": {
+ "description": "The list of events to enable for this endpoint. You may specify `['*']` to enable all events, except those that require explicit selection.",
+ "items": {
+ "enum": [
+ "*",
+ "account.application.authorized",
+ "account.application.deauthorized",
+ "account.external_account.created",
+ "account.external_account.deleted",
+ "account.external_account.updated",
+ "account.updated",
+ "application_fee.created",
+ "application_fee.refund.updated",
+ "application_fee.refunded",
+ "balance.available",
+ "billing.alert.triggered",
+ "billing_portal.configuration.created",
+ "billing_portal.configuration.updated",
+ "billing_portal.session.created",
+ "capability.updated",
+ "cash_balance.funds_available",
+ "charge.captured",
+ "charge.dispute.closed",
+ "charge.dispute.created",
+ "charge.dispute.funds_reinstated",
+ "charge.dispute.funds_withdrawn",
+ "charge.dispute.updated",
+ "charge.expired",
+ "charge.failed",
+ "charge.pending",
+ "charge.refund.updated",
+ "charge.refunded",
+ "charge.succeeded",
+ "charge.updated",
+ "checkout.session.async_payment_failed",
+ "checkout.session.async_payment_succeeded",
+ "checkout.session.completed",
+ "checkout.session.expired",
+ "climate.order.canceled",
+ "climate.order.created",
+ "climate.order.delayed",
+ "climate.order.delivered",
+ "climate.order.product_substituted",
+ "climate.product.created",
+ "climate.product.pricing_updated",
+ "coupon.created",
+ "coupon.deleted",
+ "coupon.updated",
+ "credit_note.created",
+ "credit_note.updated",
+ "credit_note.voided",
+ "customer.created",
+ "customer.deleted",
+ "customer.discount.created",
+ "customer.discount.deleted",
+ "customer.discount.updated",
+ "customer.source.created",
+ "customer.source.deleted",
+ "customer.source.expiring",
+ "customer.source.updated",
+ "customer.subscription.created",
+ "customer.subscription.deleted",
+ "customer.subscription.paused",
+ "customer.subscription.pending_update_applied",
+ "customer.subscription.pending_update_expired",
+ "customer.subscription.resumed",
+ "customer.subscription.trial_will_end",
+ "customer.subscription.updated",
+ "customer.tax_id.created",
+ "customer.tax_id.deleted",
+ "customer.tax_id.updated",
+ "customer.updated",
+ "customer_cash_balance_transaction.created",
+ "entitlements.active_entitlement_summary.updated",
+ "file.created",
+ "financial_connections.account.created",
+ "financial_connections.account.deactivated",
+ "financial_connections.account.disconnected",
+ "financial_connections.account.reactivated",
+ "financial_connections.account.refreshed_balance",
+ "financial_connections.account.refreshed_ownership",
+ "financial_connections.account.refreshed_transactions",
+ "identity.verification_session.canceled",
+ "identity.verification_session.created",
+ "identity.verification_session.processing",
+ "identity.verification_session.redacted",
+ "identity.verification_session.requires_input",
+ "identity.verification_session.verified",
+ "invoice.created",
+ "invoice.deleted",
+ "invoice.finalization_failed",
+ "invoice.finalized",
+ "invoice.marked_uncollectible",
+ "invoice.overdue",
+ "invoice.paid",
+ "invoice.payment_action_required",
+ "invoice.payment_failed",
+ "invoice.payment_succeeded",
+ "invoice.sent",
+ "invoice.upcoming",
+ "invoice.updated",
+ "invoice.voided",
+ "invoice.will_be_due",
+ "invoiceitem.created",
+ "invoiceitem.deleted",
+ "issuing_authorization.created",
+ "issuing_authorization.request",
+ "issuing_authorization.updated",
+ "issuing_card.created",
+ "issuing_card.updated",
+ "issuing_cardholder.created",
+ "issuing_cardholder.updated",
+ "issuing_dispute.closed",
+ "issuing_dispute.created",
+ "issuing_dispute.funds_reinstated",
+ "issuing_dispute.funds_rescinded",
+ "issuing_dispute.submitted",
+ "issuing_dispute.updated",
+ "issuing_personalization_design.activated",
+ "issuing_personalization_design.deactivated",
+ "issuing_personalization_design.rejected",
+ "issuing_personalization_design.updated",
+ "issuing_token.created",
+ "issuing_token.updated",
+ "issuing_transaction.created",
+ "issuing_transaction.updated",
+ "mandate.updated",
+ "payment_intent.amount_capturable_updated",
+ "payment_intent.canceled",
+ "payment_intent.created",
+ "payment_intent.partially_funded",
+ "payment_intent.payment_failed",
+ "payment_intent.processing",
+ "payment_intent.requires_action",
+ "payment_intent.succeeded",
+ "payment_link.created",
+ "payment_link.updated",
+ "payment_method.attached",
+ "payment_method.automatically_updated",
+ "payment_method.detached",
+ "payment_method.updated",
+ "payout.canceled",
+ "payout.created",
+ "payout.failed",
+ "payout.paid",
+ "payout.reconciliation_completed",
+ "payout.updated",
+ "person.created",
+ "person.deleted",
+ "person.updated",
+ "plan.created",
+ "plan.deleted",
+ "plan.updated",
+ "price.created",
+ "price.deleted",
+ "price.updated",
+ "product.created",
+ "product.deleted",
+ "product.updated",
+ "promotion_code.created",
+ "promotion_code.updated",
+ "quote.accepted",
+ "quote.canceled",
+ "quote.created",
+ "quote.finalized",
+ "radar.early_fraud_warning.created",
+ "radar.early_fraud_warning.updated",
+ "refund.created",
+ "refund.updated",
+ "reporting.report_run.failed",
+ "reporting.report_run.succeeded",
+ "reporting.report_type.updated",
+ "review.closed",
+ "review.opened",
+ "setup_intent.canceled",
+ "setup_intent.created",
+ "setup_intent.requires_action",
+ "setup_intent.setup_failed",
+ "setup_intent.succeeded",
+ "sigma.scheduled_query_run.created",
+ "source.canceled",
+ "source.chargeable",
+ "source.failed",
+ "source.mandate_notification",
+ "source.refund_attributes_required",
+ "source.transaction.created",
+ "source.transaction.updated",
+ "subscription_schedule.aborted",
+ "subscription_schedule.canceled",
+ "subscription_schedule.completed",
+ "subscription_schedule.created",
+ "subscription_schedule.expiring",
+ "subscription_schedule.released",
+ "subscription_schedule.updated",
+ "tax.settings.updated",
+ "tax_rate.created",
+ "tax_rate.updated",
+ "terminal.reader.action_failed",
+ "terminal.reader.action_succeeded",
+ "test_helpers.test_clock.advancing",
+ "test_helpers.test_clock.created",
+ "test_helpers.test_clock.deleted",
+ "test_helpers.test_clock.internal_failure",
+ "test_helpers.test_clock.ready",
+ "topup.canceled",
+ "topup.created",
+ "topup.failed",
+ "topup.reversed",
+ "topup.succeeded",
+ "transfer.created",
+ "transfer.reversed",
+ "transfer.updated",
+ "treasury.credit_reversal.created",
+ "treasury.credit_reversal.posted",
+ "treasury.debit_reversal.completed",
+ "treasury.debit_reversal.created",
+ "treasury.debit_reversal.initial_credit_granted",
+ "treasury.financial_account.closed",
+ "treasury.financial_account.created",
+ "treasury.financial_account.features_status_updated",
+ "treasury.inbound_transfer.canceled",
+ "treasury.inbound_transfer.created",
+ "treasury.inbound_transfer.failed",
+ "treasury.inbound_transfer.succeeded",
+ "treasury.outbound_payment.canceled",
+ "treasury.outbound_payment.created",
+ "treasury.outbound_payment.expected_arrival_date_updated",
+ "treasury.outbound_payment.failed",
+ "treasury.outbound_payment.posted",
+ "treasury.outbound_payment.returned",
+ "treasury.outbound_payment.tracking_details_updated",
+ "treasury.outbound_transfer.canceled",
+ "treasury.outbound_transfer.created",
+ "treasury.outbound_transfer.expected_arrival_date_updated",
+ "treasury.outbound_transfer.failed",
+ "treasury.outbound_transfer.posted",
+ "treasury.outbound_transfer.returned",
+ "treasury.outbound_transfer.tracking_details_updated",
+ "treasury.received_credit.created",
+ "treasury.received_credit.failed",
+ "treasury.received_credit.succeeded",
+ "treasury.received_debit.created"
+ ],
+ "type": "string",
+ "x-stripeBypassValidation": true
+ },
+ "type": "array"
+ },
+ "expand": {
+ "description": "Specifies which fields in the response should be expanded.",
+ "items": {
+ "maxLength": 5000,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "metadata": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "enum": [
+ ""
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
+ },
+ "url": {
+ "description": "The URL of the webhook endpoint.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/webhook_endpoint"
+ }
+ }
+ },
+ "description": "Successful response."
+ },
+ "default": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/error"
+ }
+ }
+ },
+ "description": "Error response."
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "basicAuth": []
+ },
+ {
+ "bearerAuth": []
+ }
+ ],
+ "servers": [
+ {
+ "url": "https://api.stripe.com/"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/openapi/test/v2_test.dart b/packages/openapi/test/v2_test.dart
new file mode 100644
index 0000000..618d83f
--- /dev/null
+++ b/packages/openapi/test/v2_test.dart
@@ -0,0 +1,120 @@
+// Copyright (c) 2017, joeconway. All rights reserved. Use of this source code
+// is governed by a BSD-style license that can be found in the LICENSE file.
+
+import 'dart:convert';
+import 'dart:io';
+import 'package:protevus_openapi/v2.dart';
+import 'package:test/test.dart';
+
+void main() {
+ group("kubenrnetes spec", () {
+ APIDocument? doc;
+ Map? original;
+
+ setUpAll(() async {
+ /// download sample api document if we don't already have it.
+ final String config = await fetchKubernetesExample();
+ final file = File(config);
+ final contents = file.readAsStringSync();
+ original = json.decode(contents) as Map;
+ doc = APIDocument.fromMap(original!);
+ });
+
+ test("Has all metadata", () {
+ expect(doc!.version, "2.0");
+ expect(doc!.info!.title, "Kubernetes");
+ expect(doc!.info!.version, 'v1.12.0');
+ expect(doc!.host, isNull);
+ expect(doc!.basePath, isNull);
+ expect(doc!.tags, isNull);
+ expect(doc!.schemes, isNull);
+ });
+
+ test("Confirm top-level objects", () {
+ expect(original!.containsKey("consumes"), false);
+
+ expect(original!.containsKey("produces"), false);
+ });
+
+ test("Has paths", () {
+ expect(doc!.paths!.length, greaterThan(0));
+ expect(doc!.paths!.length, original!["paths"].length);
+
+ final Map originalPaths =
+ original!["paths"] as Map;
+ doc!.paths!.forEach((k, v) {
+ expect(originalPaths.keys.contains(k), true);
+ });
+ });
+
+ test("Sample - Namespace", () {
+ final namespacePath = doc!.paths!["/api/v1/namespaces"];
+
+ final getNamespace = namespacePath!.operations["get"];
+ expect(getNamespace!.description, contains("of kind Namespace"));
+ expect(getNamespace.consumes, ["*/*"]);
+ expect(getNamespace.produces, contains("application/json"));
+ expect(getNamespace.produces, contains("application/yaml"));
+ expect(getNamespace.parameters!.length, 8);
+ expect(
+ getNamespace.parameters!
+ .firstWhere((p) => p!.name == "limit")!
+ .location,
+ APIParameterLocation.query,
+ );
+ expect(
+ getNamespace.parameters!.firstWhere((p) => p!.name == "limit")!.type,
+ APIType.integer,
+ );
+ expect(getNamespace.responses!.keys, contains("401"));
+ expect(getNamespace.responses!.keys, contains("200"));
+
+ final postNamespace = namespacePath.operations["post"];
+ expect(postNamespace!.parameters!.length, 1);
+ expect(postNamespace.parameters!.first!.name, "body");
+ expect(
+ postNamespace.parameters!.first!.location,
+ APIParameterLocation.body,
+ );
+ });
+
+ test("Sample - Reference", () {
+ final apiPath = doc!.paths!["/api/"];
+ final apiPathGet = apiPath!.operations["get"];
+ final response = apiPathGet!.responses!["200"];
+ final schema = response!.schema;
+ expect(schema!.description, contains("APIVersions lists the"));
+ expect(schema.isRequired, ["versions", "serverAddressByClientCIDRs"]);
+ expect(
+ schema.properties!["serverAddressByClientCIDRs"]!.items!
+ .properties!["clientCIDR"]!.description,
+ contains("The CIDR"),
+ );
+ });
+
+ test("Can encode as JSON", () {
+ expect(json.encode(doc!.asMap()), isA());
+ });
+ });
+}
+
+Future fetchKubernetesExample() async {
+ // Spec file is too large for pub, and no other way to remove from pub publish
+ // than putting in .gitignore. Therefore, this file must be downloaded locally
+ // to this path, from this path: https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json
+
+ const config = "test/specs/kubernetes.json";
+ final configFile = File(config);
+ if (!configFile.existsSync()) {
+ if (!configFile.parent.existsSync()) {
+ Directory(configFile.parent.path).createSync(recursive: true);
+ }
+
+ const url =
+ 'https://raw.githubusercontent.com/kubernetes/kubernetes/f091073b0fb4d3a550e7f182eb5465338c8b7cbf/api/openapi-spec/swagger.json';
+ final request = await HttpClient().getUrl(Uri.parse(url));
+ final response = await request.close();
+ await response.pipe(configFile.openWrite());
+ }
+ return config;
+}
diff --git a/packages/openapi/test/v3_test.dart b/packages/openapi/test/v3_test.dart
new file mode 100644
index 0000000..2ede79c
--- /dev/null
+++ b/packages/openapi/test/v3_test.dart
@@ -0,0 +1,441 @@
+import 'dart:convert';
+import 'dart:io';
+import 'package:protevus_openapi/v3.dart';
+import 'package:test/test.dart';
+
+void main() {
+ group("Components and resolution", () {
+ test("Can resolve object against registry", () {
+ final components = APIComponents();
+ components.schemas["foo"] = APISchemaObject.string();
+
+ final ref = APISchemaObject()
+ ..referenceURI = Uri.parse("/components/schemas/foo");
+ final orig = components.resolve(ref);
+ expect(orig, isNotNull);
+ expect(orig!.type, APIType.string);
+ expect(ref.type, isNull);
+
+ final APISchemaObject? constructed = components
+ .resolveUri(Uri(path: "/components/schemas/foo")) as APISchemaObject?;
+ expect(constructed, isNotNull);
+ expect(constructed!.type, APIType.string);
+ });
+
+ test("Invalid ref uri format throws error", () {
+ final components = APIComponents();
+ try {
+ components.resolve(
+ APISchemaObject()
+ ..referenceURI = Uri.parse("#/components/schemas/foo"),
+ );
+ expect(true, false);
+ } on ArgumentError catch (e) {
+ expect(e.message, contains("Invalid reference URI"));
+ }
+
+ try {
+ components.resolve(
+ APISchemaObject()..referenceURI = Uri.parse("#/components/schemas"),
+ );
+ expect(true, false);
+ } on ArgumentError catch (e) {
+ expect(e.message, contains("Invalid reference URI"));
+ }
+
+ try {
+ components.resolve(
+ APISchemaObject()..referenceURI = Uri.parse("/components/foobar/foo"),
+ );
+ expect(true, false);
+ } on ArgumentError catch (e) {
+ expect(e.message, contains("Invalid reference URI"));
+ }
+ });
+
+ test("Nonexisting component returns null", () {
+ final components = APIComponents();
+ expect(
+ components.resolve(
+ APISchemaObject()
+ ..referenceURI = Uri.parse("/components/schemas/foo"),
+ ),
+ isNull,
+ );
+ });
+
+ test("URIs are paths internally, but fragments when serialized", () {
+ final doc = APIDocument.fromMap({
+ "openapi": "3.0.0",
+ "info": {"title": "x", "version": "1"},
+ "paths": {},
+ "components": {
+ "schemas": {
+ "string": {
+ "type": "string",
+ },
+ "container": {"\$ref": "#/components/schemas/string"}
+ }
+ }
+ });
+
+ expect(
+ doc.components!.schemas["container"]!.referenceURI!
+ .toFilePath(windows: Platform.isWindows),
+ Uri.parse("/components/schemas/string")
+ .toFilePath(windows: Platform.isWindows),
+ );
+
+ doc.components!.schemas["other"] = APISchemaObject()
+ ..referenceURI = Uri(path: "/components/schemas/container");
+
+ final out = doc.asMap();
+ expect(
+ out["components"]["schemas"]["container"][r"$ref"],
+ "#/components/schemas/string",
+ );
+ expect(
+ out["components"]["schemas"]["other"][r"$ref"],
+ "#/components/schemas/container",
+ );
+ });
+ });
+
+ group("Stripe spec", () {
+ APIDocument? doc;
+ Map? original;
+
+ setUpAll(() async {
+ final String config = await fetchStripExample();
+
+ final file = File(config);
+ final contents = file.readAsStringSync();
+ original = json.decode(contents) as Map;
+ if (original != null) {
+ doc = APIDocument.fromMap(original!);
+ }
+ });
+
+ test("Emits same document in asMap()", () {
+ expect(doc!.asMap(), original);
+ });
+
+ test("Has openapi version", () {
+ expect(doc!.version, "3.0.0");
+ });
+
+ test("Has info", () {
+ expect(doc!.info.title, "Stripe API");
+ expect(doc!.info.version, isNotNull);
+ expect(
+ doc!.info.description,
+ "The Stripe REST API. Please see https://stripe.com/docs/api for more details.",
+ );
+ expect(
+ doc!.info.termsOfServiceURL.toString(),
+ "https://stripe.com/us/terms/",
+ );
+ expect(doc!.info.contact!.email, "dev-platform@stripe.com");
+ expect(doc!.info.contact!.name, "Stripe Dev Platform Team");
+ expect(doc!.info.contact!.url.toString(), "https://stripe.com");
+ expect(doc!.info.license, isNull);
+ });
+
+ test("Has servers", () {
+ expect(doc!.servers, isNotNull);
+ expect(doc!.servers!.length, 1);
+ expect(doc!.servers!.first!.url.toString(), "https://api.stripe.com/");
+ expect(doc!.servers!.first!.description, isNull);
+ expect(doc!.servers!.first!.variables, isNull);
+ });
+
+ test("Tags", () {
+ expect(doc!.tags, isNull);
+ });
+
+ group("Paths", () {
+ test("Sample path 1", () {
+ expect(doc!.paths, isNotNull);
+ final p = doc!.paths!["/v1/transfers/{transfer}/reversals/{id}"];
+ expect(p, isNotNull);
+ expect(p!.description, isNull);
+
+ expect(p.operations.length, 2);
+
+ final getOp = p.operations["get"];
+ final getParams = getOp!.parameters;
+ final getResponses = getOp.responses;
+ expect(getOp.description, contains("10 most recent reversals"));
+ expect(getOp.id, "GetTransfersTransferReversalsId");
+ expect(getParams!.length, 3);
+ expect(getParams[0].location, APIParameterLocation.query);
+ expect(
+ getParams[0].description,
+ "Specifies which fields in the response should be expanded.",
+ );
+ expect(getParams[0].name, "expand");
+ expect(getParams[0].isRequired, false);
+ expect(getParams[0].schema!.type, APIType.array);
+ expect(getParams[0].schema!.items!.type, APIType.string);
+
+ expect(getParams[1].location, APIParameterLocation.path);
+ expect(getParams[1].name, "id");
+ expect(getParams[1].isRequired, true);
+ expect(getParams[1].schema!.type, APIType.string);
+
+ expect(getParams[2].location, APIParameterLocation.path);
+ expect(getParams[2].name, "transfer");
+ expect(getParams[2].isRequired, true);
+ expect(getParams[2].schema!.type, APIType.string);
+
+ expect(getResponses!.length, 2);
+ expect(getResponses["200"]!.content!.length, 1);
+ expect(
+ getResponses["200"]!
+ .content!["application/json"]!
+ .schema!
+ .referenceURI,
+ Uri.parse(
+ Uri.parse("#/components/schemas/transfer_reversal").fragment,
+ ),
+ );
+
+ final resolvedElement = getResponses["200"]!
+ .content!["application/json"]!
+ .schema!
+ .properties!["balance_transaction"]!
+ .anyOf;
+ expect(
+ resolvedElement!.last!.properties!["amount"]!.type,
+ APIType.integer,
+ );
+ });
+ });
+
+ group("Components", () {});
+
+ test("Security requirement", () {
+ expect(doc!.security, isNotNull);
+ expect(doc!.security!.length, 2);
+ });
+ });
+
+ group("Schema", () {
+ test("Can read/emit schema object with additionalProperties=true", () {
+ final doc = APIDocument.fromMap({
+ "openapi": "3.0.0",
+ "info": {"title": "x", "version": "1"},
+ "paths": {},
+ "components": {
+ "schemas": {
+ "freeform": {"type": "object", "additionalProperties": true}
+ }
+ }
+ });
+
+ expect(
+ doc.components!.schemas["freeform"]!.additionalPropertyPolicy,
+ APISchemaAdditionalPropertyPolicy.freeForm,
+ );
+
+ expect(
+ doc.asMap()["components"]["schemas"]["freeform"]["type"],
+ "object",
+ );
+ expect(
+ doc.asMap()["components"]["schemas"]["freeform"]
+ ["additionalProperties"],
+ true,
+ );
+ });
+
+ test("Can read/emit schema object with additionalProperties={}", () {
+ final doc = APIDocument.fromMap({
+ "openapi": "3.0.0",
+ "info": {"title": "x", "version": "1"},
+ "paths": {},
+ "components": {
+ "schemas": {
+ "freeform": {
+ "type": "object",
+ "additionalProperties": {}
+ }
+ }
+ }
+ });
+ expect(
+ doc.components!.schemas["freeform"]!.additionalPropertyPolicy,
+ APISchemaAdditionalPropertyPolicy.freeForm,
+ );
+ expect(
+ doc.asMap()["components"]["schemas"]["freeform"]["type"],
+ "object",
+ );
+ expect(
+ doc.asMap()["components"]["schemas"]["freeform"]
+ ["additionalProperties"],
+ true,
+ );
+ });
+ });
+
+ group("Callbacks", () {});
+
+ group("'add' methods", () {
+ test("'addHeader'", () {
+ final resp = APIResponse("Response");
+
+ // when null
+ resp.addHeader(
+ "x",
+ APIHeader(schema: APISchemaObject.string(format: "initial")),
+ );
+ expect(resp.headers!["x"]!.schema!.format, "initial");
+
+ // add more than one
+ resp.addHeader(
+ "y",
+ APIHeader(schema: APISchemaObject.string(format: "second")),
+ );
+ expect(resp.headers!["x"]!.schema!.format, "initial");
+ expect(resp.headers!["y"]!.schema!.format, "second");
+
+ // cannot replace
+ resp.addHeader(
+ "y",
+ APIHeader(schema: APISchemaObject.string(format: "third")),
+ );
+ expect(resp.headers!["x"]!.schema!.format, "initial");
+ expect(resp.headers!["y"]!.schema!.format, "second");
+ });
+
+ test("'addContent'", () {
+ final resp = APIResponse("Response");
+
+ // when null
+ resp.addContent("x/a", APISchemaObject.string(format: "initial"));
+ expect(resp.content!["x/a"]!.schema!.format, "initial");
+
+ // add more than one
+ resp.addContent("y/a", APISchemaObject.string(format: "second"));
+ expect(resp.content!["x/a"]!.schema!.format, "initial");
+ expect(resp.content!["y/a"]!.schema!.format, "second");
+
+ // joins schema in oneOf if key exists
+ resp.addContent("y/a", APISchemaObject.string(format: "third"));
+ expect(resp.content!["x/a"]!.schema!.format, "initial");
+
+ expect(resp.content!["y/a"]!.schema!.oneOf!.first!.format, "second");
+ expect(resp.content!["y/a"]!.schema!.oneOf!.last!.format, "third");
+ });
+
+ test("'addResponse'", () {
+ final op = APIOperation("op", null);
+
+ // when null
+ op.addResponse(
+ 200,
+ APIResponse.schema("OK", APISchemaObject.string(format: "initial")),
+ );
+ expect(
+ op.responses!["200"]!.content!["application/json"]!.schema!.format,
+ "initial",
+ );
+
+ // add more than one
+ op.addResponse(
+ 400,
+ APIResponse.schema(
+ "KINDABAD",
+ APISchemaObject.string(format: "second"),
+ headers: {
+ "initial":
+ APIHeader(schema: APISchemaObject.string(format: "initial"))
+ },
+ ),
+ );
+ expect(
+ op.responses!["200"]!.content!["application/json"]!.schema!.format,
+ "initial",
+ );
+ expect(
+ op.responses!["400"]!.content!["application/json"]!.schema!.format,
+ "second",
+ );
+
+ // join responses when key exists
+ op.addResponse(
+ 400,
+ APIResponse.schema(
+ "REALBAD",
+ APISchemaObject.string(format: "third"),
+ headers: {
+ "second":
+ APIHeader(schema: APISchemaObject.string(format: "initial"))
+ },
+ ),
+ );
+ expect(
+ op.responses!["200"]!.content!["application/json"]!.schema!.format,
+ "initial",
+ );
+
+ final r400 = op.responses!["400"]!;
+ expect(r400.description, contains("KINDABAD"));
+ expect(r400.description, contains("REALBAD"));
+ expect(r400.content!["application/json"]!.schema!.oneOf, isNotNull);
+ expect(r400.headers!["initial"], isNotNull);
+ expect(r400.headers!["second"], isNotNull);
+ });
+
+ test("'addResponse' guards against null value", () {
+ final op = APIOperation("op", null);
+
+ op.addResponse(
+ 400,
+ APIResponse.schema(
+ "KINDABAD",
+ APISchemaObject.string(format: "second"),
+ ),
+ );
+ expect(
+ op.responses!["400"]!.content!["application/json"]!.schema!.format,
+ "second",
+ );
+
+ op.addResponse(
+ 400,
+ APIResponse.schema(
+ "REALBAD",
+ APISchemaObject.string(format: "third"),
+ ),
+ );
+ expect(
+ op.responses!["400"]!.content!["application/json"]!.schema!.oneOf!
+ .length,
+ 2,
+ );
+ });
+ });
+}
+
+Future fetchStripExample() async {
+ // Spec file is too large for pub, and no other way to remove from pub publish
+ // than putting in .gitignore. Therefore, this file must be downloaded locally
+ // to this path, from this path: https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json
+
+ const config = "test/specs/stripe.json";
+ final configFile = File(config);
+ if (!configFile.existsSync()) {
+ if (!configFile.parent.existsSync()) {
+ Directory(configFile.parent.path).createSync(recursive: true);
+ }
+
+ const url =
+ 'https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json';
+ final request = await HttpClient().getUrl(Uri.parse(url));
+ final response = await request.close();
+ await response.pipe(File(config).openWrite());
+ }
+ return config;
+}