> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Remove Stripe integration

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Deletes the app's [sandbox](/developers/references/apps-api/sections/payments-stripe#from-sandbox-to-live) record and stored Stripe secrets, and clears its Stripe mode, so [Get Stripe integration status](/api-reference/get-stripe-integration-status) reports no mode.

This does not delete the Stripe account or catalog, revoke credentials at Stripe, or redeploy existing backend functions.

Backend functions that were already deployed keep the credentials they were deployed with, so they can keep using Stripe until you [redeploy the app](/api-reference/deploy-an-app).

Requires write access to the app. Workspace viewers cannot call this operation.



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json delete /api/apps/{app_id}/payments/stripe
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/apps/{app_id}/payments/stripe:
    delete:
      summary: Remove Stripe integration
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Deletes the app's
        [sandbox](/developers/references/apps-api/sections/payments-stripe#from-sandbox-to-live)
        record and stored Stripe secrets, and clears its Stripe mode, so [Get
        Stripe integration status](/api-reference/get-stripe-integration-status)
        reports no mode.


        This does not delete the Stripe account or catalog, revoke credentials
        at Stripe, or redeploy existing backend functions.


        Backend functions that were already deployed keep the credentials they
        were deployed with, so they can keep using Stripe until you [redeploy
        the app](/api-reference/deploy-an-app).


        Requires write access to the app. Workspace viewers cannot call this
        operation.
      operationId: remove_stripe_integration_api_apps__app_id__payments_stripe_delete
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the Base44 app.
            title: App Id
          description: ID of the Base44 app.
          example: 6820f3a4e7b91d003c45a1f2
      responses:
        '200':
          description: The operation result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StripeRemovalResult'
        '400':
          description: '`stripe_tracking_cleanup_failed`: Stripe refused webhook cleanup.'
          content:
            application/json:
              examples:
                stripe_tracking_cleanup_failed:
                  summary: stripe_tracking_cleanup_failed
                  value:
                    error:
                      code: stripe_tracking_cleanup_failed
                      message: >-
                        Stripe couldn't remove payment tracking. Check the
                        account's webhook settings and try again.
                      details: {}
              schema:
                $ref: '#/components/schemas/StandardErrorEnvelope'
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            The credential is not permitted or you don't have the required app
            access. A missing app also fails the app access check. Setup and
            catalog operations also return `app_payment_management_not_allowed`
            when the app's workspace restricts payment management.
        '404':
          description: The app is outside the credential's granted workspace.
        '409':
          description: >-
            `stripe_tracking_account_mismatch`: The stored key belongs to a
            different Stripe account. Restore the previous account's key and
            retry.
          content:
            application/json:
              examples:
                stripe_tracking_account_mismatch:
                  summary: stripe_tracking_account_mismatch
                  value:
                    error:
                      code: stripe_tracking_account_mismatch
                      message: >-
                        Restore the previous Stripe account's key before
                        removing its payment tracking.
                      details: {}
              schema:
                $ref: '#/components/schemas/StandardErrorEnvelope'
        '503':
          description: >-
            `stripe_tracking_cleanup_unavailable` or
            `stripe_tracking_secret_unavailable`: Stripe or credential
            decryption is temporarily unavailable. Retry the disconnect later.
          content:
            application/json:
              examples:
                stripe_tracking_cleanup_unavailable:
                  summary: stripe_tracking_cleanup_unavailable
                  value:
                    error:
                      code: stripe_tracking_cleanup_unavailable
                      message: >-
                        Stripe is temporarily unavailable. Try removing the
                        integration again later.
                      details: {}
              schema:
                $ref: '#/components/schemas/StandardErrorEnvelope'
      security:
        - PersonalAccessTokenAuth:
            - full_access
components:
  schemas:
    StripeRemovalResult:
      properties:
        success:
          type: boolean
          title: Success
          description: Whether the removal completed.
          example: true
      type: object
      required:
        - success
      title: StripeRemovalResult
      description: The result of removing the app's Stripe configuration.
    StandardErrorEnvelope:
      properties:
        error:
          $ref: '#/components/schemas/StandardError'
          description: What went wrong.
      type: object
      required:
        - error
      title: StandardErrorEnvelope
      description: The error body returned in the standard envelope.
    StandardError:
      properties:
        code:
          type: string
          title: Code
          description: >-
            Stable machine-readable cause of the failure. Match on this, not on
            `message`.
          example: not_found
        message:
          type: string
          title: Message
          description: Human-readable explanation. It isn't a stable contract.
          example: App not found
        details:
          additionalProperties: true
          type: object
          title: Details
          description: >-
            Structured context for the failure, or an empty object when there's
            none.
          example: {}
      type: object
      required:
        - code
        - message
      title: StandardError
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: >-
        Personal access token, sent as `Authorization: Bearer <token>`. Each
        operation lists the permission it needs: `read_only` or `full_access`. A
        full-access token can call every operation. A read-only token can call
        only the operations that list `read_only`; anything else returns 403
        `read_only_credential_route_not_allowed`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.