Požiadajte o skorý prístup

Uveďte svoje krstné meno a e-mailovú adresu alebo telefónne číslo. Pošleme Vám podrobnosti o prístupe k platforme Tajo.

Požiadavky na kvalitu pri kontrole aplikácie

Stripe posudzuje každú aplikáciu odoslanú na marketplace podľa komplexného súboru požiadaviek na kvalitu. Ak tieto štandardy poznáte už pred vývojom, ušetríte čas a znížite počet kôl kontroly.

Prehľad

Kontrola Stripe App hodnotí Vašu aplikáciu v šiestich kľúčových oblastiach:

  1. Transparentné ceny, jasná komunikácia nákladov
  2. Funkčnosť aplikácie, spoľahlivosť a úplnosť
  3. Vývojárske štandardy, kvalita kódu a používanie API
  4. Kvalita UX, štandardy používateľského rozhrania a používateľskej skúsenosti
  5. Bezpečnosť, ochrana dát a bezpečné postupy
  6. Právny súlad, požiadavky na ochranu súkromia a reguláciu

Transparentné ceny

Vaša aplikácia musí používateľom jasne komunikovať všetky náklady:

  • Zverejnenie cien: všetky ceny musia byť vopred uvedené v zázname na marketplace
  • Žiadne skryté poplatky: používatelia sa po inštalácii nesmú stretnúť s neočakávanými poplatkami
  • Podmienky skúšobnej verzie: ak ponúkate skúšobnú verziu, jasne uveďte jej trvanie a to, čo nastane po jej skončení
  • Prechod na vyšší plán: akékoľvek ponuky upsellu alebo prechodu na vyšší plán musia byť nenásilné a zjavne dobrovoľné
  • Mena: ceny podľa možnosti zobrazujte v lokálnej mene používateľa

Caution

Aplikácie, ktoré zahmlievajú ceny alebo účtujú používateľom bez jasného súhlasu, budú okamžite zamietnuté.

Formátovanie dátumu a času

Všetky dátumy a časy zobrazené vo Vašej aplikácii musia dodržiavať konvencie Stripe Dashboardu:

  • Ak je to možné, formátujte dátum podľa jazykového nastavenia používateľa
  • Časy zobrazujte v miestnom časovom pásme používateľa
  • Pri nedávnych udalostiach používajte relatívne časové údaje (napríklad “2 hours ago”)
  • Pri starších udalostiach používajte absolútne časové údaje s celým dátumom a časom
  • Pri dátumových poliach smerujúcich do API dodržiavajte 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"

Nastavenia aplikácie

Ak Vaša aplikácia vyžaduje konfiguráciu:

  • Poskytnite samostatné zobrazenie nastavení dostupné z viewportu aplikácie
  • Kde je to možné, predvyplňte rozumné predvolené hodnoty
  • Overujte všetky vstupy od používateľa a zobrazujte zrozumiteľné chybové hlásenia
  • Umožnite používateľom meniť nastavenia bez preinštalovania aplikácie
  • Nastavenia uchovávajte naprieč reláciami pomocou Stripe Secret Store API

Podpora sandboxu

Vaša aplikácia musí správne fungovať v sandboxovom (testovacom) režime Stripe:

  • Kompatibilita s testovacím režimom: všetky funkcie musia fungovať v testovacom režime
  • Testovacie dáta: používajte realistické testovacie dáta, ktoré predvedú funkčnosť aplikácie
  • Žiadne ostré dáta v sandboxe: nikdy nesprístupňujte produkčné dáta v testovacom režime
  • Korektné spracovanie: ak niektorá funkcia nie je v sandboxe dostupná, zobrazte jasné vysvetlenie prečo
  • V manifeste nastavte sandbox_install_compatible: true
{
"sandbox_install_compatible": true
}

Funkčnosť aplikácie

Spoľahlivosť

  • Aplikácia nesmie pri bežnom používaní padať ani zamŕzať
  • Všetky propagované funkcie musia fungovať tak, ako sú opísané
  • Sieťové chyby musia byť spracované korektne s možnosťou opakovania
  • Aplikácia musí zostať responzívna počas operácií na pozadí

Úplnosť

  • Žiadny zástupný obsah, funkcie s označením “coming soon” ani nefunkčné odkazy
  • Všetky prvky UI musia byť funkčné, žiadne mŕtve tlačidlá ani neaktívne ovládacie prvky
  • Pomocné texty a odkazy na dokumentáciu musia viesť na platné stránky
  • Odinštalovanie musí čisto odstrániť všetky dáta aplikácie aj webhooky

Výkon

  • UI sa musí na štandardnom pripojení vykresliť do 3 sekúnd
  • Synchronizácia na pozadí nesmie blokovať UI
  • Veľké množstvá dát musia využívať stránkovanie alebo lenivé načítavanie
  • Minimalizujte počet volaní API, aby ste nenarazili na limity požiadaviek

Vývojárske štandardy

Používanie API

  • Používajte najnovšiu stabilnú verziu Stripe API
  • Dodržiavajte osvedčené postupy Stripe API pre stránkovanie, spracovanie chýb a idempotenciu
  • Neprekračujte limity požiadaviek, pri opakovaniach implementujte exponenciálne predlžovanie odstupu
  • Na aktualizácie riadené udalosťami používajte webhooky namiesto opakovaného dopytovania

Kvalita kódu

  • Žiadne chyby ani upozornenia v konzole v produkčných zostaveniach
  • Pred odoslaním odstráňte všetko ladiace logovanie
  • Ošetrite všetky hraničné prípady (prázdne stavy, chýbajúce dáta, výpadky siete)
  • Kvôli konzistentnému UI dodržiavajte vzory z knižnice komponentov Stripe

Verzovanie

  • Používajte sémantické verzovanie (MAJOR.MINOR.PATCH)
  • Pri aktualizáciách verzií zdokumentujte nekompatibilné zmeny
  • Kde je to možné, zachovajte spätnú kompatibilitu

Kvalita UX

Reklama

  • Žiadne reklamy: Vaša aplikácia nesmie zobrazovať žiadne reklamy
  • Žiadna krížová propagácia: v rozhraní aplikácie nepropagujte iné produkty ani služby
  • Značkový obsah: zobrazujte iba vlastnú identitu značky, nie značky tretích strán (s výnimkou integračných partnerov, ako je Brevo)

Jazyk a obsah

  • Konzistentný jazyk: v celej aplikácii používajte jednotnú terminológiu
  • Profesionálny tón: držte sa profesionálneho a stručného štýlu komunikácie Stripe Dashboardu
  • Žiadny žargón: vyhýbajte sa technickému žargónu, ktorému obchodníci nemusia rozumieť
  • Kontrola pravopisu: uistite sa, že všetky texty neobsahujú pravopisné ani gramatické chyby
  • Iba angličtina: všetky texty pre používateľa musia byť pri aplikáciách na marketplace v angličtine

Potvrdzovacie dialógy

Pri deštruktívnych alebo závažných akciách vyžadujte potvrdenie od používateľa:

// 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();
}
};

Akcie, ktoré vyžadujú potvrdenie:

  • Odpojenie integrácií
  • Odstránenie synchronizovaných dát
  • Zmena nastavení, ktoré ovplyvňujú tok dát
  • Obnovenie konfigurácie na predvolené hodnoty

Stavy načítavania

Pri asynchrónnych operáciách vždy zobrazujte indikátory načítavania:

// 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} />;
};

Požiadavky:

  • Počas načítavania dát zobrazujte spinnery alebo skeletonové obrazovky
  • Počas odosielania formulára deaktivujte tlačidlá
  • Pri dlho bežiacich operáciách zobrazujte indikátory priebehu
  • Počas načítavania nikdy nezobrazujte prázdnu obrazovku

Chybové hlásenia

Poskytujte jasné chybové hlásenia, s ktorými sa dá niečo urobiť:

// 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."

Pravidlá pre chybové hlásenia:

  • Zrozumiteľným jazykom vysvetlite, čo sa stalo
  • Navrhnite konkrétny krok, ktorým používateľ problém vyrieši
  • Poskytnite spôsob, ako zlyhanú operáciu zopakovať
  • Podrobné informácie o chybe logujte na ladenie (používateľom sa nezobrazujú)
  • Ak to dáva zmysel, uvádzajte kódy chýb pre potreby podpory

Bezpečnosť

Secret Store API

Na ukladanie všetkých citlivých dát používajte 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;
};

Citlivé dáta nikdy neukladajte do:

  • Lokálneho úložiska ani úložiska relácie
  • Cookies
  • Parametrov URL
  • Napevno zapísaných hodnôt v zdrojovom kóde
  • Konfiguračných súborov v čistom texte

Kryptografia

  • Žiadna vlastná kryptografia: neimplementujte vlastné šifrovacie algoritmy
  • Používajte vstavané bezpečnostné prvky Stripe (Secret Store, podpisové kľúče)
  • Pri všetkých volaniach externých API používajte HTTPS
  • Pred spracovaním overte všetky podpisy webhookov

Práca s dátami

  • Žiadajte iba tie oprávnenia, ktoré Vaša aplikácia naozaj potrebuje
  • Neukladajte dáta zo Stripe nad rámec toho, čo je pre funkčnosť nevyhnutné
  • Zaveďte pravidlá uchovávania dát v súlade so svojimi zásadami ochrany osobných údajov
  • Poskytnite používateľom spôsob, ako požiadať o vymazanie dát

Právny súlad

Zásady ochrany osobných údajov

Vaša aplikácia musí mať verejne dostupné zásady ochrany osobných údajov, ktoré pokrývajú:

  • Aké dáta Vaša aplikácia zbiera zo Stripe
  • Ako sa dáta ukladajú, spracúvajú a zdieľajú
  • Pravidlá uchovávania a mazania dát
  • Práva používateľov vo vzťahu k ich dátam
  • Kontaktné údaje pre otázky týkajúce sa ochrany súkromia
  • Súlad s platnými predpismi (GDPR, CCPA a podobne)

Obchodné podmienky

  • Poskytnite pre svoju aplikáciu jasné obchodné podmienky
  • Neuvádzajte podmienky, ktoré sú v rozpore s obchodnými podmienkami Stripe
  • Jasne uveďte všetky obmedzenia používania

Regulačný súlad

  • Dodržiavajte všetky platné predpisy o ochrane osobných údajov
  • Zaveďte primerané zmluvy o spracúvaní údajov
  • Podporte prenositeľnosť údajov a žiadosti o ich vymazanie
  • Veďte auditné záznamy o prístupe k dátam a ich spracúvaní

Časový priebeh kontroly

FázaTrvanie
Prvotné odoslanie5 až 10 pracovných dní
Kontrola revízie3 až 7 pracovných dní
Záverečné schválenie1 až 2 pracovné dni
PublikovanieOkamžite po schválení

Tip

Vyriešte všetku spätnú väzbu z kontroly v jednej revízii, aby ste sa vyhli viacerým kolám. Tím Stripe poskytuje ku každému nájdenému problému konkrétnu spätnú väzbu, s ktorou sa dá pracovať.

Bežné dôvody zamietnutia

  1. Chýbajúce spracovanie chýb, aplikácia padá pri sieťových chybách alebo neočakávaných dátach
  2. Nedostatočné stavy načítavania, prázdne obrazovky počas načítavania dát
  3. Nejasné ceny, ceny nie sú v zázname plne zverejnené
  4. Nadmerné oprávnenia, žiadanie oprávnení, ktoré aplikácia nepotrebuje
  5. Nefunkčný sandboxový režim, aplikácia nefunguje v testovacom režime
  6. Bezpečnostné problémy, ukladanie tajných kľúčov mimo Secret Store API
  7. Chýbajúce zásady ochrany osobných údajov, žiadna dostupná URL so zásadami
  8. Neúplná funkčnosť, funkcie s označením “coming soon” alebo zástupný obsah

Požiadajte o skorý prístup

Uveďte svoje krstné meno a e-mailovú adresu alebo telefónne číslo. Pošleme Vám podrobnosti o prístupe k platforme Tajo.

automatické rozpoznanie
AI asistent

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