> ## 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.

# Install Stripe integration

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

Sets up a Stripe [sandbox](/developers/references/apps-api/sections/payments-stripe#from-sandbox-to-live) for the app and stores test credentials.

Calling this again when the app already has a usable Stripe installation returns the existing installation instead of creating a duplicate.

If the app has a Wix store, that store already owns the app's checkout and this call is blocked, since a store and a payment provider can't both own it. Payment providers don't enforce that same exclusivity against each other, though. An active Wix Payments or Payments by Wix connection doesn't block this call, and installing Stripe alongside such a connection leaves both connected.

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



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json post /api/apps/{app_id}/payments/stripe/install
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/install:
    post:
      summary: Install Stripe integration
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Sets up a Stripe
        [sandbox](/developers/references/apps-api/sections/payments-stripe#from-sandbox-to-live)
        for the app and stores test credentials.


        Calling this again when the app already has a usable Stripe installation
        returns the existing installation instead of creating a duplicate.


        If the app has a Wix store, that store already owns the app's checkout
        and this call is blocked, since a store and a payment provider can't
        both own it. Payment providers don't enforce that same exclusivity
        against each other, though. An active Wix Payments or Payments by Wix
        connection doesn't block this call, and installing Stripe alongside such
        a connection leaves both connected.


        Requires write access to the app. Workspace viewers cannot call this
        operation.
      operationId: >-
        install_stripe_integration_api_apps__app_id__payments_stripe_install_post
      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: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstallStripeResponse'
        '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: >-
            Another installation is in progress, a Wix store already owns the
            app's checkout, or the workspace requires an unlocked SSO session.
      security:
        - PersonalAccessTokenAuth:
            - full_access
components:
  schemas:
    InstallStripeResponse:
      properties:
        already_installed:
          type: boolean
          title: Already Installed
          description: >-
            Whether an existing usable installation was reused. Defaults to
            `false`.
          default: false
          example: false
        claim_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Claim Url
          description: >-
            Stripe onboarding link, or `null` when no claim step is available.
            Treat this link as a credential. Defaults to `null`.
          example: https://dashboard.stripe.com/claim/example
      type: object
      title: InstallStripeResponse
      description: Response for Stripe installation.
  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.