openapi: 3.1.0 info: title: Stripe Setup API description: >- Use the Setup Intents API to set up a payment method for future payments. It's similar to a payment, but no charge is created. Set up a payment method for future payments now. contact: email: dev-platform@stripe.com name: Stripe Dev Platform Team url: https://stripe.com termsOfService: https://stripe.com/us/terms/ version: '2024-06-20' x-stripeSpecFilename: spec3 security: - basicAuth: [] - bearerAuth: [] servers: - url: https://api.stripe.com/ paths: /v1/setup_intents: get: summary: List Setup Intents description:
Returns a list of SetupIntents.
operationId: GetSetupIntents parameters: - name: customer in: query description: Only return SetupIntents for the customer specified by this customer ID. required: false schema: type: string maxLength: 5000 - name: payment_method in: query description: Only return SetupIntents that associate with the specified payment method. required: false schema: type: string maxLength: 5000 - name: ending_before in: query required: false schema: type: string maxLength: 5000 - name: limit in: query required: false schema: type: integer - name: starting_after in: query required: false schema: type: string maxLength: 5000 - name: expand in: query required: false explode: true schema: type: array items: type: string maxLength: 5000 style: deepObject responses: '200': description: Successful response. content: application/json: schema: type: object properties: object: type: string enum: - list data: type: array items: $ref: '#/components/schemas/setup_intent' has_more: type: boolean url: type: string default: description: Error response. content: application/json: schema: $ref: '#/components/schemas/error' tags: - Setup Intents post: summary: Create Setup Intent description: >-Creates a SetupIntent object. After you create the SetupIntent, attach a payment method and confirm it to collect any required permissions to charge the payment method later.
operationId: PostSetupIntents requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: confirm: type: boolean customer: type: string maxLength: 5000 description: type: string maxLength: 1000 metadata: type: object additionalProperties: type: string payment_method: type: string maxLength: 5000 payment_method_types: type: array items: type: string maxLength: 5000 return_url: type: string usage: type: string enum: - off_session - on_session responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/setup_intent' default: description: Error response. content: application/json: schema: $ref: '#/components/schemas/error' tags: - Setup Intents /v1/setup_intents/{intent}: get: summary: Retrieve Setup Intent description:Retrieves the details of a SetupIntent that has previously been created.
operationId: GetSetupIntentsIntent parameters: - name: intent in: path required: true schema: type: string maxLength: 5000 - name: client_secret in: query description: The client secret of the SetupIntent. required: false schema: type: string maxLength: 5000 - name: expand in: query required: false explode: true schema: type: array items: type: string maxLength: 5000 style: deepObject responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/setup_intent' default: description: Error response. content: application/json: schema: $ref: '#/components/schemas/error' tags: - Setup Intents post: summary: Update Setup Intent description:Updates a SetupIntent object.
operationId: PostSetupIntentsIntent parameters: - name: intent in: path required: true schema: type: string maxLength: 5000 requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: customer: type: string maxLength: 5000 description: type: string maxLength: 1000 metadata: type: object additionalProperties: type: string payment_method: type: string maxLength: 5000 payment_method_types: type: array items: type: string maxLength: 5000 responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/setup_intent' default: description: Error response. content: application/json: schema: $ref: '#/components/schemas/error' tags: - Setup Intents /v1/setup_intents/{intent}/confirm: post: summary: Confirm Setup Intent description: >-Confirm that your customer intends to set up the current or provided payment method.
operationId: PostSetupIntentsIntentConfirm parameters: - name: intent in: path required: true schema: type: string maxLength: 5000 requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: payment_method: type: string maxLength: 5000 return_url: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/setup_intent' default: description: Error response. content: application/json: schema: $ref: '#/components/schemas/error' tags: - Setup Intents /v1/setup_intents/{intent}/cancel: post: summary: Cancel Setup Intent description:You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action.
operationId: PostSetupIntentsIntentCancel parameters: - name: intent in: path required: true schema: type: string maxLength: 5000 requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: cancellation_reason: type: string enum: - abandoned - duplicate - requested_by_customer responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/setup_intent' default: description: Error response. content: application/json: schema: $ref: '#/components/schemas/error' tags: - Setup Intents /v1/setup_attempts: get: summary: List Setup Attempts description:Returns a list of SetupAttempts that associate with a provided SetupIntent.
operationId: GetSetupAttempts parameters: - name: setup_intent in: query required: true schema: type: string maxLength: 5000 - name: ending_before in: query required: false schema: type: string maxLength: 5000 - name: limit in: query required: false schema: type: integer - name: starting_after in: query required: false schema: type: string maxLength: 5000 responses: '200': description: Successful response. content: application/json: schema: type: object properties: object: type: string enum: - list data: type: array items: $ref: '#/components/schemas/setup_attempt' has_more: type: boolean url: type: string default: description: Error response. content: application/json: schema: $ref: '#/components/schemas/error' tags: - Setup Intents components: schemas: setup_intent: type: object properties: id: type: string maxLength: 5000 object: type: string enum: - setup_intent application: type: - string - 'null' cancellation_reason: type: - string - 'null' enum: - abandoned - duplicate - requested_by_customer - null client_secret: type: - string - 'null' created: type: integer customer: type: - string - 'null' description: type: - string - 'null' last_setup_error: type: - object - 'null' latest_attempt: type: - string - 'null' livemode: type: boolean metadata: type: object additionalProperties: type: string next_action: type: - object - 'null' payment_method: type: - string - 'null' payment_method_options: type: - object - 'null' payment_method_types: type: array items: type: string maxLength: 5000 status: type: string enum: - canceled - processing - requires_action - requires_confirmation - requires_payment_method - succeeded usage: type: string required: - id - object - created - livemode - metadata - payment_method_types - status - usage setup_attempt: type: object properties: id: type: string maxLength: 5000 object: type: string enum: - setup_attempt application: type: - string - 'null' attach_to_self: type: boolean created: type: integer customer: type: - string - 'null' livemode: type: boolean on_behalf_of: type: - string - 'null' payment_method: type: string setup_error: type: - object - 'null' setup_intent: type: string status: type: string usage: type: string required: - id - object - created - livemode - payment_method - setup_intent - status - usage error: type: object properties: error: type: object properties: type: type: string message: type: string code: type: string param: type: string securitySchemes: basicAuth: type: http scheme: basic bearerAuth: type: http scheme: bearer