AutoPay wg rozwiazania z Gieldy Komunalnej
Deploy Polska Lokalnie / deploy (push) Successful in 11s

- ITN: XML w base64 (pole transactions), bezpieczny parser (bez XXE), podpis
  ze stalej listy pol, zgodnosc ServiceID, kwoty i waluty, idempotencja,
  podpisana odpowiedz XML CONFIRMED/NOTCONFIRMED.
- Start transakcji podpisanym formularzem POST ze strony /platnosc/:orderId
  zamiast linku GET z podpisem w adresie; tytul przelewu w ASCII.
- Losowy OrderID (UUID) zamiast Math.random.
- Adres ITN do wpisania w panelu AutoPay widoczny w panelu admina.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-23 13:22:20 +02:00
parent 1c1162c93e
commit 3a555e3b24
14 changed files with 731 additions and 152 deletions
+2 -1
View File
@@ -21,7 +21,7 @@ import { AdminPromotionView } from './admin/promotion';
import { AdminSettingsView } from './admin/settings';
import { TermsPage, PrivacyPolicyPage, CookieBanner } from './legal';
import { SiteFooter } from './Footer';
import { ActivationPage, PasswordResetPage, PhoneOtpModal } from './AuthPages';
import { ActivationPage, PasswordResetPage, PaymentRedirectPage, PhoneOtpModal } from './AuthPages';
const heroImage = new URL('./assets/hero-interior.png', import.meta.url).href;
const cityImage = new URL('./assets/city-panorama.png', import.meta.url).href;
@@ -3668,6 +3668,7 @@ function App() {
{/* Trasy wymagajace zalogowania */}
<Route element={<ProtectedRoute />}>
<Route path={ROUTES.payment} element={<PaymentRedirectPage />} />
<Route path={ROUTES.guideAdd} element={<GuideAddArticlePage />} />
<Route path={ROUTES.account} element={<AccountDashboardPage savedSearches={savedSearchesState} onOpenSavedSearch={openSavedSearch} />} />
<Route