Skip to content
Blog
Roman Kuchařík, CPO

Čo je nové v Accept SDK: september 2026

Osem vydaní za štyri týždne. Vlastný branding platobných obrazoviek, platba na dvoch displejoch, odkaz na účtenku hneď od prvej udalosti, podpora externých čítačiek kariet a platby, ktoré už nečakajú na polohu. Prehľad zmien v Accept SDK pre Android medzi verziami 1.10 a 1.15.

September bol zatiaľ naším najrušnejším mesiacom v histórii Accept SDK. Vydali sme osem verzií, od 1.10.0 z 3. septembra po 1.15.0 z 23. septembra. Väčšina zmien vzišla priamo z prevádzky u partnerov: pultové terminály, zariadenia s dvoma displejmi, predajne s vlastnými čítačkami kariet a platformy, pri ktorých má platba vyzerať rovnako ako zvyšok produktu.

Myšlienka zostáva rovnaká. Partner integruje raz a zážitok obchodníka zostáva v jeho produkte, zatiaľ čo celú zložitosť platieb pod tým rieši Tapaya. Tu je, čo to tento mesiac znamenalo v praxi.

Vlastný branding platobných obrazoviek

Ikona palety farieb

Verzia 1.14.0 prináša Accept.setTheme(). SDK tým umožňuje odovzdať aplikácii Tapaya Terminal farby a logá partnera, ktoré sa potom zobrazia na obrazovkách aktivácie, stavu aj platby. Obchodník tak vidí jeden produkt od začiatku predaja až po účtenku, bez prechodu na obrazovku, ktorá vyzerá ako cudzia aplikácia.

Motív platí počas celej relácie. Nastavuje sa raz, pred initialize() alebo po ňom, a zostáva aktívny, kým sa nezmení alebo nezruší. Pre logá vybrané z galérie v telefóne, ktoré nie sú nikde na webe, je k dispozícii Accept.createLocalThemeImageUri(): z lokálneho obrázka vytvorí URI, ktoré terminálová aplikácia dokáže načítať.

Podpora platby na dvoch displejoch

Ikona monitora a telefónu

Verzia 1.10.0 pridáva podporu zariadení s dvoma displejmi („obojstranných“). Accept.displays poskytuje prehľad obrazoviek, ktoré zariadenie má, a nová voľba PaymentDisplay umožňuje zobraziť platobné rozhranie na displeji zákazníka, zatiaľ čo aplikácia partnera zostáva na displeji obchodníka.

Kotlin
Accept.payments.pay(
    amount = 1500,
    currency = "EUR",
    display = PaymentDisplay.CustomerFacing,
)

Ak zariadenie požiadavku splniť nedokáže, napríklad CustomerFacing na telefóne s jedným displejom, SDK použije predvolenú obrazovku. Rovnaký kód tak funguje na všetkých podporovaných zariadeniach. Celú platbu na dvoch displejoch predvádza nová ukážková aplikácia :dualscreen.

Odkaz na účtenku hneď od prvej udalosti

Ikona odkazu

Verzia 1.12.0 sprístupňuje URL hostovanej účtenky priamo v platobnom toku. PaymentEvent.Created teraz obsahuje receiptUrl vedľa platobného tokenu, takže odkaz je k dispozícii ešte predtým, než sa Tapaya Terminal otvorí. Obsahujú ho aj PayResult.Success a PayResult.Declined, takže dokončená platba nesie všetko potrebné a kvôli zobrazeniu účtenky už nie je nutné volať status().

Odkaz funguje od chvíle, keď platba vznikne, a po jej zúčtovaní zobrazí finálnu účtenku. Obe polia môžu byť null a to je aj ich predvolená hodnota, takže existujúce integrácie sa ďalej skompilujú bez zmien.

Podpora externých čítačiek kariet

Ikona platobnej karty

Verzia 1.11.0 pridáva NfcPositionConfig.ExternalReader pre situácie, keď je čítačka kariet samostatné zariadenie: čítačka na pulte, pinpad na boku alebo dok otočený k zákazníkovi. Na telefóne vtedy nie je miesto, na ktoré by sa dalo ukázať, a tak Tapaya Terminal skryje animáciu priloženia a zobrazí sumu s krátkou výzvou pod ňou. Predvolený text výzvy sa dá nahradiť vlastným cez message.

Kotlin
Accept.payments.setOptions(
    nfcPosition = NfcPositionConfig.ExternalReader(message = "Priložte kartu k čítačke"),
)

Funkcia vyžaduje Tapaya Terminal 1.5.2 alebo novší. Staršie verzie nastavenie ignorujú a fungujú ako predtým.

Platby bez čakania na polohu

Ikona polohy a šípka k ikone blesku

Mnohí partneri prevádzkujú SDK na pultových termináloch a niektoré z týchto zariadení majú slabú alebo ne-Googlovú lokalizačnú službu. Verzie 1.14.1, 1.14.2 a 1.15.0 to vyriešili nadobro.

  • pay() už nečaká na čerstvé určenie polohy. Hneď použije poslednú známu polohu a na pozadí ju obnoví, keď je staršia ako hodina. Terminál na pulte sa medzi platbami nehýbe, takže hodinu stará poloha je rovnako presná ako nová.
  • Keď SDK novú polohu naozaj potrebuje, opýta sa všetkých dostupných zdrojov naraz a použije prvú odpoveď. Predtým zariadenie, ktorého hlavná lokalizačná služba vyzerala v poriadku, ale nikdy neodpovedala, zlyhalo s LocationUnavailable, aj keď GPS a sieťová poloha fungovali.
  • Pri studenom štarte SDK najprv využije polohu, ktorú Android už pozná. Na polohu čaká len terminál, ktorý ju nikdy nemal, a to najdlhšie 30 sekúnd.

Pre obchodníkov to znamená rýchlejšie platby a oveľa menej chýb s polohou uprostred predaja.

Ďalšie vylepšenia

  • Zrozumiteľnejšie chyby pri aktivácii terminálu (1.10.0, 1.14.0). activateTerminal() teraz namiesto všeobecného Unknown vracia NoTidsAvailableForMerchant, keď obchodníkovi nezostalo žiadne voľné ID terminálu. Ak obchodník nedokončil onboarding, volanie skončí hneď s MerchantOnboardingIncomplete, čo umožňuje vrátiť ho na správny krok.
  • Žiadne zamŕzanie UI pri pripájaní k terminálovej aplikácii (1.14.0). Volania do Tapaya Terminal teraz bežia mimo hlavného vlákna. Predtým mohlo pomalé prvé pripojenie spustené z viewModelScope.launch zmraziť obrazovku alebo spôsobiť ANR.
  • Presnejšia diagnostika PluginUnavailable (1.13.0). SDK teraz loguje, o ktorý prípad ide: Tapaya Terminal nie je nainštalovaný, je vypnutý, bol pre daného používateľa odstránený, alebo v manifeste aplikácie chýba položka <queries>, ktorú Android 11+ vyžaduje. Súčasťou záznamu je aj verzia terminálovej aplikácie a zdroj jej inštalácie. Opravili sme aj únik spojenia pri neúspešnom pripojení, SecurityException, ktorá prenikala do kódu aplikácie namiesto PluginUnavailable, a čakanie na celý timeout, keď proces terminálovej aplikácie počas pripájania spadol.

Aktualizácia

Všetky septembrové vydania sú spätne kompatibilné. Stačí zvýšiť verziu závislosti:

Kotlin
dependencies {
    implementation("com.tapaya:accept:1.15.0")
}

Pre nasadenie na termináloch v teréne odporúčame kvôli opravám polohy hlavne verziu 1.15.0. Kompletný changelog je v repozitári Accept SDK na GitHube a integračné návody na docs.tapaya.com. Dokumentáciu je možné pripojiť k IDE alebo AI agentovi aj cez Tapaya MCP server.

Chýba v SDK niečo, čo partneri potrebujú? Ozvite sa nám. Väčšina toho, čo sme v septembri vydali, sa začala rozhovorom s partnerom.