{"id":34463,"date":"2026-07-15T11:44:55","date_gmt":"2026-07-15T11:44:55","guid":{"rendered":"https:\/\/appricotsoft.com\/?p=34463"},"modified":"2026-07-15T11:47:27","modified_gmt":"2026-07-15T11:47:27","slug":"3ds2-sca-payment-gateway-integration-basics","status":"publish","type":"post","link":"https:\/\/appricotsoft.com\/pl\/blog\/3ds2-sca-payment-gateway-integration-basics\/","title":{"rendered":"Podstawy 3DS2 i SCA: tworzenie bezpiecznych przep\u0142yw\u00f3w p\u0142atno\u015bci bez zak\u0142\u00f3cania procesu realizacji transakcji"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"34463\" class=\"elementor elementor-34463\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-12084bd elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"12084bd\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9ca0480\" data-id=\"9ca0480\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ad7e3b1 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"ad7e3b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Wst\u0119p<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f829e27 elementor-widget elementor-widget-text-editor\" data-id=\"f829e27\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Uwierzytelnianie p\u0142atno\u015bci to sztuka r\u00f3wnowa\u017cenia r\u00f3\u017cnych pogl\u0105d\u00f3w, z kt\u00f3rych \u0142atwo jest si\u0119 wy\u0142ama\u0107.<\/p><p>Zbyt lu\u017ane zasady prowadz\u0105 do oszustw, obci\u0105\u017ce\u0144 zwrotnych i problem\u00f3w z przepisami. Zbyt rygorystyczne zasady powoduj\u0105, \u017ce prawdziwi klienci rezygnuj\u0105 z p\u0142atno\u015bci, poniewa\u017c nie mog\u0105 przej\u015b\u0107 etapu uwierzytelniania, kt\u00f3rego si\u0119 nie spodziewali.<\/p><p><strong>T\u0119 luk\u0119 maj\u0105 wype\u0142ni\u0107 technologie 3D Secure 2 (3DS2) i Strong Customer Authentication (SCA).<\/strong><\/p><p>Je\u015bli prowadzisz produkt lub jeste\u015b za\u0142o\u017cycielem firmy, warto zapami\u0119ta\u0107: 3DS2 to nie tylko ekran bezpiecze\u0144stwa, kt\u00f3ry pojawia si\u0119 po wpisaniu karty. To proces uwierzytelniania oparty na ryzyku, obejmuj\u0105cy Twoj\u0105 aplikacj\u0119, bramk\u0119 p\u0142atno\u015bci, sie\u0107 kart i bank, kt\u00f3ry wyda\u0142 kart\u0119. Cztery strony, jedna kasa.<\/p><p>Przy dobrym wykonaniu wi\u0119kszo\u015b\u0107 legalnych p\u0142atno\u015bci przebiega bezproblemowo. Kiedy bank za\u017c\u0105da dodatkowej weryfikacji, dobra integracja sprawia, \u017ce wyzwanie wydaje si\u0119 cz\u0119\u015bci\u0105 procesu p\u0142atno\u015bci, a nie technicznym przekierowaniem, kt\u00f3re pojawia si\u0119 znik\u0105d.<\/p><p>Integracja bramki p\u0142atno\u015bci to co\u015b wi\u0119cej ni\u017c tylko prze\u0142\u0105czenie prze\u0142\u0105cznika w panelu dostawcy. Tw\u00f3j zesp\u00f3\u0142 musi zrozumie\u0107 stany uwierzytelniania, przep\u0142ywy w przegl\u0105darce i na urz\u0105dzeniach mobilnych, nieudane wyzwania, porzucone sesje, op\u00f3\u017anione wyniki, wyj\u0105tki, webhooki i \u015bcie\u017cki odzyskiwania. To jest prawdziwa praca.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-682e1ab elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"682e1ab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2b2180a elementor-widget elementor-widget-heading\" data-id=\"2b2180a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Dlaczego 3DS2 i SCA s\u0105 wa\u017cne<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-57d92a6 elementor-widget elementor-widget-text-editor\" data-id=\"57d92a6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>SCA pojawi\u0142o si\u0119 w ramach europejskiej dyrektywy PSD2 jako spos\u00f3b na utrudnienie fa\u0142szowania p\u0142atno\u015bci elektronicznych.<\/p><p><strong>Podstawowy wym\u00f3g: uwierzytelnienie za pomoc\u0105 co najmniej dw\u00f3ch niezale\u017cnych czynnik\u00f3w z r\u00f3\u017cnych kategorii.<\/strong><\/p><ul><li><em>Co\u015b, co klient zna, np. PIN lub has\u0142o.<\/em><\/li><li><em>Co\u015b, co posiada klient, np. zarejestrowany telefon lub aplikacja bankowa.<\/em><\/li><li><em>Co\u015b, co jest to\u017csamo\u015bci\u0105 klienta, na przyk\u0142ad odcisk palca lub skan twarzy.<\/em><\/li><\/ul><p>To, czy dana transakcja faktycznie wymaga silnego uwierzytelnienia (SCA), zale\u017cy od rodzaju p\u0142atno\u015bci, zaanga\u017cowanych instytucji, miejsca transakcji oraz tego, czy obowi\u0105zuje zwolnienie. Nie zapisuj na sta\u0142e za\u0142o\u017ce\u0144 dotycz\u0105cych tego w swoim produkcie. Najpierw potwierd\u017a szczeg\u00f3\u0142y prawne i operacyjne z dostawc\u0105 p\u0142atno\u015bci oraz osobami odpowiedzialnymi za zgodno\u015b\u0107 z przepisami.<\/p><p>Komisja Europejska publikuje oficjalne akty wykonawcze i delegowane do dyrektywy PSD2, w tym standardy SCA. Je\u015bli prowadzisz dzia\u0142alno\u015b\u0107 w Europie, jest to solidny, podstawowy punkt odniesienia: <strong><a href=\"https:\/\/finance.ec.europa.eu\/regulation-and-supervision\/financial-services-legislation\/implementing-and-delegated-acts\/payment-services-directive_en\">Komisja Europejska: Dyrektywa w sprawie us\u0142ug p\u0142atniczych<\/a><\/strong>.<\/p><p>3DS2 to jedna z g\u0142\u00f3wnych technologii wykorzystywanych przez wystawc\u00f3w kart i dostawc\u00f3w us\u0142ug p\u0142atniczych do uwierzytelniania p\u0142atno\u015bci kartami online.<\/p><p>Stara technologia 3D Secure opiera\u0142a si\u0119 na irytuj\u0105cych przekierowaniach i statycznych has\u0142ach. 3DS2 obs\u0142uguje bardziej szczeg\u00f3\u0142owe dane transakcyjne, aplikacje mobilne, dane biometryczne i decyzje oparte na ryzyku. I nie, nie oznacza to, \u017ce ka\u017cda transakcja zmusza klienta do wprowadzenia kodu. Jednym z cel\u00f3w jest umo\u017cliwienie p\u0142atno\u015bci o niskim ryzyku bez dodatkowych utrudnie\u0144.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43c87d5 elementor-widget elementor-widget-image\" data-id=\"43c87d5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1920\" height=\"1280\" src=\"https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/07\/672.webp\" class=\"attachment-full size-full wp-image-34466\" alt=\"3DS2 and SCA\" srcset=\"https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/07\/672.webp 1920w, https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/07\/672-300x200.webp 300w, https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/07\/672-1024x683.webp 1024w, https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/07\/672-768x512.webp 768w, https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/07\/672-1536x1024.webp 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e0cd570 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"e0cd570\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-672b503 elementor-widget elementor-widget-heading\" data-id=\"672b503\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Jak dzia\u0142a typowy przep\u0142yw p\u0142atno\u015bci 3DS2<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e1ed67c elementor-widget elementor-widget-text-editor\" data-id=\"e1ed67c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Ka\u017cdy dostawca udost\u0119pnia nieco inne interfejsy API, ale przebieg przep\u0142ywu 3DS2 jest zazwyczaj taki sam.<\/p><p><strong>1. Klient rozpoczyna p\u0142atno\u015b\u0107<\/strong><\/p><p>Wprowadzaj\u0105 lub wybieraj\u0105 dane p\u0142atno\u015bci i potwierdzaj\u0105 zakup. Tw\u00f3j front-end wysy\u0142a dane p\u0142atno\u015bci do zaplecza lub do zatwierdzonego komponentu po stronie klienta dostawcy. Spos\u00f3b przetwarzania poufnych danych karty zale\u017cy od modelu integracji i obowi\u0105zk\u00f3w wynikaj\u0105cych z PCI DSS.<\/p><p>Hostowana kasa lub komponent tokenizowany chroni\u0105 wi\u0119kszo\u015b\u0107 wra\u017cliwych danych przed dost\u0119pem do system\u00f3w. W pe\u0142ni spersonalizowane API lub mobilny zestaw SDK daj\u0105 wi\u0119ksz\u0105 kontrol\u0119, ale w zamian wymagaj\u0105 wi\u0119cej pracy zwi\u0105zanej z wdro\u017ceniem i zapewnieniem zgodno\u015bci. Wybierz kompromis rozwa\u017cnie.<\/p><p>Aby zapozna\u0107 si\u0119 ze szczeg\u00f3\u0142owym por\u00f3wnaniem, zapoznaj si\u0119 z naszym przewodnikiem dotycz\u0105cym integracji hostowanych p\u0142atno\u015bci, p\u0142atno\u015bci za po\u015brednictwem API i p\u0142atno\u015bci w aplikacji.<\/p><p><strong>2. Zbierane s\u0105 dane uwierzytelniaj\u0105ce<\/strong><\/p><p>3DS2 mo\u017ce wysy\u0142a\u0107 informacje kontekstowe do serwera kontroli dost\u0119pu (ACS) banku wystawiaj\u0105cego kart\u0119. <strong>W zale\u017cno\u015bci od kana\u0142u i dostawcy mo\u017ce to obejmowa\u0107:<\/strong><\/p><ul><li><em>Szczeg\u00f3\u0142y urz\u0105dzenia i przegl\u0105darki.<\/em><\/li><li><em>Kwota i waluta transakcji.<\/em><\/li><li><em>Informacje o rozliczeniach i wysy\u0142ce.<\/em><\/li><li><em>Historia konta klienta.<\/em><\/li><li><em>Dane sprzedawcy.<\/em><\/li><li><em>Poprzednie dane uwierzytelniaj\u0105ce.<\/em><\/li><li><em>Sygna\u0142y dotycz\u0105ce p\u0142atno\u015bci cyklicznych lub inicjowanych przez sprzedawc\u0119.<\/em><\/li><\/ul><p>Wystawca wykorzystuje to wszystko do oceny ryzyka. W\u0142a\u015bnie dlatego jako\u015b\u0107 wdro\u017cenia ma znaczenie. Je\u015bli danych brakuje, s\u0105 niesp\u00f3jne lub \u017ale sformatowane, wystawca ma mniej mo\u017cliwo\u015bci, a Ty jeste\u015b bardziej nara\u017cony na problemy lub ca\u0142kowit\u0105 awari\u0119.<\/p><p><strong>3. Wystawca wybiera opcj\u0119 bez tarcia lub wyzwanie<\/strong><\/p><p>Bank rozpatruje wniosek i decyduje, czy mo\u017ce przeprowadzi\u0107 uwierzytelnienie, nie ingeruj\u0105c w to klienta. <strong>Dwie \u015bcie\u017cki:<\/strong><\/p><ul><li><em><strong>Bez tarcia:<\/strong> uwierzytelnianie odbywa si\u0119 w tle.<\/em><\/li><li><em><strong>Wyzwanie:<\/strong>\u00a0klient musi wykona\u0107 dodatkowy krok weryfikacji.<\/em><\/li><\/ul><p>EMVCo zauwa\u017ca, \u017ce problem pojawia si\u0119 zazwyczaj wtedy, gdy transakcja nie mo\u017ce przej\u015b\u0107 bezproblemowego przep\u0142ywu lub gdy wystawca interpretuje j\u0105 jako obarczon\u0105 wy\u017cszym ryzykiem. <strong><a href=\"https:\/\/www.emvco.com\/emv-technologies\/3-d-secure\/\">Przegl\u0105d biznesowy 3DS<\/a><\/strong>\u00a0wi\u0119cej na temat tego, jak podejmowana jest taka decyzja.<\/p><p><strong>4. Uwierzytelnianie zako\u0144czone<\/strong><\/p><p>Je\u015bli operacja si\u0119 powiedzie, Twoja aplikacja otrzyma dane uwierzytelniaj\u0105ce, kt\u00f3re mo\u017cesz przekaza\u0107 w \u017c\u0105daniu autoryzacji p\u0142atno\u015bci.<\/p><p>Uwierzytelnianie i autoryzacja s\u0105 ze sob\u0105 powi\u0105zane, ale nie s\u0105 tym samym. Zweryfikowany klient nadal mo\u017ce zosta\u0107 odrzucony z powodu niewystarczaj\u0105cych \u015brodk\u00f3w, limit\u00f3w karty, oszustw wystawcy, wyga\u015bni\u0119cia lub zablokowania karty, ogranicze\u0144 sprzedawcy, b\u0142\u0119dnych danych p\u0142atno\u015bci lub chwilowych problem\u00f3w z wystawc\u0105 lub sieci\u0105.<\/p><p>Odpowied\u017a uwierzytelniaj\u0105ca nie jest dowodem na to, \u017ce pieni\u0105dze wp\u0142yn\u0119\u0142y na Twoje konto. Nie traktuj tego w ten spos\u00f3b.<\/p><p><strong>5. P\u0142atno\u015b\u0107 jest autoryzowana i sfinalizowana<\/strong><\/p><p>Brama wysy\u0142a \u017c\u0105danie autoryzacji i zwraca pocz\u0105tkowy wynik. Nast\u0119pnie system potwierdza rzeczywisty stan firmy za pomoc\u0105 powiadomie\u0144 serwer-serwer, zapyta\u0144 do bramy lub zada\u0144 uzgadniania. Sama odpowied\u017a przegl\u0105darki nie jest \u017ar\u00f3d\u0142em prawdy. Klienci zamykaj\u0105 stron\u0119, trac\u0105 sygna\u0142 lub przerywaj\u0105 przekierowanie za ka\u017cdym razem.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6e2a0d3 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"6e2a0d3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dcde5a8 elementor-widget elementor-widget-heading\" data-id=\"dcde5a8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">P\u0142ynny przep\u0142yw: uwierzytelnianie bez niczego do zobaczenia<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-151537d elementor-widget elementor-widget-text-editor\" data-id=\"151537d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>W p\u0142ynnym procesie bank uwierzytelnia si\u0119 za pomoc\u0105 danych kontekstowych, kt\u00f3re ju\u017c posiada, i nigdy nie prosi klienta o \u017cadne dodatkowe dzia\u0142ania.<\/p><p>Dla klienta wygl\u0105da to jak zwyk\u0142a p\u0142atno\u015b\u0107 kart\u0105: wprowadza dane, potwierdza, widzi wynik. W przypadku legalnych transakcji o niskim ryzyku, w\u0142a\u015bnie takiego do\u015bwiadczenia oczekujesz.<\/p><p>Oto haczyk: zazwyczaj nie decydujesz, czy wystawca b\u0119dzie dzia\u0142a\u0142 bezproblemowo. Tw\u00f3j dostawca mo\u017ce poprosi\u0107 o zwolnienie lub przekaza\u0107 dane dotycz\u0105ce ryzyka, ale to wystawca podejmuje ostateczn\u0105 decyzj\u0119 zar\u00f3wno w kwestii uwierzytelniania, jak i autoryzacji. Dlatego nie tw\u00f3rz procesu finalizacji transakcji z za\u0142o\u017ceniem, \u017ce uwierzytelnianie pozostanie niewidoczne. Tw\u00f3j interfejs musi obs\u0142ugiwa\u0107 obie \u015bcie\u017cki w ten sam spos\u00f3b.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-78a3e7c elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"78a3e7c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f6daeb8 elementor-widget elementor-widget-heading\" data-id=\"f6daeb8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Przep\u0142yw wyzwa\u0144: kiedy klient musi zweryfikowa\u0107<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-74e0ad4 elementor-widget elementor-widget-text-editor\" data-id=\"74e0ad4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Wyzwanie oznacza bezpo\u015bredni\u0105 interakcj\u0119. W zale\u017cno\u015bci od banku i urz\u0105dzenia, klient mo\u017ce zatwierdzi\u0107 p\u0142atno\u015b\u0107 w aplikacji bankowej, wprowadzi\u0107 jednorazowe has\u0142o, potwierdzi\u0107 odciskiem palca lub skanem twarzy, wpisa\u0107 has\u0142o bankowe lub PIN albo skorzysta\u0107 z innej metody kontrolowanej przez wystawc\u0119.<\/p><p>Visa stosuje t\u0119 sam\u0105 ide\u0119: transakcje o niskim ryzyku mog\u0105 by\u0107 uwierzytelniane w tle, natomiast transakcje o wy\u017cszym ryzyku mog\u0105 wymaga\u0107 dodatkowej weryfikacji.<\/p><p>Wyzwanie mo\u017ce pojawi\u0107 si\u0119 w osadzonej ramce, przekierowaniu przegl\u0105darki, natywnym ekranie mobilnym lub aplikacji bankowej. To w\u0142a\u015bnie ta r\u00f3\u017cnorodno\u015b\u0107 niesie ze sob\u0105 ryzyko UX.<\/p><p>Klient mo\u017ce nie rozumie\u0107, dlaczego jaka\u015b inna firma nagle prosi go o weryfikacj\u0119. Przechodzi do aplikacji bankowej i zapomina wr\u00f3ci\u0107. Has\u0142o jednorazowe pojawia si\u0119 z op\u00f3\u017anieniem. Ekran uwierzytelniania nie pasuje do uk\u0142adu strony mobilnej. Ustawienia u\u0142atwie\u0144 dost\u0119pu utrudniaj\u0105 korzystanie z interfejsu wystawcy. Nie masz kontroli nad ekranem wystawcy, ale mo\u017cesz przygotowa\u0107 klienta na to i bezproblemowo odzyska\u0107 dost\u0119p po powrocie.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a7c9fa elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"7a7c9fa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5f96056 elementor-widget elementor-widget-heading\" data-id=\"5f96056\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Zasady UX dla wyzwa\u0144 3DS2<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-52c93ef elementor-widget elementor-widget-text-editor\" data-id=\"52c93ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>Wyja\u015bnij, co si\u0119 dzieje.<\/strong>\u00a0Przed wyzwaniem poka\u017c co\u015b kr\u00f3tkiego i ludzkiego:<\/p><ul><li><em>\u201cTw\u00f3j bank mo\u017ce poprosi\u0107 Ci\u0119 o weryfikacj\u0119 tej p\u0142atno\u015bci. Doko\u0144cz weryfikacj\u0119 i wr\u00f3\u0107 do tego ekranu\u201d.\u201d<\/em><\/li><\/ul><p>Pomi\u0144 \u017cargon protoko\u0142u. Nikt nie chce czyta\u0107 \u201cUruchamianie wyzwania ACS\u201d ani \u201cPrzetwarzanie metody 3DS\u201d. Chc\u0105 zapewnienia, a nie terminologii.<\/p><p><strong>Zachowaj kontekst p\u0142atno\u015bci na ekranie.<\/strong>\u00a0Tam, gdzie to mo\u017cliwe, wy\u015bwietlaj nazw\u0119 sprzedawcy, podsumowanie zam\u00f3wienia, kwot\u0119 i walut\u0119 oraz wyra\u017any status p\u0142atno\u015bci w toku. Dzi\u0119ki temu klient b\u0119dzie wiedzia\u0142, \u017ce nadal kupuje to samo.<\/p><p><strong>Nie nazywaj niedoko\u0144czonej p\u0142atno\u015bci nieudan\u0105.<\/strong>\u00a0Przekierowanie, zmiana aplikacji lub powolny webhook mog\u0105 spowodowa\u0107, \u017ce p\u0142atno\u015b\u0107 nie zostanie zrealizowana przez kilka sekund, a czasem nawet d\u0142u\u017cej. Je\u015bli nie znasz statusu, poinformuj o tym:<\/p><ul><li><em>\u201cPotwierdzamy Twoj\u0105 p\u0142atno\u015b\u0107.\u201d<\/em><\/li><\/ul><p>Nie wy\u015bwietlaj komunikatu \u201cP\u0142atno\u015b\u0107 nie powiod\u0142a si\u0119\u201d tylko dlatego, \u017ce Tw\u00f3j interfejs u\u017cytkownika nie otrzyma\u0142 odpowiedzi dostatecznie szybko.<\/p><p><strong>Zachowaj porz\u0105dek.<\/strong>\u00a0Nieudane wyzwanie nie powinno usun\u0105\u0107 koszyka klienta, rezerwacji, wprowadzonych danych ani rezerwacji. Zam\u00f3wienie nale\u017cy zachowa\u0107 w stanie \u201eodzyskiwalnym\u201d do czasu poznania wyniku. W przypadku zapas\u00f3w ograniczonych czasowo, zdecyduj z g\u00f3ry, jak d\u0142ugo b\u0119d\u0105 one zarezerwowane i co si\u0119 stanie, gdy uwierzytelnianie si\u0119 przeci\u0105gnie.<\/p><p><strong>Projekt uwzgl\u0119dniaj\u0105cy zak\u0142\u00f3cenia w dzia\u0142aniu urz\u0105dze\u0144 mobilnych.<\/strong>\u00a0U\u017cytkownicy urz\u0105dze\u0144 mobilnych cz\u0119sto opuszczaj\u0105 aplikacj\u0119, aby zatwierdzi\u0107 p\u0142atno\u015b\u0107 w aplikacji banku, a aplikacja musi przywr\u00f3ci\u0107 prawid\u0142owy stan po ich powrocie. Przetestuj dzia\u0142anie aplikacji w tle i na pierwszym planie, linki g\u0142\u0119bokie i adresy URL powrotne, zmiany kart, rotacj\u0119 urz\u0105dze\u0144, wygas\u0142e sesje, zamykanie i ponowne otwieranie aplikacji przez klienta oraz zatwierdzanie p\u0142atno\u015bci przez aplikacj\u0119 bankow\u0105 po up\u0142ywie limitu czasu pierwotnego ekranu.<\/p><p><strong>Okre\u015bl konkretne dzia\u0142ania ponawiania pr\u00f3b.<\/strong>\u00a0\u201cCo\u015b posz\u0142o nie tak\u201d to za ma\u0142o. Nast\u0119pny krok powinien odpowiada\u0107 faktycznemu stanowi rzeczy: pon\u00f3w pr\u00f3b\u0119 uwierzytelnienia, spr\u00f3buj ponownie u\u017cy\u0107 tej samej karty, u\u017cyj innej karty, zmie\u0144 metod\u0119 p\u0142atno\u015bci, wr\u00f3\u0107 do zam\u00f3wienia, poczekaj na sprawdzenie potwierdzenia lub skontaktuj si\u0119 z pomoc\u0105 techniczn\u0105, podaj\u0105c numer zam\u00f3wienia.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1bcef29 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"1bcef29\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f4b6c8c elementor-widget elementor-widget-heading\" data-id=\"f4b6c8c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Wyj\u0105tki SCA nie gwarantuj\u0105 zatwierdzenia<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-386fd2b elementor-widget elementor-widget-text-editor\" data-id=\"386fd2b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Niekt\u00f3re transakcje mog\u0105 kwalifikowa\u0107 si\u0119 do zwolnienia lub wykracza\u0107 poza zakres standardowego SCA. Nale\u017c\u0105 do nich m.in. p\u0142atno\u015bci o niskiej warto\u015bci, transakcje inicjowane przez sprzedawc\u0119, zaufani beneficjenci lub p\u0142atno\u015bci ocenione jako niskiego ryzyka.<\/p><p>Ale wyj\u0105tek to pro\u015bba, a nie obietnica. Wystawca nadal mo\u017ce za\u017c\u0105da\u0107 uwierzytelnienia lub od razu je odrzuci\u0107. Dlatego Twoja aplikacja musi mie\u0107 mo\u017cliwo\u015b\u0107 rozpocz\u0119cia procedury kwestionowania, nawet je\u015bli pierwotnie planowano poprosi\u0107 o wyj\u0105tek.<\/p><p><strong>Jeszcze jedna rzecz dla za\u0142o\u017cycieli<\/strong>: Nie traktuj wyj\u0105tk\u00f3w jako sposobu na omini\u0119cie uwierzytelnienia. S\u0105 one cz\u0119\u015bci\u0105 strategii zarz\u0105dzania ryzykiem i zgodno\u015bci\u0105, a nie d\u017awigni\u0105 konwersji, kt\u00f3r\u0105 naciskasz, gdy chcesz, aby proces p\u0142atno\u015bci przebiega\u0142 sprawniej.<\/p><p>Skontaktuj si\u0119 ze swoim dostawc\u0105, aby dowiedzie\u0107 si\u0119, jakie wyj\u0105tki obs\u0142uguje, kt\u00f3re transakcje kwalifikuj\u0105 si\u0119, jakie dane musisz poda\u0107, w jaki spos\u00f3b zwracane s\u0105 odrzucenia mi\u0119kkie, jak ponawia\u0107 pr\u00f3by uwierzytelniania i jak to wszystko wp\u0142ywa na nara\u017cenie na oszustwo i odpowiedzialno\u015b\u0107 za nie.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-328ca6b elementor-widget elementor-widget-image\" data-id=\"328ca6b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/07\/5581901.webp\" title=\"3DS2 i SCA\" alt=\"3DS2 and SCA\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c56dc29 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"c56dc29\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9a34e14 elementor-widget elementor-widget-heading\" data-id=\"9a34e14\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Przypadki brzegowe, z kt\u00f3rymi musi poradzi\u0107 sobie Twoja integracja<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c683bbc elementor-widget elementor-widget-text-editor\" data-id=\"c683bbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Droga do sukcesu to ta \u0142atwa cz\u0119\u015b\u0107. To, czy Twoja integracja jest rzeczywi\u015bcie niezawodna, zale\u017cy od wszystkiego, co wydarzy si\u0119 na jej drodze.<\/p><p><strong>Wystawca chce uwierzytelnienia po pr\u00f3bie wyj\u0105tku.<\/strong> Mo\u017cesz otrzyma\u0107 komunikat o odrzuceniu, co oznacza, \u017ce wymagane jest uwierzytelnienie. Rozpoznaj go i ponownie uruchom p\u0142atno\u015b\u0107 za pomoc\u0105 uwierzytelniania 3DS2, je\u015bli jest to mo\u017cliwe. Nie wy\u015bwietlaj tego jako trwa\u0142ego odrzucenia karty, zanim nie sprawdzisz, czy bramka oczekuje ponownej pr\u00f3by uwierzytelnienia (SCA).<\/p><p><strong>Klient nie podejmuje wyzwania.<\/strong>\u00a0B\u0142\u0119dny kod, odrzucone \u017c\u0105danie, nieudana biometria, zbyt wiele pr\u00f3b. Poka\u017c jasny wynik i zaproponuj sensown\u0105 ponown\u0105 pr\u00f3b\u0119 lub alternatywn\u0105 metod\u0119. Nie rzucaj ci\u0105gle tego samego wyzwania po tym, jak wystawca zwr\u00f3ci\u0142 ostateczny b\u0142\u0105d.<\/p><p><strong>Klient anuluje wyzwanie.<\/strong>\u00a0Anulowanie to nie to samo, co awaria techniczna. Powiedz co\u015b w stylu:<\/p><ul><li><em>\u201cWeryfikacja bankowa zosta\u0142a anulowana. Twoja karta nie zosta\u0142a obci\u0105\u017cona.\u201d<\/em><\/li><\/ul><p>To drugie zdanie nale\u017cy okre\u015bli\u0107 jako ostateczne dopiero wtedy, gdy system zaplecza zweryfikuje status p\u0142atno\u015bci.<\/p><p><strong>Klient porzuca przep\u0142yw.<\/strong>\u00a0Zamykaj\u0105 okno, opuszczaj\u0105 aplikacj\u0119 lub nigdy do niej nie wracaj\u0105 po uwierzytelnieniu w aplikacji bankowej. P\u0142atno\u015b\u0107 i zam\u00f3wienie s\u0105 ze sob\u0105 powi\u0105zane za pomoc\u0105 trwa\u0142ych identyfikator\u00f3w. Webhook lub p\u00f3\u017aniejsze zapytanie o status mo\u017ce ujawni\u0107, \u017ce p\u0142atno\u015b\u0107 powiod\u0142a si\u0119, mimo \u017ce sesja znikn\u0119\u0142a.<\/p><p><strong>Wyzwanie si\u0119 ko\u0144czy.<\/strong>\u00a0Przekroczenie limitu czasu nie oznacza, \u017ce p\u0142atno\u015b\u0107 si\u0119 nie powiod\u0142a. Oznacz pr\u00f3b\u0119 jako nierozwi\u0105zan\u0105, dop\u00f3ki system zaplecza nie potwierdzi ostatecznego statusu u dostawcy. Prawdopodobnie b\u0119dziesz potrzebowa\u0107 zaplanowanego zadania, kt\u00f3re b\u0119dzie odpytywa\u0107 p\u0142atno\u015bci utkni\u0119te w stanie uwierzytelniania lub przetwarzania.<\/p><p><strong>Interfejs u\u017cytkownika informuje o niepowodzeniu, webhook informuje o sukcesie.<\/strong>\u00a0Klasyczny problem system\u00f3w rozproszonych. Klient traci \u0142\u0105czno\u015b\u0107 po pomy\u015blnej autoryzacji lub przekierowanie ko\u0144czy si\u0119 niepowodzeniem, podczas gdy powiadomienie serwer-serwer z bramy dociera prawid\u0142owo. Traktuj uwierzytelnione zdarzenia bramy i zapytania o status jako bardziej wiarygodne ni\u017c ekran przegl\u0105darki.<\/p><p><strong>Webhook jest zduplikowany.<\/strong>\u00a0Dostawcy ponawiaj\u0105 pr\u00f3by uruchomienia webhook\u00f3w, gdy nie otrzymaj\u0105 potwierdzenia w odpowiednim czasie. Tw\u00f3j modu\u0142 obs\u0142ugi musi by\u0107 idempotentny, wi\u0119c to samo zdarzenie nie mo\u017ce utworzy\u0107 dw\u00f3ch zam\u00f3wie\u0144, wys\u0142a\u0107 dw\u00f3ch potwierdze\u0144 ani zastosowa\u0107 dwukrotnie tej samej zmiany salda. Nasz przewodnik po webhookach, ponawianiu pr\u00f3b i idempotentno\u015bci wyja\u015bnia, jak to zrobi\u0107.<\/p><p><strong>P\u0142atno\u015b\u0107 pozostaje w toku.<\/strong>\u00a0Niekt\u00f3re pr\u00f3by pozostaj\u0105 nierozwi\u0105zane d\u0142u\u017cej ni\u017c oczekiwano. Stw\u00f3rz proces uzgadniania, kt\u00f3ry okresowo por\u00f3wnuje Twoje rekordy z danymi z bramki p\u0142atniczej i sygnalizuje p\u0142atno\u015bci, kt\u00f3re oczekuj\u0105 zbyt d\u0142ugo, zosta\u0142y pomy\u015blnie zrealizowane na bramce, ale nie zosta\u0142y zrealizowane po Twojej stronie, zosta\u0142y oznaczone jako pomy\u015blnie zrealizowane wewn\u0119trznie, ale brakuje potwierdzenia z bramki p\u0142atniczej, lub zosta\u0142y zwr\u00f3cone i cofni\u0119te bez potwierdzenia ze strony lokalnego urz\u0119du.<\/p><p><strong>Klient pr\u00f3buje ponownie i podejmuje kolejn\u0105 pr\u00f3b\u0119.<\/strong>\u00a0Ponowna pr\u00f3ba powinna zazwyczaj spowodowa\u0107 now\u0105 pr\u00f3b\u0119 p\u0142atno\u015bci powi\u0105zan\u0105 z tym samym zam\u00f3wieniem, a nie nadpisa\u0107 star\u0105. <strong>Dzi\u0119ki temu uzyskasz prawdziwy \u015blad audytu:<\/strong> identyfikator zam\u00f3wienia, identyfikator pr\u00f3by p\u0142atno\u015bci, numer referencyjny bramki p\u0142atniczej, status uwierzytelnienia, status autoryzacji, przyczyna niepowodzenia, znacznik czasu i ostateczne rozwi\u0105zanie.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c48770a elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"c48770a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-259de29 elementor-widget elementor-widget-heading\" data-id=\"259de29\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Praktyczny model statusu p\u0142atno\u015bci<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-84f7e18 elementor-widget elementor-widget-text-editor\" data-id=\"84f7e18\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Nie pr\u00f3buj przedstawia\u0107 ca\u0142ego procesu wy\u0142\u0105cznie za pomoc\u0105 okre\u015ble\u0144 \u201csukces\u201d i \u201cpora\u017cka\u201d.\u201d <strong>Bardziej u\u017cyteczny model wewn\u0119trzny m\u00f3g\u0142by wygl\u0105da\u0107 nast\u0119puj\u0105co:<\/strong><\/p><ul><li><em>stworzony<\/em><\/li><li><em>wymagane_uwierzytelnianie<\/em><\/li><li><em>uwierzytelnianie_w_trakcie_pracy<\/em><\/li><li><em>zalegalizowany<\/em><\/li><li><em>oczekuj\u0105ca_autoryzacja<\/em><\/li><li><em>upowa\u017cniony<\/em><\/li><li><em>odrzucony<\/em><\/li><li><em>odwo\u0142any<\/em><\/li><li><em>wygas\u0142y<\/em><\/li><li><em>przegrany<\/em><\/li><li><em>z\u0142apany<\/em><\/li><li><em>zwr\u00f3cono<\/em><\/li><li><em>cz\u0119\u015bciowo_zwr\u00f3cone<\/em><\/li><\/ul><p>Wasze imiona mog\u0105 si\u0119 r\u00f3\u017cni\u0107. Chodzi o to, aby oddzieli\u0107 status uwierzytelnienia od statusu finansowego. \u201eAuthenticated\u201d nie oznacza \u201eauthorized\u201d. \u201eAuthorized\u201d nie oznacza \u201ecaptured\u201d. \u201eChallenge_cancelled\u201d to nie to samo, co \u201eissuer_declined\u201d. \u201efrontend_timeout\u201d to nie wynik ko\u0144cowy. Rozdzielenie tych dw\u00f3ch element\u00f3w usprawnia komunikacj\u0119 z klientami, narz\u0119dzia wsparcia, analityk\u0119 i proces uzgadniania.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c233da elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"1c233da\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ba38ce3 elementor-widget elementor-widget-heading\" data-id=\"ba38ce3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Testowanie 3DS2 przed premier\u0105<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d099e66 elementor-widget elementor-widget-text-editor\" data-id=\"d099e66\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Jedna pomy\u015blnie przeprowadzona p\u0142atno\u015b\u0107 w piaskownicy nie jest planem testowym. <strong>Wykonaj co najmniej nast\u0119puj\u0105ce scenariusze:<\/strong><\/p><ul><li><em>Bezproblemowe uwierzytelnianie w przypadku pomy\u015blnej p\u0142atno\u015bci.<\/em><\/li><li><em>Weryfikacja uwierzytelnienia w przypadku pomy\u015blnej p\u0142atno\u015bci.<\/em><\/li><li><em>Nieprawid\u0142owe has\u0142o jednorazowe.<\/em><\/li><li><em>Anulowanie przez klienta.<\/em><\/li><li><em>Przekroczono limit czasu wyzwania.<\/em><\/li><li><em>\u0141agodne odrzucenie, po kt\u00f3rym nast\u0119puje uwierzytelniona ponowna pr\u00f3ba.<\/em><\/li><li><em>Uwierzytelnienie powiod\u0142o si\u0119, a nast\u0119pnie autoryzacja zosta\u0142a odrzucona.<\/em><\/li><li><em>Duplikat webhooka.<\/em><\/li><li><em>Op\u00f3\u017aniony webhook.<\/em><\/li><li><em>Brak powrotu przegl\u0105darki.<\/em><\/li><li><em>Od\u015bwie\u017canie klienta w trakcie uwierzytelniania.<\/em><\/li><li><em>Klient otwiera kas\u0119 w wielu zak\u0142adkach.<\/em><\/li><li><em>Prze\u0142\u0105czanie i powr\u00f3t do aplikacji bankowo\u015bci mobilnej.<\/em><\/li><li><em>Wygas\u0142a sesja realizacji zam\u00f3wienia.<\/em><\/li><li><em>Spr\u00f3buj ponownie, sk\u0142adaj\u0105c to samo zam\u00f3wienie.<\/em><\/li><li><em>Spr\u00f3buj ponownie z inn\u0105 kart\u0105.<\/em><\/li><li><em>Awaria dostawcy lub nieprawid\u0142owa odpowied\u017a.<\/em><\/li><li><em>P\u0142atno\u015b\u0107 jest realizowana, gdy Twoja aplikacja jest tymczasowo niedost\u0119pna.<\/em><\/li><\/ul><p>Przed uruchomieniem sprawd\u017a rzeczywist\u0105 konfiguracj\u0119 produkcyjn\u0105. Zachowanie \u015brodowiska testowego nie zawsze jest zgodne z ka\u017cdym wystawc\u0105, urz\u0105dzeniem, sieci\u0105 kart i aplikacj\u0105 bankowo\u015bci mobilnej, jakie spotkasz w praktyce.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f6fd29d elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"f6fd29d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3978206 elementor-widget elementor-widget-heading\" data-id=\"3978206\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Jak Appricotsoft podchodzi do integracji 3DS2 i SCA<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0835ed0 elementor-widget elementor-widget-text-editor\" data-id=\"0835ed0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>W Appricotsoft,<\/strong> Chcemy tworzy\u0107 oprogramowanie, kt\u00f3re jest u\u017cyteczne, niezawodne i takie, kt\u00f3re my i nasi klienci z przyjemno\u015bci\u0105 b\u0119dziemy dostarcza\u0107. W przypadku p\u0142atno\u015bci oznacza to traktowanie uwierzytelniania jako pe\u0142nego procesu produktu, a nie pojedynczego wywo\u0142ania API.<\/p><p>Zwykle zaczynamy od zmapowania \u015bcie\u017cki p\u0142atno\u015bci, stan\u00f3w p\u0142atno\u015bci i uwierzytelniania, obowi\u0105zk\u00f3w dostawcy, za\u0142o\u017ce\u0144 dotycz\u0105cych silnego uwierzytelniania (SCA) i wy\u0142\u0105cze\u0144, przep\u0142yw\u00f3w zwrotnych w przegl\u0105darce i na urz\u0105dzeniu mobilnym, przetwarzania webhook\u00f3w oraz regu\u0142 ponawiania pr\u00f3b i uzgadniania, a tak\u017ce widoczno\u015bci dla wsparcia i administratora oraz sposobu monitorowania uruchomienia.<\/p><p>Nasz framework Unison zapewnia przejrzysto\u015b\u0107 tych decyzji dzi\u0119ki wsp\u00f3\u0142dzielonemu rejestrowi zada\u0144, kryteriom akceptacji, rejestrowi ryzyka, dziennikowi decyzji, procesowi zapewniania jako\u015bci (QA) oraz regularnym demonstracjom. Sztuczna inteligencja mo\u017ce pom\u00f3c w tworzeniu scenariuszy testowych, przegl\u0105daniu dziennik\u00f3w lub tworzeniu dokumentacji, ale to ludzie przegl\u0105daj\u0105 wyniki i pozostaj\u0105 odpowiedzialni za rezultat.<\/p><p>W praktyce przek\u0142ada si\u0119 to na kilka zabezpiecze\u0144: wyra\u017ane zmiany stanu p\u0142atno\u015bci, idempotentne operacje zaplecza, bezpieczn\u0105 weryfikacj\u0119 webhook\u00f3w, jasne odzyskiwanie wyzwa\u0144, potwierdzanie statusu po stronie serwera, strukturalne mapowanie b\u0142\u0119d\u00f3w dostawc\u00f3w, uzgadnianie nierozwi\u0105zanych transakcji, monitorowanie wzorc\u00f3w konwersji i awarii oraz dokumentacj\u0119, z kt\u00f3rej zespo\u0142y wsparcia i operacji mog\u0105 faktycznie korzysta\u0107.<\/p><p>Przep\u0142yw p\u0142atno\u015bci musi spe\u0142nia\u0107 oczekiwania wielu grup jednocze\u015bnie, a nie zawsze oczekuj\u0105 tego samego. Klienci oczekuj\u0105 szybko\u015bci i przejrzysto\u015bci. Za\u0142o\u017cyciele oczekuj\u0105 konwersji i przewidywalnych koszt\u00f3w. Dzia\u0142 zgodno\u015bci z przepisami wymaga odpowiednich mechanizm\u00f3w kontroli. Dzia\u0142 wsparcia potrzebuje przejrzysto\u015bci. Deweloperzy oczekuj\u0105 niezawodnych um\u00f3w z dostawcami i testowalnych przej\u015b\u0107 mi\u0119dzy stanami. Dobra integracja \u0142\u0105czy wszystkie te elementy.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c50bd63 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"c50bd63\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f228de9 elementor-widget elementor-widget-heading\" data-id=\"f228de9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Cz\u0119sto zadawane pytania<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ecb614 elementor-widget elementor-widget-text-editor\" data-id=\"7ecb614\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>Czy 3DS2 to to samo co SCA?<\/strong><\/p><p>Nie. SCA jest wymogiem regulacyjnym. 3DS2 to protok\u00f3\u0142 techniczny powszechnie u\u017cywany do spe\u0142nienia tego wymogu w przypadku p\u0142atno\u015bci kartami online.<\/p><p><strong>Czy ka\u017cda p\u0142atno\u015b\u0107 3DS2 wi\u0105\u017ce si\u0119 z wyzwaniem?<\/strong><\/p><p>Nie. Transakcje o niskim ryzyku mog\u0105 przebiega\u0107 bez zak\u0142\u00f3ce\u0144, a klient nie b\u0119dzie niczego widzia\u0142.<\/p><p><strong>Czy sprzedawca mo\u017ce wymusi\u0107 bezproblemowe uwierzytelnianie?<\/strong><\/p><p>Ty i Tw\u00f3j dostawca mo\u017cecie przesy\u0142a\u0107 przydatne dane i wnioskowa\u0107 o wyj\u0105tki, ale ostateczna decyzja o uwierzytelnieniu nale\u017cy do wystawcy.<\/p><p><strong>Czy pomy\u015blne uwierzytelnienie 3DS2 gwarantuje realizacj\u0119 p\u0142atno\u015bci?<\/strong><\/p><p>Nie. Uwierzytelnianie potwierdza to\u017csamo\u015b\u0107 klienta zgodnie z procedur\u0105 wystawcy. Autoryzacja mo\u017ce si\u0119 jednak nie powie\u015b\u0107 ze wzgl\u0119du na \u015brodki, limity, zasady wystawcy lub inne warunki.<\/p><p><strong>Kto decyduje, czy SCA jest wymagane?<\/strong><\/p><p>Zale\u017cy to od transakcji, obowi\u0105zuj\u0105cych zasad, dostawc\u00f3w p\u0142atno\u015bci i banku wydaj\u0105cego. Tw\u00f3j dostawca powinien wyja\u015bni\u0107, jak klasyfikuje transakcje i obs\u0142uguje wyj\u0105tki, wykluczenia, odrzucenia mi\u0119kkie i wymagania uwierzytelniania.<\/p><p><strong>Czy powinni\u015bmy sami zbudowa\u0107 3DS2?<\/strong><\/p><p>Wi\u0119kszo\u015b\u0107 firm integruje go za po\u015brednictwem bramki, procesora lub zatwierdzonego zestawu SDK, zamiast wdra\u017ca\u0107 protok\u00f3\u0142 od podstaw. Nadal projektujesz otaczaj\u0105c\u0105 go transakcj\u0119, stany zaplecza, webhooki, ponowne pr\u00f3by i logik\u0119 odzyskiwania.<\/p><p><strong>Co powinno by\u0107 widoczne dla obs\u0142ugi klienta?<\/strong><\/p><p>Zam\u00f3wienie, pr\u00f3by p\u0142atno\u015bci, wynik uwierzytelnienia, wynik autoryzacji, numer referencyjny dostawcy, znaczniki czasu, kategoria b\u0142\u0119du oraz zalecana nast\u0119pna czynno\u015b\u0107. Poufne dane uwierzytelniaj\u0105ce lub dane karty nie powinny by\u0107 niepotrzebnie ujawniane.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8742a8b elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"8742a8b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b25f48e elementor-widget elementor-widget-heading\" data-id=\"b25f48e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Wniosek<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cbbdb52 elementor-widget elementor-widget-text-editor\" data-id=\"cbbdb52\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>3DS2 i SCA to nie tylko problemy ze zgodno\u015bci\u0105 czy zapleczem. Maj\u0105 one wp\u0142yw na konwersj\u0119 p\u0142atno\u015bci, zaufanie klient\u00f3w, obci\u0105\u017cenie dzia\u0142u wsparcia, ryzyko oszustw i niezawodno\u015b\u0107 p\u0142atno\u015bci \u2013 wszystko naraz.<\/p><p>Dobra implementacja pozwala klientom o niskim ryzyku przej\u015b\u0107 przez proces p\u0142atno\u015bci z minimalnymi utrudnieniami, jednocze\u015bnie obs\u0142uguj\u0105c bezpieczne procedury weryfikacji, gdy bank o nie poprosi. Rozwi\u0105zanie to jest odporne na anulowania, przekroczenia limitu czasu, prze\u0142\u0105czanie aplikacji, odrzucenia, duplikaty powiadomie\u0144 i powolne rezultaty.<\/p><p>Najwa\u017cniejsza jest jedna zasada: nigdy nie projektuj wy\u0142\u0105cznie z my\u015bl\u0105 o szcz\u0119\u015bciu.<\/p><p>W Appricotsoft \u0142\u0105czymy my\u015blenie produktowe, bezpieczn\u0105 integracj\u0119 system\u00f3w, zapewnienie jako\u015bci (QA) i planowanie operacyjne, aby tworzy\u0107 przep\u0142ywy p\u0142atno\u015bci, kt\u00f3re pozostaj\u0105 zrozumia\u0142e dla klient\u00f3w i \u0142atwe w zarz\u0105dzaniu dla firmy. Celem nie jest tylko pod\u0142\u0105czenie bramki p\u0142atniczej. Chodzi o stworzenie \u015brodowiska p\u0142atno\u015bci, kt\u00f3re mo\u017cna bezpiecznie uruchamia\u0107 i skalowa\u0107.<\/p><p>Planujesz now\u0105 kas\u0119 lub pr\u00f3bujesz naprawi\u0107 t\u0119, kt\u00f3ra nie dzia\u0142a? Popro\u015b Appricotsoft o wycen\u0119 integracji bramki p\u0142atniczej.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5b3ff0c elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"5b3ff0c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f0c1b97 elementor-cta--skin-cover elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action\" data-id=\"f0c1b97\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-cta\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg\" style=\"background-image: url();\" role=\"img\" aria-label=\"\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h2 class=\"elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow\">\n\t\t\t\t\t\tMasz ju\u017c ten pomys\u0142?\t\t\t\t\t<\/h2>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-cta__description elementor-cta__content-item elementor-content-item elementor-animated-item--grow\">\n\t\t\t\t\t\tNapisz do nas, a znajdziemy najlepszy spos\u00f3b realizacji Twojego pomys\u0142u!\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-cta__button-wrapper elementor-cta__content-item elementor-content-item elementor-animated-item--grow\">\n\t\t\t\t\t<a class=\"elementor-cta__button elementor-button elementor-size-\" href=\"\/pl\/contact-us\/\">\n\t\t\t\t\t\tSkontaktuj si\u0119 z nami\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Wprowadzenie Uwierzytelnianie p\u0142atno\u015bci to sztuka r\u00f3wnowagi, w kt\u00f3rej \u0142atwo jest si\u0119 pogubi\u0107. Zbyt lu\u017ane podej\u015bcie prowadzi do oszustw, obci\u0105\u017ce\u0144 zwrotnych i problem\u00f3w regulacyjnych. Zbyt rygorystyczne podej\u015bcie powoduje, \u017ce prawdziwi klienci rezygnuj\u0105 z p\u0142atno\u015bci, poniewa\u017c nie mog\u0105 przej\u015b\u0107 etapu uwierzytelniania, kt\u00f3rego si\u0119 nie spodziewali. To w\u0142a\u015bnie luka w 3D Secure 2 (3DS2)\u2026<\/p>","protected":false},"author":4,"featured_media":34464,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[44,43],"tags":[45,46],"class_list":["post-34463","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-fintech","tag-fintech","tag-fintech-app"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>3DS2 and SCA Basics: Building Secure Payment Flows Without Breaking Checkout - AOI<\/title>\n<meta name=\"description\" content=\"Learn how 3DS2 and SCA affect payment gateway integration services, including frictionless and challenge flows, checkout UX, failures, retries, and edge cases.\" \/>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"3DS2 and SCA Basics: Building Secure Payment Flows Without Breaking Checkout - AOI\" \/>\n<meta property=\"og:description\" content=\"Learn how 3DS2 and SCA affect payment gateway integration services, including frictionless and challenge flows, checkout UX, failures, retries, and edge cases.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/appricotsoft.com\/pl\/fintech\/3ds2-sca-payment-gateway-integration-basics\/\" \/>\n<meta property=\"og:site_name\" content=\"AOI\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-15T11:44:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-15T11:47:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/07\/On-page-3.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Roman Rusnak\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Roman Rusnak\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/fintech\\\/3ds2-sca-payment-gateway-integration-basics\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/fintech\\\/3ds2-sca-payment-gateway-integration-basics\\\/\"},\"author\":{\"name\":\"Roman Rusnak\",\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/#\\\/schema\\\/person\\\/635e2d8baeeff5a86ba1944e42d3a30b\"},\"headline\":\"3DS2 and SCA Basics: Building Secure Payment Flows Without Breaking Checkout\",\"datePublished\":\"2026-07-15T11:44:55+00:00\",\"dateModified\":\"2026-07-15T11:47:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/fintech\\\/3ds2-sca-payment-gateway-integration-basics\\\/\"},\"wordCount\":2950,\"publisher\":{\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/fintech\\\/3ds2-sca-payment-gateway-integration-basics\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/appricotsoft.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/On-page-3.webp\",\"keywords\":[\"fintech\",\"fintech-app\"],\"articleSection\":[\"Blog\",\"Fintech\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/fintech\\\/3ds2-sca-payment-gateway-integration-basics\\\/\",\"url\":\"https:\\\/\\\/appricotsoft.com\\\/fintech\\\/3ds2-sca-payment-gateway-integration-basics\\\/\",\"name\":\"3DS2 and SCA Basics: Building Secure Payment Flows Without Breaking Checkout - AOI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/fintech\\\/3ds2-sca-payment-gateway-integration-basics\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/fintech\\\/3ds2-sca-payment-gateway-integration-basics\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/appricotsoft.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/On-page-3.webp\",\"datePublished\":\"2026-07-15T11:44:55+00:00\",\"dateModified\":\"2026-07-15T11:47:27+00:00\",\"description\":\"Learn how 3DS2 and SCA affect payment gateway integration services, including frictionless and challenge flows, checkout UX, failures, retries, and edge cases.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/fintech\\\/3ds2-sca-payment-gateway-integration-basics\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/appricotsoft.com\\\/fintech\\\/3ds2-sca-payment-gateway-integration-basics\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/fintech\\\/3ds2-sca-payment-gateway-integration-basics\\\/#primaryimage\",\"url\":\"https:\\\/\\\/appricotsoft.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/On-page-3.webp\",\"contentUrl\":\"https:\\\/\\\/appricotsoft.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/On-page-3.webp\",\"width\":1920,\"height\":1280,\"caption\":\"3DS2 and SCA\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/fintech\\\/3ds2-sca-payment-gateway-integration-basics\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/appricotsoft.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"3DS2 and SCA Basics: Building Secure Payment Flows Without Breaking Checkout\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/#website\",\"url\":\"https:\\\/\\\/appricotsoft.com\\\/\",\"name\":\"Appricotsoft\",\"description\":\"We Build Products That Win Funding And Scale\",\"publisher\":{\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/appricotsoft.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/#organization\",\"name\":\"Appricotsoft\",\"url\":\"https:\\\/\\\/appricotsoft.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/appricotsoft.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/cropped-cropped-appricot-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/appricotsoft.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/cropped-cropped-appricot-logo-1.png\",\"width\":588,\"height\":208,\"caption\":\"Appricotsoft\"},\"image\":{\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/appricotsoft.com\\\/#\\\/schema\\\/person\\\/635e2d8baeeff5a86ba1944e42d3a30b\",\"name\":\"Roman Rusnak\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7e20df217e76455294bb3c93bb8279e9cbde3ec3b2a694e33728048006222510?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7e20df217e76455294bb3c93bb8279e9cbde3ec3b2a694e33728048006222510?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7e20df217e76455294bb3c93bb8279e9cbde3ec3b2a694e33728048006222510?s=96&d=mm&r=g\",\"caption\":\"Roman Rusnak\"},\"url\":\"https:\\\/\\\/appricotsoft.com\\\/pl\\\/author\\\/rusnak\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"3DS2 and SCA Basics: Building Secure Payment Flows Without Breaking Checkout - AOI","description":"Dowiedz si\u0119, jak 3DS2 i SCA wp\u0142ywaj\u0105 na us\u0142ugi integracji bramek p\u0142atniczych, w tym na przep\u0142ywy bezproblemowe i wymagaj\u0105ce wyzwa\u0144, do\u015bwiadczenie u\u017cytkownika podczas realizacji transakcji, awarie, ponowne pr\u00f3by i przypadki skrajne.","robots":{"index":"noindex","follow":"follow"},"og_locale":"pl_PL","og_type":"article","og_title":"3DS2 and SCA Basics: Building Secure Payment Flows Without Breaking Checkout - AOI","og_description":"Learn how 3DS2 and SCA affect payment gateway integration services, including frictionless and challenge flows, checkout UX, failures, retries, and edge cases.","og_url":"https:\/\/appricotsoft.com\/pl\/fintech\/3ds2-sca-payment-gateway-integration-basics\/","og_site_name":"AOI","article_published_time":"2026-07-15T11:44:55+00:00","article_modified_time":"2026-07-15T11:47:27+00:00","og_image":[{"width":1920,"height":1280,"url":"https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/07\/On-page-3.webp","type":"image\/webp"}],"author":"Roman Rusnak","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Roman Rusnak","Szacowany czas czytania":"13 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/appricotsoft.com\/fintech\/3ds2-sca-payment-gateway-integration-basics\/#article","isPartOf":{"@id":"https:\/\/appricotsoft.com\/fintech\/3ds2-sca-payment-gateway-integration-basics\/"},"author":{"name":"Roman Rusnak","@id":"https:\/\/appricotsoft.com\/#\/schema\/person\/635e2d8baeeff5a86ba1944e42d3a30b"},"headline":"3DS2 and SCA Basics: Building Secure Payment Flows Without Breaking Checkout","datePublished":"2026-07-15T11:44:55+00:00","dateModified":"2026-07-15T11:47:27+00:00","mainEntityOfPage":{"@id":"https:\/\/appricotsoft.com\/fintech\/3ds2-sca-payment-gateway-integration-basics\/"},"wordCount":2950,"publisher":{"@id":"https:\/\/appricotsoft.com\/#organization"},"image":{"@id":"https:\/\/appricotsoft.com\/fintech\/3ds2-sca-payment-gateway-integration-basics\/#primaryimage"},"thumbnailUrl":"https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/07\/On-page-3.webp","keywords":["fintech","fintech-app"],"articleSection":["Blog","Fintech"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/appricotsoft.com\/fintech\/3ds2-sca-payment-gateway-integration-basics\/","url":"https:\/\/appricotsoft.com\/fintech\/3ds2-sca-payment-gateway-integration-basics\/","name":"3DS2 and SCA Basics: Building Secure Payment Flows Without Breaking Checkout - AOI","isPartOf":{"@id":"https:\/\/appricotsoft.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/appricotsoft.com\/fintech\/3ds2-sca-payment-gateway-integration-basics\/#primaryimage"},"image":{"@id":"https:\/\/appricotsoft.com\/fintech\/3ds2-sca-payment-gateway-integration-basics\/#primaryimage"},"thumbnailUrl":"https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/07\/On-page-3.webp","datePublished":"2026-07-15T11:44:55+00:00","dateModified":"2026-07-15T11:47:27+00:00","description":"Dowiedz si\u0119, jak 3DS2 i SCA wp\u0142ywaj\u0105 na us\u0142ugi integracji bramek p\u0142atniczych, w tym na przep\u0142ywy bezproblemowe i wymagaj\u0105ce wyzwa\u0144, do\u015bwiadczenie u\u017cytkownika podczas realizacji transakcji, awarie, ponowne pr\u00f3by i przypadki skrajne.","breadcrumb":{"@id":"https:\/\/appricotsoft.com\/fintech\/3ds2-sca-payment-gateway-integration-basics\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/appricotsoft.com\/fintech\/3ds2-sca-payment-gateway-integration-basics\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/appricotsoft.com\/fintech\/3ds2-sca-payment-gateway-integration-basics\/#primaryimage","url":"https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/07\/On-page-3.webp","contentUrl":"https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/07\/On-page-3.webp","width":1920,"height":1280,"caption":"3DS2 and SCA"},{"@type":"BreadcrumbList","@id":"https:\/\/appricotsoft.com\/fintech\/3ds2-sca-payment-gateway-integration-basics\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/appricotsoft.com\/"},{"@type":"ListItem","position":2,"name":"3DS2 and SCA Basics: Building Secure Payment Flows Without Breaking Checkout"}]},{"@type":"WebSite","@id":"https:\/\/appricotsoft.com\/#website","url":"https:\/\/appricotsoft.com\/","name":"Morelowy","description":"Tworzymy produkty, kt\u00f3re zdobywaj\u0105 finansowanie i skaluj\u0105 si\u0119","publisher":{"@id":"https:\/\/appricotsoft.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/appricotsoft.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/appricotsoft.com\/#organization","name":"Morelowy","url":"https:\/\/appricotsoft.com\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/appricotsoft.com\/#\/schema\/logo\/image\/","url":"https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/05\/cropped-cropped-appricot-logo-1.png","contentUrl":"https:\/\/appricotsoft.com\/wp-content\/uploads\/2026\/05\/cropped-cropped-appricot-logo-1.png","width":588,"height":208,"caption":"Appricotsoft"},"image":{"@id":"https:\/\/appricotsoft.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/appricotsoft.com\/#\/schema\/person\/635e2d8baeeff5a86ba1944e42d3a30b","name":"Roman Rusnak","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/secure.gravatar.com\/avatar\/7e20df217e76455294bb3c93bb8279e9cbde3ec3b2a694e33728048006222510?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7e20df217e76455294bb3c93bb8279e9cbde3ec3b2a694e33728048006222510?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7e20df217e76455294bb3c93bb8279e9cbde3ec3b2a694e33728048006222510?s=96&d=mm&r=g","caption":"Roman Rusnak"},"url":"https:\/\/appricotsoft.com\/pl\/author\/rusnak\/"}]}},"_links":{"self":[{"href":"https:\/\/appricotsoft.com\/pl\/wp-json\/wp\/v2\/posts\/34463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/appricotsoft.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/appricotsoft.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/appricotsoft.com\/pl\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/appricotsoft.com\/pl\/wp-json\/wp\/v2\/comments?post=34463"}],"version-history":[{"count":7,"href":"https:\/\/appricotsoft.com\/pl\/wp-json\/wp\/v2\/posts\/34463\/revisions"}],"predecessor-version":[{"id":34473,"href":"https:\/\/appricotsoft.com\/pl\/wp-json\/wp\/v2\/posts\/34463\/revisions\/34473"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/appricotsoft.com\/pl\/wp-json\/wp\/v2\/media\/34464"}],"wp:attachment":[{"href":"https:\/\/appricotsoft.com\/pl\/wp-json\/wp\/v2\/media?parent=34463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/appricotsoft.com\/pl\/wp-json\/wp\/v2\/categories?post=34463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/appricotsoft.com\/pl\/wp-json\/wp\/v2\/tags?post=34463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}