# Kontrolný zoznam QA (/sk/online/getting-started/checklist)



Prejdite tento kontrolný zoznam v [sandboxe](./testing) a pred prijímaním platieb v ostrej prevádzke dokončite kontroly pre produkčné prostredie. Zoznam
pokrýva výsledky platieb, overenie, opakované pokusy, konfiguráciu a zabezpečenie. Každú kontrolu po overení zaškrtnite.

<ChecklistProgress />

## 1. Výsledky platieb [#1-payment-outcomes]

<ChecklistItem id="OP-PO-1" code="PO-1" title="Úspešná platba">
  Zaplaťte kartou 

  `4242 4242 4242 4242`

  . Načítaná relácia má 

  `paymentStatus: successful`

   a objednávka je vybavená práve raz.
</ChecklistItem>

<ChecklistItem id="OP-PO-2" code="PO-2" title="Zamietnutá karta">
  Zaplaťte kartou 

  `4916 0184 7581 4056`

  . Objednávka zostane nezaplatená a opakovaný pokus s kartou pre úspešnú platbu prejde, kým je relácia otvorená.
</ChecklistItem>

<ChecklistItem id="OP-PO-3" code="PO-3" title="3-D Secure">
  Zaplaťte kartou 

  `4012 0018 0000 0016`

   a dokončite overenie (challenge). Vybavenie objednávky čaká na načítaný stav.
</ChecklistItem>

<ChecklistItem id="OP-PO-4" code="PO-4" title="Chyba spracovania">
  Použite testovaciu kartu pre chybu spracovania určenú pre testovaciu platobnú bránu. Objednávka zostane nezaplatená, hoci formulár pre kartu kartu prijal.
</ChecklistItem>

<ChecklistItem id="OP-PO-5" code="PO-5" title="Neošetrené stavy">
  Váš kód považuje 

  `unpaid`

  , 

  `failed`

  , 

  `action_needed`

  , 

  `cancelled`

   a neznáme hodnoty za nezaplatené. Pozrite si 

  [Stav platby](/online/integration/api_integration#payment-status)

  .
</ChecklistItem>

## 2. Overenie a vybavenie objednávky [#2-verification-and-fulfillment]

<ChecklistItem id="OP-VF-1" code="VF-1" title="Kontrola na strane servera">
  Vybavenie objednávky porovnáva referenciu objednávky, sumu, menu a 

  `paymentStatus`

   s uloženou objednávkou, nie s údajmi z presmerovania.
</ChecklistItem>

<ChecklistItem id="OP-VF-2" code="VF-2" title="URL úspechu bez zaplatenia">
  Otvorte URL úspechu priamo, bez zaplatenia. Objednávka zostane nezaplatená.
</ChecklistItem>

<ChecklistItem id="OP-VF-3" code="VF-3" title="Odkaz na zrušenie">
  Kliknite na odkaz na zrušenie v Checkoute. Objednávka zostane nezaplatená a váš kód nepredpokladá stav 

  `cancelled`

   len na základe samotnej navigácie.
</ChecklistItem>

<ChecklistItem id="OP-VF-4" code="VF-4" title="Opakovaný návrat">
  Po úspešnej platbe dvakrát znova načítajte návratovú stránku. Objednávka je vybavená práve raz.
</ChecklistItem>

## 3. Opakované pokusy a prerušenia [#3-retries-and-interruptions]

Pre každý nezávislý prípad použite novú testovaciu objednávku a reláciu. Pri testoch opakovaných pokusov znova použite pôvodnú objednávku, telo požiadavky a idempotency key.

<ChecklistItem id="OP-RI-1" code="RI-1" title="Stratená odpoveď na vytvorenie">
  Vo svojom testovacom kóde zahoďte odpoveď na vytvorenie a požiadavku zopakujte s rovnakým 

  `Idempotency-Key`

   a telom. Vráti sa pôvodná relácia a druhá sa nevytvorí.
</ChecklistItem>

<ChecklistItem id="OP-RI-2" code="RI-2" title="Zmenené telo">
  Použite kľúč znova s iným telom. API vráti HTTP 409 a váš kód to nepovažuje za novú reláciu.
</ChecklistItem>

<ChecklistItem id="OP-RI-3" code="RI-3" title="Zákazník sa nevráti">
  Zaplaťte a zatvorte kartu prehliadača skôr, ako dôjde k návratu. Vaša úloha na odsúhlasenie načíta uloženú reláciu a zaznamená platbu práve raz.
</ChecklistItem>

<ChecklistItem id="OP-RI-4" code="RI-4" title="Časový limit pri zisťovaní stavu">
  Navoďte vypršanie časového limitu pri načítaní stavu. Vaša aplikácia si ponechá ID relácie, nechá výsledok nevyriešený a nevytvorí náhradnú reláciu.
</ChecklistItem>

<ChecklistItem id="OP-RI-6" code="RI-6" title="Nahradená relácia">
  Vytvorte druhú reláciu pre tú istú nezaplatenú objednávku. Prvá URL hlási 

  `expired`

   a nedá sa cez ňu zaplatiť. Po zaplatení objednávky vráti vytvorenie ďalšej relácie HTTP 409.
</ChecklistItem>

<ChecklistItem id="OP-RI-5" code="RI-5" title="Vypršanie relácie">
  Počkajte, kým uplynie 

  `expiresAt`

   (30 minút), a URL znova otvorte. Žiadnu novú platbu nemožno začať a objednávka zostane nezaplatená.
</ChecklistItem>

## 4. Nastavenia Checkoutu [#4-checkout-settings]

<ChecklistItem id="OP-CS-1" code="CS-1" title="Schválený obchodník">
  Každý obchodník, pre ktorého prijímate platby, je v tabuľke 

  **Checkout merchants**

   v stave 

  **Ready**

  .
</ChecklistItem>

<ChecklistItem id="OP-CS-2" code="CS-2" title="Návratové ciele">
  Predvolené URL úspechu a zrušenia sú nastavené pre prihlasovacie údaje, ktoré používate (predvolené hodnoty organizácie pre Secret key, nastavenia obchodníka pre kľúč obchodníka), používajú HTTPS a ich presné originy sú uvedené v zozname 

  **Allowed websites**

   týchto prihlasovacích údajov.
</ChecklistItem>

<ChecklistItem id="OP-CS-3" code="CS-3" title="Prepísanie pre jednotlivé relácie">
  Každé 

  `successUrl`

   alebo 

  `cancelUrl`

  , ktoré odošlete, zodpovedá nakonfigurovanému originu.
</ChecklistItem>

<ChecklistItem id="OP-CS-4" code="CS-4" title="Peňaženky">
  Apple Pay a Google Pay sú zapnuté alebo vypnuté podľa zámeru. Google Pay v ostrej prevádzke má nakonfigurované Google Pay merchant ID.
</ChecklistItem>

<ChecklistItem id="OP-CS-6" code="CS-6" title="Peňaženky vo vložených platbách">
  Celková suma v peňaženke zodpovedá objednávke na serveri. Zmena dopravy alebo zliav ju aktualizuje. Zrušenie v peňaženke ponechá checkout dostupný a čakajúce platby zablokujú ďalšiu platbu.
</ChecklistItem>

<ChecklistItem id="OP-CS-5" code="CS-5" title="Branding">
  Farba a logo vyzerajú v 

  **Checkout preview**

   správne v rozložení pre počítač aj pre mobil.
</ChecklistItem>

## 5. Zabezpečenie [#5-security]

<ChecklistItem id="OP-SE-1" code="SE-1" title="Kľúč na serveri">
  Váš checkout kľúč obchodníka alebo Secret key organizácie je iba v konfigurácii servera, nikdy v kóde prehliadača, balíkoch aplikácie ani v systéme na správu verzií.
</ChecklistItem>

<ChecklistItem id="OP-SE-2" code="SE-2" title="Sumy určuje server">
  Suma, mena a ID objednávky pochádzajú z vašej uloženej objednávky, nikdy z prehliadača.
</ChecklistItem>

<ChecklistItem id="OP-SE-3" code="SE-3" title="Endpointy pre vložené platby">
  Ak používate vložené platby, 

  `prepare`

   a 

  `submit`

   sú viazané na autentifikovaný checkout alebo podpísanú HTTP-only cookie a originy požiadaviek, ktoré menia údaje, sa overujú.
</ChecklistItem>

<ChecklistItem id="OP-SE-4" code="SE-4" title="Content Security Policy">
  Ak používate vložené platby, vaša CSP povoľuje originy skriptov a rámcov Tapaya a overenia 3-D Secure v jej rámci stále fungujú.
</ChecklistItem>

## 6. Konfigurácia sandboxu [#6-sandbox-configuration]

<ChecklistItem id="OP-PR-1" code="PR-1" title="Sandboxové API">
  `TAPAYA_CHECKOUT_API_URL`

   ukazuje na 

  `https://api.sandbox.tapaya.com`

  .
</ChecklistItem>

<ChecklistItem id="OP-PR-2" code="PR-2" title="Sandboxový kľúč">
  Integrácia používa sandboxový checkout kľúč obchodníka alebo Secret key organizácie načítaný z konfigurácie servera.
</ChecklistItem>

<ChecklistItem id="OP-PR-3" code="PR-3" title="Úloha na odsúhlasenie">
  Úloha, ktorá načítava nevyriešené relácie, je naplánovaná vo vašom testovacom prostredí.
</ChecklistItem>

## 7. Pripravenosť na produkciu [#7-production-readiness]

<ChecklistItem id="OP-LV-1" code="LV-1" title="Pripravenosť obchodníka">
  Obchodník v ostrej prevádzke dokončil onboarding s online platbami, získal schválenie spracovateľa a má nakonfigurovanú platobnú bránu. V nastaveniach Checkoutu je obchodník v stave 

  **Ready**

  .
</ChecklistItem>

<ChecklistItem id="OP-LV-2" code="LV-2" title="Prihlasovacie údaje pre ostrú prevádzku">
  Server používa produkčné prihlasovacie údaje a 

  `https://api.tapaya.com`

  . Integrácie cez SDK nastavujú 

  `TAPAYA_ENVIRONMENT=production`

  . Sandboxové kľúče a testovacie karty sa na platby v ostrej prevádzke nepoužívajú.
</ChecklistItem>

<ChecklistItem id="OP-LV-3" code="LV-3" title="Peňaženky v ostrej prevádzke">
  Domény obchodov pre Apple Pay sú aktívne. Google Pay v ostrej prevádzke má nakonfigurované merchant ID. Podporované peňaženky dokončia platbu a po zrušení sa dá v platbe pokračovať.
</ChecklistItem>

<ChecklistItem id="OP-LV-4" code="LV-4" title="Odsúhlasenie v ostrej prevádzke">
  Produkčné návratové URL, overenie na serveri, vybavenie objednávky aj úloha na odsúhlasenie používajú produkčnú konfiguráciu.
</ChecklistItem>

<ChecklistProgress />

<Callout title="Schválenie" type="tip">
  Dokončite testy v sandboxe a kontroly pripravenosti na produkciu. Tlačidlom **Reset** začnete nový čistý priebeh, pretože zaškrtnutia z predchádzajúcich kôl testovania zostávajú uložené v tomto prehliadači.
</Callout>
