Referencia App Manifest

Súbor manifestu stripe-app.json je centrálna konfigurácia vašej Stripe App. Deklaruje identitu vašej aplikácie, oprávnenia, UI pohľady, bezpečnostné politiky a správanie po inštalácii.

Úplný príklad manifestu

{
"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"
}
}

Referencia schémy

Polia najvyššej úrovne

PoleTypPovinnéPopis
idstringÁnoJedinečný identifikátor aplikácie v notácii reverznej domény
versionstringÁnoReťazec sémantickej verzie (napr. "1.2.0")
namestringÁnoZobrazovaný názov na marketplace (max 35 znakov)
iconstringÁnoRelatívna cesta k súboru ikony aplikácie (300x300 PNG alebo SVG)
distribution_typestringÁno"public" pre marketplace alebo "private" pre interné použitie
sandbox_install_compatiblebooleanNieČi aplikáciu možno nainštalovať v sandbox/testovacím režime
stripe_api_access_typestringNieMetóda prístupu k API: "oauth" alebo "api_key"
allowed_redirect_urisstring[]NiePovolené OAuth presmerúvacie URI pre inštalačný tok
permissionsPermissionRequest[]ÁnoPole žiadostí o oprávnenia
ui_extensionUIExtensionManifestNieKonfigurácia UI rozšírenia
post_install_actionPostInstallActionNieAkcia po inštalácii aplikácie
constantsobjectNiePáry kľúč-hodnota prístupné v aplikácii za behu

distribution_type

HodnotaPopis
"public"Dostupné na Stripe App Marketplace pre všetkých používateľov
"private"Inštalovateľné len vaším vlastným účtom Stripe

stripe_api_access_type

HodnotaPopis
"oauth"Používa tok OAuth 2.0 pre autentifikáciu (odporúčané pre verejné aplikácie)
"api_key"Používa obmedzené API kľúče (vhodné pre súkromné aplikácie)

PostInstallAction

TypSprávanie
"onboarding"Otvorí onboardingový pohľad aplikácie v Dashboarde
"settings"Otvorí pohľad nastavení aplikácie v Dashboarde
"external"Presmeruje používateľa na externú URL (vyžaduje pole url)

Constants

  • Všetky hodnoty musia byť reťazce
  • Konštanty sú vložené do aplikácie pri čase zostavenia
  • Nikdy neukladajte tajné kľúče ani API kľúče ako konštanty, namiesto toho použite Secret Store API
import { constants } from '@stripe/ui-extension-sdk/constants';
const apiUrl = constants.API_BASE_URL;

Validácia

Terminal window
# Validovať syntax a schému manifestu
stripe apps validate
# Skontrolovať bežné problémy
stripe apps check

Subscribe to updates

developer-docs

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

AI asistent

Ahoj! Opýtajte sa ma na dokumentáciu.

Začnite zadarmo s Brevo