Zaprosite za zgodnji dostop

Vnesite ime ter e-poštni naslov ali telefonsko številko. Poslali vam bomo podrobnosti o dostopu do platforme Tajo.

Zahteve kakovosti za pregled aplikacije

Stripe vsako aplikacijo, oddano na marketplace, pregleda glede na obsežen nabor zahtev kakovosti. Če te standarde poznate že pred razvojem, prihranite čas in zmanjšate število ponovitev pregleda.

Pregled

Pregled aplikacije Stripe App ovrednoti vašo aplikacijo na šestih ključnih področjih:

  1. Pregledne cene, jasno sporočanje stroškov
  2. Delovanje aplikacije, zanesljivost in celovitost
  3. Razvojni standardi, kakovost kode in uporaba API
  4. Kakovost UX, standardi uporabniškega vmesnika in izkušnje
  5. Varnost, zaščita podatkov in varne prakse
  6. Pravna skladnost, zasebnost in regulativne zahteve

Pregledne cene

Vaša aplikacija mora uporabnikom jasno sporočati vse stroške:

  • Razkritje cen: vse cene morajo biti vnaprej navedene v vpisu na marketplace
  • Brez skritih stroškov: uporabniki po namestitvi ne smejo naleteti na nepričakovane obračune
  • Pogoji preizkusa: če ponujate preizkusno obdobje, jasno navedite njegovo trajanje in kaj se zgodi po izteku
  • Postopki nadgradnje: vsako spodbujanje k nadgradnji ali dodatnemu nakupu mora biti nevsiljivo in očitno neobvezno
  • Valuta: cene prikazujte v lokalni valuti uporabnika, kadar je to mogoče

Caution

Aplikacije, ki prikrivajo cene ali uporabnikom zaračunavajo brez jasne privolitve, bodo takoj zavrnjene.

Oblikovanje datuma in časa

Vsi datumi in časi, prikazani v vaši aplikaciji, morajo slediti konvencijam nadzorne plošče Stripe Dashboard:

  • Za oblikovanje datuma uporabite jezikovno nastavitev uporabnika, kadar je na voljo
  • Čase prikazujte v lokalnem časovnem pasu uporabnika
  • Za nedavne dogodke uporabite relativne časovne oznake (na primer „pred 2 urama“)
  • Za starejše dogodke uporabite absolutne časovne oznake s polnim datumom in časom
  • Za vsa datumska polja, namenjena API, upoštevajte ISO 8601
// Good: Use Stripe's date formatting utilities
import { formatDate, formatRelativeTime } from '@stripe/ui-extension-sdk/utils';
const formattedDate = formatDate(timestamp); // Locale-aware
const relativeTime = formatRelativeTime(timestamp); // "2 hours ago"

Nastavitve aplikacije

Če vaša aplikacija potrebuje konfiguracijo:

  • Zagotovite namenski pogled z nastavitvami, dostopen iz vidnega polja aplikacije
  • Kjer je mogoče, vnaprej izpolnite smiselne privzete vrednosti
  • Preverite vse uporabniške vnose in ob napaki prikažite jasno sporočilo
  • Uporabnikom omogočite posodabljanje nastavitev brez ponovne namestitve aplikacije
  • Nastavitve ohranjajte med sejami z uporabo Stripe Secret Store API

Podpora za peskovnik

Vaša aplikacija mora pravilno delovati v peskovniku (testnem načinu) Stripe:

  • Združljivost s testnim načinom: vse funkcije morajo delovati v testnem načinu
  • Testni podatki: uporabite realistične testne podatke, ki prikazujejo delovanje aplikacije
  • Brez produkcijskih podatkov v peskovniku: v testnem načinu nikoli ne izpostavljajte produkcijskih podatkov
  • Elegantno ravnanje: če funkcija v peskovniku ni na voljo, prikažite jasno sporočilo z razlago, zakaj
  • V svojem manifestu nastavite sandbox_install_compatible: true
{
"sandbox_install_compatible": true
}

Delovanje aplikacije

Zanesljivost

  • Aplikacija se med običajno uporabo ne sme sesuti ali zamrzniti
  • Vse oglaševane funkcije morajo delovati tako, kot so opisane
  • Omrežne napake je treba obravnavati elegantno, z možnostjo ponovnega poskusa
  • Aplikacija mora med operacijami v ozadju ostati odzivna

Celovitost

  • Brez nadomestne vsebine, funkcij z oznako „kmalu na voljo“ ali nedelujočih povezav
  • Vsi elementi UI morajo delovati, brez mrtvih gumbov ali neaktivnih kontrolnikov
  • Besedilo pomoči in povezave do dokumentacije morajo voditi na veljavne strani
  • Odstranitev mora čisto odstraniti vse podatke aplikacije in webhooke

Zmogljivost

  • UI se mora pri standardni povezavi izrisati v 3 sekundah
  • Operacije sinhronizacije v ozadju ne smejo blokirati UI
  • Veliki nabori podatkov morajo uporabljati oštevilčenje strani ali leno nalaganje
  • Zmanjšajte število klicev API, da se izognete omejevanju zahtev

Razvojni standardi

Uporaba API

  • Uporabljajte najnovejšo stabilno različico Stripe API
  • Upoštevajte najboljše prakse Stripe API za oštevilčenje strani, obravnavo napak in idempotentnost
  • Ne presezite omejitev števila zahtev, za ponovne poskuse uvedite eksponentni odmik
  • Za posodobitve, ki jih poganjajo dogodki, namesto pogostega poizvedovanja uporabljajte webhooke

Kakovost kode

  • Brez napak ali opozoril v konzoli v produkcijskih gradnjah
  • Pred oddajo odstranite vse razhroščevalno beleženje
  • Obravnavajte vse robne primere (prazna stanja, manjkajoči podatki, omrežne napake)
  • Za dosleden UI upoštevajte vzorce knjižnice komponent Stripe

Različice

  • Uporabljajte semantično določanje različic (MAJOR.MINOR.PATCH)
  • Prelomne spremembe dokumentirajte ob posodobitvah različic
  • Kjer je mogoče, ohranjajte združljivost za nazaj

Kakovost UX

Oglaševanje

  • Brez oglasov: vaša aplikacija ne sme prikazovati oglasov kakršne koli vrste
  • Brez navzkrižnega promoviranja: v uporabniškem vmesniku aplikacije ne promovirajte drugih izdelkov ali storitev
  • Blagovna znamka: prikazujte samo lastno identiteto blagovne znamke, ne pa znamk tretjih oseb (razen partnerjev za integracijo, kot je Brevo)

Jezik in vsebina

  • Dosleden jezik: v celotni aplikaciji uporabljajte dosledno terminologijo
  • Profesionalen ton: uskladite se s profesionalnim in jedrnatim slogom sporočanja nadzorne plošče Stripe Dashboard
  • Brez žargona: izogibajte se tehničnemu žargonu, ki ga trgovci morda ne razumejo
  • Preverjanje črkovanja: poskrbite, da je vse besedilo brez pravopisnih in slovničnih napak
  • Samo angleščina: vse besedilo, ki ga vidi uporabnik, mora biti pri aplikacijah na marketplace v angleščini

Potrditvena pogovorna okna

Za uničujoča ali pomembna dejanja zahtevajte potrditev uporabnika:

// Good: Confirm before destructive actions
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();
}
};

Dejanja, ki zahtevajo potrditev:

  • Prekinitev povezave z integracijami
  • Brisanje sinhroniziranih podatkov
  • Spreminjanje nastavitev, ki vplivajo na pretok podatkov
  • Ponastavitev konfiguracije na privzete vrednosti

Stanja nalaganja

Za asinhrone operacije vedno prikažite kazalnike nalaganja:

// Good: Show loading state during data fetch
const CustomerSyncStatus = () => {
const { data, isLoading, error } = useSyncStatus();
if (isLoading) {
return <Spinner label="Loading sync status..." />;
}
if (error) {
return <Banner type="critical" title="Failed to load sync status">
{error.message}
</Banner>;
}
return <SyncStatusDisplay data={data} />;
};

Zahteve:

  • Med nalaganjem podatkov prikažite vrtavke ali okostne zaslone
  • Med pošiljanjem obrazca onemogočite gumbe
  • Za dolgotrajne operacije prikažite kazalnike napredka
  • Med nalaganjem nikoli ne prikazujte praznega zaslona

Sporočila o napakah

Zagotovite jasna sporočila o napakah, ki povedo, kaj storiti:

// Bad: Generic error
"Something went wrong"
// Good: Specific and actionable
"Unable to sync customer data to Brevo. Please verify your Brevo API key
in Settings and try again."

Smernice za sporočila o napakah:

  • Z vsakdanjim jezikom pojasnite, kaj se je zgodilo
  • Predlagajte konkretno dejanje, s katerim lahko uporabnik odpravi težavo
  • Ponudite način za ponovni poskus neuspele operacije
  • Za razhroščevanje zabeležite podrobne informacije o napaki (ki se uporabnikom ne prikažejo)
  • Kadar je to smiselno, navedite kode napak za sklicevanje pri podpori

Varnost

Secret Store API

Za shranjevanje vseh občutljivih podatkov uporabljajte Stripe Secret Store API:

import { createHttpClient, STRIPE_API_KEY } from '@stripe/ui-extension-sdk/http_client';
// Good: Store secrets using the Secret Store API
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' },
});
};
// Good: Retrieve secrets from the Secret Store
const getBrevoApiKey = async () => {
const stripe = createHttpClient(STRIPE_API_KEY);
const secret = await stripe.apps.secrets.find({
name: 'brevo_api_key',
scope: { type: 'account' },
});
return secret.payload;
};

Občutljivih podatkov nikoli ne shranjujte v:

  • lokalno shrambo ali shrambo seje
  • piškotke
  • parametre URL
  • trdo kodirane vrednosti v izvorni kodi
  • konfiguracijske datoteke z navadnim besedilom

Kriptografija

  • Brez lastne kriptografije: ne izvajajte lastnih šifrirnih algoritmov
  • Uporabljajte vgrajene varnostne gradnike Stripe (Secret Store, podpisne skrivnosti)
  • Za vse zunanje klice API uporabljajte HTTPS
  • Pred obdelavo preverite vse podpise webhookov

Ravnanje s podatki

  • Zahtevajte samo dovoljenja, ki jih vaša aplikacija dejansko potrebuje
  • Podatkov Stripe ne shranjujte v obsegu, ki presega potrebe delovanja
  • Uvedite pravila hrambe podatkov, usklajena z vašo politiko zasebnosti
  • Zagotovite mehanizem, prek katerega lahko uporabniki zahtevajo izbris podatkov

Pravna skladnost

Politika zasebnosti

Vaša aplikacija mora imeti javno dostopno politiko zasebnosti, ki pokriva:

  • katere podatke vaša aplikacija zbira iz Stripe
  • kako se podatki shranjujejo, obdelujejo in delijo
  • pravila hrambe in izbrisa podatkov
  • pravice uporabnikov glede njihovih podatkov
  • kontaktne podatke za vprašanja o zasebnosti
  • skladnost z veljavnimi predpisi (GDPR, CCPA in podobno)

Pogoji storitve

  • Za svojo aplikacijo zagotovite jasne pogoje storitve
  • Ne vključujte pogojev, ki so v nasprotju s pogoji storitve Stripe
  • Jasno navedite morebitne omejitve ali prepovedi uporabe

Regulativna skladnost

  • Upoštevajte vse veljavne predpise o varstvu podatkov
  • Sklenite ustrezne pogodbe o obdelavi podatkov
  • Podprite zahteve za prenosljivost in izbris podatkov
  • Vodite revizijske dnevnike o dostopu do podatkov in njihovi obdelavi

Časovnica postopka pregleda

FazaTrajanje
Prva oddaja5-10 delovnih dni
Pregled popravkov3-7 delovnih dni
Končna odobritev1-2 delovna dneva
Objavatakoj po odobritvi

Tip

Vse povratne informacije iz pregleda obravnavajte v eni sami reviziji, da se izognete več krogom pregleda. Ekipa Stripe za vsako najdeno težavo poda konkretne povratne informacije, ki povedo, kaj storiti.

Pogosti razlogi za zavrnitev

  1. Manjkajoča obravnava napak, aplikacija se sesuje ob omrežnih napakah ali nepričakovanih podatkih
  2. Nezadostna stanja nalaganja, prazni zasloni med pridobivanjem podatkov
  3. Nejasne cene, cene v vpisu niso v celoti razkrite
  4. Prekomerna dovoljenja, zahtevanje dovoljenj, ki jih aplikacija ne potrebuje
  5. Nedelujoč peskovnik, aplikacija ne deluje v testnem načinu
  6. Varnostne težave, shranjevanje skrivnosti zunaj Secret Store API
  7. Manjkajoča politika zasebnosti, ni dostopnega naslova URL politike zasebnosti
  8. Nepopolno delovanje, funkcije z oznako „kmalu na voljo“ ali nadomestna vsebina

Zaprosite za zgodnji dostop

Vnesite ime ter e-poštni naslov ali telefonsko številko. Poslali vam bomo podrobnosti o dostopu do platforme Tajo.

samodejno prepoznavanje
AI pomočnik

Živjo! Vprašajte me o dokumentaciji.