PayU, Stripe, Przelewy24 i faktury VAT w jednym shortcodzie
Wstaw shortcode na dowolnej stronie i zacznij sprzedawać — usługi, produkty fizyczne, cyfrowe, subskrypcje. Bez koszyka, bez WooCommerce, bez zbędnej złożoności.
PayU, Stripe, Przelewy24 i faktury VAT w jednym shortcodzie. Wstaw shortcode na dowolnej stronie i zacznij sprzedawać - usługi, produkty fizyczne, cyfrowe, subskrypcje. Bez koszyka, bez WooCommerce, bez zbędnej złożoności.
Wstaw shortcode na dowolnej stronie i zacznij sprzedawać — usługi, produkty fizyczne, cyfrowe, subskrypcje. Bez koszyka, bez WooCommerce, bez zbędnej złożoności.
Shortcode
na dowolnej stronie i gotowe — formularz, bramka płatności i potwierdzenie w jednym. Bez przekierowania na stronę koszyka.Jedna konfiguracja kluczy API na każdą bramkę — i wszystkie są dostępne klientom. Przełączanie aktywnych bramek z panelu admina bez edycji kodu.
Sprzedajesz konsultacje, kursy online i kubki? Każdy typ produktu obsługujesz z tego samego panelu. Produkty cyfrowe z systemem licencji. Fizyczne z kalkulatorem kosztów wysyłki.
Po każdym zamówieniu faktura VAT jest generowana automatycznie i wysyłana do klienta. Bez ręcznego wystawiania, bez kopiowania danych.
RRS SmartSell zawiera gotowy system licencji cyfrowych — po zakupie klient dostaje klucz licencji, który weryfikujesz w swojej wtyczce snippetem kodu. Tak jak my sprzedajemy nasze moduły.
Jedna licencja = jedna domena produkcyjna. Wszystkie plany zawierają pełny kod źródłowy bez szyfrowania. Możesz zacząć od Startera i upgraded w dowolnym momencie.
Nie. RRS SmartSell jest niezależny od WooCommerce. Ma własne typy wpisów (produkty, zamówienia, licencje), własny checkout i własne integracje z bramkami płatności.
Tak, i to jest jedno z głównych zastosowań. Po zakupie klient dostaje klucz licencji. W swojej wtyczce używasz gotowego snippeta LicenseChecker, który weryfikuje klucz przez REST API. Tak jak my sprzedajemy nasze moduły.
W ustawieniach SmartSell wybierz dostawcę faktur (Fakturownia, wFirma lub InFakt), wpisz klucz API i dane sprzedawcy. Od tej pory każde zamówienie generuje fakturę automatycznie.
Tak. Subskrypcje cykliczne (miesięczne, roczne, niestandardowe) działają przez Stripe Subscriptions. PayU i Przelewy24 obsługują tylko płatności jednorazowe.
Tak. Każdy shortcode
* Pola wymagane. Po kliknięciu przejdziesz do wybranej bramki płatności.
.rrs-price-header{display:flex;align-items:baseline;gap:10px;padding:10px 0 12px;border-bottom:1px solid #e2e8f0;margin-bottom:14px} .rrs-price-amount{font-size:1.15rem;font-weight:800} .rrs-price-detail{font-size:.8rem;color:#64748b} .rrs-buyer-type{display:flex;gap:16px;flex-wrap:wrap} .rrs-plans{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px} .rrs-plan-option{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;min-width:130px;flex:1;transition:border-color .15s} .rrs-plan-option.is-selected,.rrs-plan-option:has(input:checked){border-color:#1c7a4d;background:#f0fdf4} .rrs-plan-option__name{font-weight:700;font-size:.875rem} .rrs-plan-option__body{flex:1} .rrs-plan-option input{flex-shrink:0;margin-top:3px} .rrs-plan-option__price{display:flex;align-items:baseline;gap:4px;margin-top:2px} .rrs-gateways{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px} .rrs-gateway-option{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;min-width:130px;transition:border-color .15s} .rrs-gateway-option input{display:none !important} .rrs-gateway-option.is-selected,.rrs-gateway-option:has(input:checked){border-color:#1c7a4d} .rrs-gateway-option__name{font-weight:700;font-size:.875rem} .rrs-gateway-option__desc{font-size:.75rem;color:#64748b} /* Bramka niedostępna dla wybranego planu (np. PayU przy subskrypcji) — klasa z !important jako druga, niezależna warstwa obok JS style.display, plus wygaszenie na wypadek gdyby coś jednak zostało widoczne. */ .rrs-gateway-option--hidden{display:none !important} .rrs-gateway-option:has(input:disabled){opacity:.4;cursor:not-allowed;pointer-events:none} .order-consents{display:flex;flex-direction:column;gap:8px} .consent{display:flex;align-items:flex-start;gap:8px;font-size:.85rem;cursor:pointer;line-height:1.4} .consent input[type="checkbox"]{flex-shrink:0;margin-top:2px} /* Układ poziomy */ .rrs-checkout--horizontal .order-form__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px} .rrs-checkout--horizontal .rrs-f-full{grid-column:1/-1} /* Telefon (order-field--full) na pełną szerokość wiersza — w 1 kolumnie prefiks kierunkowy zjadał niemal całe miejsce numerowi */ .rrs-checkout--horizontal .order-field--full{grid-column:1/-1} .rrs-checkout #rrs-phone-code{width:90px !important;flex:0 0 90px !important;min-width:0} .rrs-checkout #rrs-phone{flex:1 1 auto !important;min-width:120px} /* Zakładki planów — pod sobą (nie obok siebie), żeby wyższe kwoty/dłuższe etykiety nie musiały się ściskać w wąskiej kolumnie. Pełne style inline (checkout.css nie zawsze jest załadowany, np. gdy shortcode renderuje sam formularz) */ .rrs-plan-selector{display:flex;flex-direction:column;gap:0;margin-bottom:18px;border-radius:var(--rrs-radius-sm,7px);overflow:hidden;border:1px solid var(--rrs-border,rgba(0,0,0,.12))} .rrs-plan-tab{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;cursor:pointer;text-align:left;border-bottom:1px solid var(--rrs-border,rgba(0,0,0,.12));transition:background .15s,color .15s;position:relative} .rrs-plan-tab:last-child{border-bottom:none} .rrs-plan-tab input[type="radio"]{display:none !important} .rrs-plan-tab__label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.65} .rrs-plan-tab__price{font-size:1rem;font-weight:800;line-height:1.1;white-space:nowrap;text-align:right} .rrs-plan-tab__price small{font-size:.7rem;font-weight:500;opacity:.7} .rrs-plan-tab--active{background:var(--rrs-primary,#1c7a4d)} .rrs-plan-tab--active .rrs-plan-tab__label{opacity:.85} .rrs-plan-tab:not(.rrs-plan-tab--active):hover{background:rgba(0,0,0,.05)} /* Promocje: badge przy nazwie + przekreślone stare ceny */ .rrs-promo-badge{display:inline-block;vertical-align:middle;margin-left:8px;background:#dc2626;color:#fff;font-size:.68rem;font-weight:800;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.04em} .rrs-price-old{opacity:.55;font-size:.9rem;margin-right:8px} .rrs-plan-tab__old{opacity:.55;font-weight:500;font-size:.78rem;margin-right:6px} /* Opis produktu w nagłówku (zamiast ceny, gdy produkt ma warianty) */ .rrs-product-desc{font-size:.85rem;opacity:.75;line-height:1.55;margin:2px 0 16px} .rrs-product-desc p{margin:0 0 8px} .rrs-product-desc p:last-child{margin-bottom:0} /* Warianty produktu (np. Starter/Standard/Pro) — karty z opisem i cechami */ .rrs-variant-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px} .rrs-variant-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:2px solid var(--rrs-border,#e2e8f0);border-radius:var(--rrs-radius-sm,10px);cursor:pointer;transition:border-color .15s,background .15s;position:relative} /* display:none z !important — motyw stylizuje input[type=radio] (18x18) mocniejszym selektorem i przebijał samo opacity/width:0 */ .rrs-variant-card input[type="radio"]{display:none !important} .rrs-variant-card.rrs-variant-card--active,.rrs-variant-card:has(input:checked){border-color:var(--rrs-primary,#1c7a4d);background:rgba(28,122,77,.06)} .rrs-variant-card__name{font-weight:800;font-size:.95rem} .rrs-variant-card__desc{font-size:.78rem;opacity:.7;line-height:1.4} .rrs-variant-card__features{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:.78rem} .rrs-variant-card__features li.is-plus{color:#15803d} .rrs-variant-card__features li.is-minus{opacity:.55;text-decoration:line-through} /* Zwijane uwagi do zamówienia */ .rrs-notes-toggle{width:100%;background:none;border:1px dashed var(--rrs-border,rgba(0,0,0,.25));border-radius:6px;padding:9px 12px;font-size:.8rem;cursor:pointer;color:inherit;opacity:.75;text-align:left} .rrs-notes-toggle:hover{opacity:1;border-style:solid} /* Kontrast: jawne kolory zamiast dziedziczenia z motywu (na jasnych panelach dziedziczony kolor bywał nieczytelnie blady). Selektory scope'owane przez .rrs-checkout/.rrs-plan-selector — muszą przebić ogólne reguły motywu typu ".section_reverse span" */ .rrs-checkout,.rrs-checkout .rrs-plan-tab,.rrs-checkout .rrs-plan-option__name, .rrs-checkout .rrs-plan-option__body,.rrs-checkout .consent, .rrs-plan-selector .rrs-plan-tab__label,.rrs-plan-selector .rrs-plan-tab__price, .rrs-plan-selector .rrs-plan-tab__price small, .rrs-variant-card__name,.rrs-variant-card__desc, .rrs-variant-card__features li{color:var(--rrs-text,#0f172a)} .rrs-plan-selector .rrs-plan-tab--active, .rrs-plan-selector .rrs-plan-tab--active .rrs-plan-tab__label, .rrs-plan-selector .rrs-plan-tab--active .rrs-plan-tab__price, .rrs-plan-selector .rrs-plan-tab--active .rrs-plan-tab__price small{color:#fff} .rrs-checkout--horizontal .rrs-f-half{grid-column:span 1} .rrs-checkout--horizontal .rrs-f-quarter{grid-column:span 1;max-width:140px} .rrs-checkout--horizontal .rrs-f-threequarter{grid-column:span 1} .rrs-checkout--horizontal .order-field label:not(.consent){display:none} /* Kod kierunkowy — zamknięty select dziedziczy z formularza */ .rrs-checkout select#rrs-phone-code { background: inherit; color: inherit; border: inherit; font-family: inherit; font-size: inherit; } /* Opcje w dropdownie — ZAWSZE ciemny tekst na jasnym tle bo dropdown jest renderowany przez OS i nie dziedziczy z dark theme */ .rrs-checkout select#rrs-phone-code option { background-color: #ffffff !important; color: #1a1a1a !important; } /* Synchronizuj select z inputem — kopiuj style inputów jeśli są ustawione */ .rrs-checkout .order-field input, .rrs-checkout .order-field select { box-sizing: border-box; } to niezależny formularz. Możesz wstawić wiele produktów na jednej stronie — np. różne pakiety obok siebie.Starter to jeden produkt (usługowy), bramka PayU i kupony rabatowe. Wystarczy do sprzedaży jednej usługi lub kursu. Jeśli potrzebujesz więcej produktów lub Stripe — wybierz Standard.
Shortcode na stronie, klucze API bramki płatności i możesz przyjmować zamówienia. Porozmawiajmy — pokażę Ci jak to wygląda w praktyce.
Wybierz plan i wypełnij formularz — odezwiemy się w ciągu 24 godzin z potwierdzeniem i danymi do płatności. Po zaksięgowaniu otrzymasz dostęp do repozytorium.