App Manifest Referenz

Die stripe-app.json Manifest-Datei ist die zentrale Konfiguration für Ihre Stripe App. Sie deklariert die Identität, Berechtigungen, UI-Ansichten, Sicherheitsrichtlinien und das Post-Install-Verhalten Ihrer App.

Vollständiges Manifest-Beispiel

{
"id": "com.tajo.brevo-integration",
"version": "1.2.0",
"name": "Tajo for Brevo",
"icon": "./assets/icon.png",
"distribution_type": "public",
"sandbox_install_compatible": true,
"stripe_api_access_type": "oauth",
"allowed_redirect_uris": [
"https://tajo.io/stripe/callback",
"https://tajo.io/stripe/oauth/complete"
],
"permissions": [
{
"permission": "customer_read",
"purpose": "Read customer profiles to sync with Brevo contacts"
},
{
"permission": "customer_write",
"purpose": "Update customer metadata with Brevo sync status"
},
{
"permission": "charge_read",
"purpose": "Access payment history for Brevo event tracking"
},
{
"permission": "product_read",
"purpose": "Sync product catalog to Brevo for personalized campaigns"
},
{
"permission": "event_read",
"purpose": "Subscribe to real-time events for Brevo automation triggers"
},
{
"permission": "invoice_read",
"purpose": "Track invoice lifecycle events in Brevo"
}
],
"ui_extension": {
"views": [
{
"viewport": "stripe.dashboard.customer.detail",
"component": "CustomerDetailView"
},
{
"viewport": "stripe.dashboard.customer.list",
"component": "CustomerListView"
},
{
"viewport": "stripe.dashboard.home.overview",
"component": "OverviewView"
},
{
"viewport": "stripe.dashboard.drawer.default",
"component": "DrawerView"
},
{
"viewport": "stripe.dashboard.settings",
"component": "SettingsView"
},
{
"viewport": "stripe.dashboard.onboarding",
"component": "OnboardingView"
}
],
"content_security_policy": {
"connect-src": [
"https://api.tajo.io",
"https://api.brevo.com"
],
"image-src": [
"https://cdn.tajo.io",
"https://assets.brevo.com"
],
"purpose": "Connect to Tajo API for data sync and Brevo API for contact management"
}
},
"post_install_action": {
"type": "onboarding"
},
"constants": {
"API_BASE_URL": "https://api.tajo.io/v1",
"SYNC_INTERVAL_SECONDS": "300"
}
}

Schema-Referenz

Top-Level-Felder

FeldTypErforderlichBeschreibung
idstringJaEindeutiger App-Bezeichner in umgekehrter Domain-Notation (Slug-Format)
versionstringJaSemantische Versionszeichenfolge (z.B. "1.2.0")
namestringJaAnzeigename im Marketplace (max. 35 Zeichen)
iconstringJaRelativer Pfad zur App-Icon-Datei (300x300 PNG oder SVG)
distribution_typestringJa"public" für Marketplace oder "private" für internen Gebrauch
sandbox_install_compatiblebooleanNeinOb die App im Sandbox-/Testmodus installiert werden kann
stripe_api_access_typestringNeinAPI-Zugriffsmethode: "oauth" oder "api_key"
allowed_redirect_urisstring[]NeinErlaubte OAuth-Redirect-URIs für den Installationsflow
permissionsPermissionRequest[]JaArray von Berechtigungsanfragen
ui_extensionUIExtensionManifestNeinUI Extension-Konfiguration
post_install_actionPostInstallActionNeinAktion nach der App-Installation
constantsobjectNeinSchlüssel-Wert-Paare, die zur Laufzeit in der App zugänglich sind

Validierung

Validieren Sie Ihr Manifest vor dem Upload:

Terminal window
# Validate manifest syntax and schema
stripe apps validate
# Check for common issues
stripe apps check

Häufige Validierungsfehler:

FehlerUrsacheLösung
Invalid permissionUnbekannter BerechtigungsbezeichnerPrüfen Sie die Berechtigungsreferenz
Invalid viewportUnbekannter Viewport-BezeichnerPrüfen Sie die Viewports Referenz
Missing purposeBerechtigung ohne Purpose-FeldFügen Sie jedem Permission einen Purpose-String hinzu
Invalid versionNicht-semantische VersionszeichenfolgeVerwenden Sie das Format MAJOR.MINOR.PATCH
Icon not foundIcon-Pfad löst nicht aufÜberprüfen Sie, ob die Icon-Datei am angegebenen Pfad existiert

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.

Kostenlos mit Brevo starten