App-gennemgangs­kvalitetskrav

Stripe gennemgår alle apps indsendt til marketplace mod et komprehensivt sæt kvalitetskrav. At forstå disse standarder inden udvikling sparer tid og reducerer antallet af gennemgangs­iterationer.

Oversigt

Stripe App-gennemgangen vurderer din app på seks nøgleområder:

  1. Transparent prissætning, Klar kommunikation af omkostninger
  2. App-funktionalitet, Pålidelighed og fuldstændighed
  3. Udvikler­standarder, Kodekvalitet og API-brug
  4. UX-kvalitet, Brugergrænse­flade og oplevelssstandarder
  5. Sikkerhed, Data­beskyttelse og sikker praksis
  6. Juridisk overensstem­melse, Fortrolighed og regulatoriske krav

Transparent prissætning

Din app skal tydeligt kommunikere alle omkostninger til brugere:

  • Prissætnings­oplysning: Al prissætning skal angives på forhånd i marketplace-listen
  • Ingen skjulte gebyrer: Brugere må ikke møde uventede gebyrer efter installation
  • Prøvevilkår: Hvis du tilbyder en prøveperiode, angiv tydeligt varighed og hvad der sker når den slutter
  • Opgradering: Eventuelle mersalgs- eller opgradering­sprompter skal være ikke-påtrængende og tydeligt valgfrie

Caution

Apps der skjuler prissætning eller opkræver brugere uden klart samtykke vil blive afvist straks.

Sandbox-understøttelse

Din app skal fungere korrekt i Stripes sandbox (test) modus:

  • Testmodus­kompatibilitet: Alle funktioner skal fungere i testmodus
  • Testdata: Brug realistiske testdata der demonstrerer app-funktionalitet
  • Ingen live-data i sandbox: Eksponér aldrig produktionsdata i testmodus
  • Elegant håndtering: Hvis en funktion er utilgængelig i sandbox, vis en klar besked der forklarer hvorfor
  • Sæt sandbox_install_compatible: true i dit manifest

App-funktionalitet

Pålidelighed

  • Appen må ikke crashe eller fryse under normal brug
  • Alle annoncerede funktioner skal fungere som beskrevet
  • Netværksfejl skal håndteres elegant med muligheder for genforsøg
  • Appen skal forblive responsiv under baggrundsoperationer

Fuldstændighed

  • Ingen pladsholder­indhold, “coming soon”-funktioner eller ødelagte links
  • Alle UI-elementer skal være funktionelle, ingen døde knapper eller inaktive kontroller
  • Hjælpetekst og dokumentationslinks skal løse til gyldige sider
  • Afinstallation skal ryddeligt fjerne alle app-data og webhooks

Ydeevne

  • UI skal gengives inden for 3 sekunder på en standard­forbindelse
  • Baggrundssynk­operationer må ikke blokere UI
  • Store datasæt skal bruge paginering eller doven indlæsning
  • Minimer API-kald for at undgå rate-begrænsning

Udvikler­standarder

API-brug

  • Brug den nyeste stabile version af Stripe API
  • Følg Stripe API bedste praksis for paginering, fejl­håndtering og idempotens
  • Overskrid ikke rate-grænser, implementer eksponentiel tilbage­fald til genforsøg
  • Brug webhooks til hændelsesdrevne opdateringer i stedet for polling

Kodekvalitet

  • Ingen konsol­fejl eller advarsler i produktions­bygninger
  • Fjern al fejlretnings­logning inden indsendelse
  • Håndter alle kant­tilfælde (tomme tilstande, manglende data, netværksfejl)
  • Følg Stripes komponent­biblioteks­mønstre for konsistent UI

UX-kvalitet

Sprog og indhold

  • Konsistent sprog: Brug konsistent terminologi i hele appen
  • Professionel tone: Match Stripe Dashboards professionelle, præcise kommunikations­stil
  • Ingen jargon: Undgå teknisk jargon som sælgere måske ikke forstår
  • Stavekontrol: Sikr at al tekst er fri for stave- og grammatikfejl
  • Kun engelsk: Al bruger­vendt tekst skal være på engelsk til marketplace-apps

Bekræftelsesdialoger

Kræv brugerbekræftelse for destruktive eller betydningsfulde handlinger:

const handleDisconnect = async () => {
const confirmed = await showConfirmation({
title: 'Disconnect Brevo Integration',
message: 'This will stop syncing customer data to Brevo. You can reconnect at any time.',
confirmLabel: 'Disconnect',
cancelLabel: 'Cancel',
destructive: true,
});
if (confirmed) {
await disconnectIntegration();
}
};

Indlæsnings­tilstande

Vis altid indlæsnings­indikatorer til asynkrone operationer:

  • Vis spinnere eller skelet­skærme under dataindlæsning
  • Deaktiver knapper under formular­indsendelse
  • Vis fremgangs­indikatorer til langvarige operationer
  • Vis aldrig en blank skærm under indlæsning

Fejlbeskeder

Giv klare, handlings­orienterede fejlbeskeder:

// Dårligt: Generisk fejl
"Something went wrong"
// Godt: Specifik og handlings­orienteret
"Unable to sync customer data to Brevo. Please verify your Brevo API key
in Settings and try again."

Sikkerhed

Secret Store API

Brug Stripes Secret Store API til al følsom data­opbevaring:

import { createHttpClient, STRIPE_API_KEY } from '@stripe/ui-extension-sdk/http_client';
const storeBrevoApiKey = async (apiKey: string) => {
const stripe = createHttpClient(STRIPE_API_KEY);
await stripe.apps.secrets.create({
name: 'brevo_api_key',
payload: apiKey,
scope: { type: 'account' },
});
};

Gem aldrig følsomme data i:

  • Lokal lagring eller session­lagring
  • Cookies
  • URL-parametre
  • Hardkodede værdier i kildekode
  • Klartekst­konfigurationsfiler

Juridisk overholdelse

Fortroligheds­politik

Din app skal have en offentligt tilgængelig fortroligheds­politik der dækker:

  • Hvilke data din app indsamler fra Stripe
  • Hvordan data gemmes, behandles og deles
  • Politikker for dataopbevaring og -sletning
  • Brugerrettigheder vedrørende deres data
  • Kontaktoplysninger til fortroligheds­forespørgsler
  • Overholdelse af gældende forordninger (GDPR, CCPA osv.)

Tidsplan for gennemgangs­proces

FaseVarighed
Indledende indsendelse5-10 arbejdsdage
Revisionsgennemgang3-7 arbejdsdage
Endelig godkendelse1-2 arbejdsdage
PublikationØjeblikkelig efter godkendelse

Tip

Adresser al gennemgangs­feedback i en enkelt revision for at undgå flere gennemgangs­cyklusser. Stripe-teamet giver specifik, handlings­orienteret feedback for hvert fundet problem.

Almindelige afvisnings­årsager

  1. Manglende fejl­håndtering, App crasher ved netværksfejl eller uventede data
  2. Utilstrækkelige indlæsningstilstande, Blanke skærme under datahentning
  3. Uklar prissætning, Prissætning ikke fuldt oplyst i listen
  4. Overdrevne tilladelser, Anmodning om tilladelser ikke nødvendige for appen
  5. Ødelagt sandbox-modus, App fungerer ikke i testmodus
  6. Sikkerhedsproblemer, Gemmer hemmeligheder uden for Secret Store API
  7. Manglende fortroligheds­politik, Ingen tilgængelig fortroligheds­politik-URL
  8. Ufuldstændig funktionalitet, “Coming soon”-funktioner eller pladsholder­indhold

Subscribe to updates

developer-docs

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

AI-assistent

Hej! Spørg mig om dokumentationen.

Start gratis med Brevo