[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"technology-pl-stripe":3,"technology-projects-pl-stripe":34,"mdc-gvh8y6-key":81},{"id":4,"title":5,"category":6,"content":7,"description":8,"extension":9,"faq":10,"icon":17,"links":18,"meta":27,"projects":28,"since":30,"stem":31,"updated":32,"__hash__":33},"technologies_pl\u002Fpl\u002Ftechnologies\u002Fstripe.yml","Stripe","tools","Stripe udostępnia usługi płatności i subskrypcji. Integruję go z VetSpace przez Laravel Cashier, a także pracuję nad płatnościami kartą w komercyjnej platformie sprzedaży biletów.\n\n## Subskrypcje i składanie zamówień\n\nPraca obejmuje okresy próbne, zmiany planów, potwierdzanie płatności i obsługę nieudanych obciążeń. Cashier zapewnia integrację z Laravel, a szczegóły rozliczeń zależą od ustawień Stripe i reguł aplikacji. Interfejs powinien jasno pokazywać oczekiwanie, powodzenie i błąd płatności.\n\n## Obsługa webhooków\n\nPowrót użytkownika ze strony płatności nie potwierdza zapłaty. Obsługa webhooków musi sprawdzać podpis, uwzględniać duplikaty i zmienioną kolejność zdarzeń, a w razie potrzeby uzgadniać stan przez Stripe API. Idempotentna obsługa zapobiega ponownemu wykonaniu tej samej operacji biznesowej.\n\n## Utrzymanie logiki płatności\n\nMam również doświadczenie z integracjami Dalenys i Revolut. Tam, gdzie to praktyczne, oddzielam specyfikę operatora od procesów zamówień i subskrypcji. Operatorzy mają różne możliwości, więc dodanie kolejnego nadal wymaga testów stanów i błędów. Ważne, aby dało się prześledzić przebieg płatności, gdy klient zgłosi problem.\n","Integracja Stripe dla SaaS i sprzedaży biletów: subskrypcje Laravel Cashier, stany płatności i niezawodna obsługa webhooków.","yml",[11,14],{"label":12,"content":13},"Czy możesz dodać subskrypcje Stripe do istniejącej aplikacji Laravel?","Tak. Praca obejmuje integrację Cashier, produkty i ceny Stripe, obsługę webhooków oraz testy cyklu subskrypcji. Okresy próbne i działania po nieudanej płatności są dopasowywane do produktu.",{"label":15,"content":16},"Czy pracujesz z innymi operatorami płatności?","Mam również doświadczenie z Dalenys i Revolut. Każda integracja wymaga osobnych kontroli stanów płatności, uwierzytelniania i obsługi błędów.","i-simple-icons-stripe",[19,24],{"label":20,"to":21,"color":22,"icon":23},"stripe.com","https:\u002F\u002Fstripe.com","neutral","i-heroicons-arrow-top-right-on-square",{"label":25,"to":26,"color":22,"icon":23},"Dokumentacja techniczna","https:\u002F\u002Fdocs.stripe.com\u002Fwebhooks",{},[29],"vetspace","2021","pl\u002Ftechnologies\u002Fstripe","2026-09-20","Hs25-UeEnpmS4A1mnjRahEX2X1ep4qIv8z7qvxzLCIQ",[35],{"id":36,"title":37,"content":38,"date":39,"description":40,"extension":9,"featured":41,"image":42,"links":43,"meta":58,"stack":59,"stem":76,"tags":77,"url":46,"__hash__":80},"projects_pl\u002Fpl\u002Fprojects\u002Fvetspace.yml","VetSpace","Dwustronna platforma weterynaryjna — katalog SEO klinik i CRM oparty na subskrypcji z wizytami i rekordami pacjentów. Publiczny katalog klinik zbudowany pod kątem pozyskiwania klientów przez SEO oraz CRM oparty na subskrypcji (wizyty, rekordy pacjentów) jako osobne aplikacje Vue\u002FNuxt na jednym API Laravel. Architektura database-per-tenant, subskrypcje Stripe przez Cashier, GraphQL + REST oraz analiza wizyt wspomagana AI przez dedykowany mikroserwis w Go.\n\n## Kluczowe funkcje\n\n- **Dwustronny lejek** - katalog SEO pozyskuje kliniki, a CRM w subskrypcji (wizyty, rekordy pacjentów) je utrzymuje\n- **Prawdziwa izolacja tenantów** - database-per-tenant trzyma dane każdej kliniki osobno, a eksport\u002Fusuwanie GDPR to operacja na bazie\n- **Dwa interfejsy API** - GraphQL dla złożonych zapytań katalogu, REST dla CRM — jedna baza kodu Laravel\n- **Billing od ręki** - subskrypcje Stripe przez Cashier: triale, zmiany planów, dunning\n- **AI tam, gdzie pomaga** - analizę wizyt wykonuje dedykowany mikroserwis w Go, nie obciążając głównego API\n\n## Stos technologiczny\n\n- **Backend**: Laravel (API)\n- **Frontend**: Vue\u002FNuxt (osobne aplikacje)\n- **Architektura**: Multi-tenancy database-per-tenant\n- **Płatności**: Stripe przez Cashier\n- **API**: GraphQL + REST\n- **AI**: Mikroserwis Go do analizy wizyt\n","2026-09-19","Dwustronna platforma weterynaryjna — katalog SEO klinik i CRM oparty na subskrypcji z wizytami i rekordami pacjentów",true,"\u002Fhero\u002Fvetspace.avif",[44,48,52,55],{"label":45,"to":46,"color":47,"icon":23},"Live Demo","https:\u002F\u002Fvetspace.pro","primary",{"label":49,"to":50,"color":22,"icon":51},"Przegląd API","https:\u002F\u002Fgithub.com\u002FYurij2015\u002Fvetspace-api","i-simple-icons-github",{"label":53,"to":54,"color":22,"icon":51},"Przegląd frontendu","https:\u002F\u002Fgithub.com\u002FYurij2015\u002Fvetspace-frontend",{"label":56,"to":57,"color":22,"icon":51},"Przegląd VetCard","https:\u002F\u002Fgithub.com\u002FYurij2015\u002Fvetspace-vetcard",{},[60,63,66,69,70,73],{"name":61,"icon":62},"Laravel","i-simple-icons-laravel",{"name":64,"icon":65},"Vue","i-simple-icons-vuedotjs",{"name":67,"icon":68},"Nuxt","i-simple-icons-nuxtdotjs",{"name":5,"icon":17},{"name":71,"icon":72},"GraphQL","i-simple-icons-graphql",{"name":74,"icon":75},"AI","i-heroicons-sparkles","pl\u002Fprojects\u002Fvetspace",[78,61,64,79,5,74],"SaaS","Multi-tenant","xvJ2gsG93A4aTrZYPgp4UuQdQsPe-Ae8ups9tasKAD8",{"data":82,"body":83},{},{"type":84,"children":85},"root",[86,94,101,106,112,117,123],{"type":87,"tag":88,"props":89,"children":90},"element","p",{},[91],{"type":92,"value":93},"text","Stripe udostępnia usługi płatności i subskrypcji. Integruję go z VetSpace przez Laravel Cashier, a także pracuję nad płatnościami kartą w komercyjnej platformie sprzedaży biletów.",{"type":87,"tag":95,"props":96,"children":98},"h2",{"id":97},"subskrypcje-i-składanie-zamówień",[99],{"type":92,"value":100},"Subskrypcje i składanie zamówień",{"type":87,"tag":88,"props":102,"children":103},{},[104],{"type":92,"value":105},"Praca obejmuje okresy próbne, zmiany planów, potwierdzanie płatności i obsługę nieudanych obciążeń. Cashier zapewnia integrację z Laravel, a szczegóły rozliczeń zależą od ustawień Stripe i reguł aplikacji. Interfejs powinien jasno pokazywać oczekiwanie, powodzenie i błąd płatności.",{"type":87,"tag":95,"props":107,"children":109},{"id":108},"obsługa-webhooków",[110],{"type":92,"value":111},"Obsługa webhooków",{"type":87,"tag":88,"props":113,"children":114},{},[115],{"type":92,"value":116},"Powrót użytkownika ze strony płatności nie potwierdza zapłaty. Obsługa webhooków musi sprawdzać podpis, uwzględniać duplikaty i zmienioną kolejność zdarzeń, a w razie potrzeby uzgadniać stan przez Stripe API. Idempotentna obsługa zapobiega ponownemu wykonaniu tej samej operacji biznesowej.",{"type":87,"tag":95,"props":118,"children":120},{"id":119},"utrzymanie-logiki-płatności",[121],{"type":92,"value":122},"Utrzymanie logiki płatności",{"type":87,"tag":88,"props":124,"children":125},{},[126],{"type":92,"value":127},"Mam również doświadczenie z integracjami Dalenys i Revolut. Tam, gdzie to praktyczne, oddzielam specyfikę operatora od procesów zamówień i subskrypcji. Operatorzy mają różne możliwości, więc dodanie kolejnego nadal wymaga testów stanów i błędów. Ważne, aby dało się prześledzić przebieg płatności, gdy klient zgłosi problem."]