NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Open source

Purchases for Laravel

Inštalácia
composer require roundly-consulting/purchases-for-laravel
Vyžaduje: PHP ^8.4 · Laravel ^12.0|^13.0

Prehľad

Jednotná sada nástrojov pre in-app nákupy a platby v Laraveli: jedno API pre nákupy a predplatné z Apple App Store, Google Play a Stripe. Podpísané dáta každého obchodu natívne overí, dekóduje do jedného výsledku nezávislého od poskytovateľa, uloží ako Eloquent modely a spustí udalosti životného cyklu, na ktoré môžete reagovať — vrátane refundácií, chargebackov a obdobia odkladu platby (grace period). Balík je pod licenciou MIT a stojí len na HTTP klientovi Laravelu a vlastných balíkoch Roundly pre kryptografiu, enumy a peniaze — bez stripe/stripe-php, bez google/apiclient, bez SDK tretích strán.

Čo získate

Jedno API, tri obchody

Apple App Store, Google Play a Stripe za jednou fasádou Purchases — overenie, dekódovanie a uloženie jedným volaním.

Natívne overovanie

ES256 JWS s pripnutými certifikátmi Apple, OAuth2 JWT-bearer grant pre Google a HMAC webhooky Stripe — bez SDK.

Jednotný výsledok

Každý payload sa mapuje na jeden ProviderResult: typ, stav, cena, dátumy, položky aj pôvodné dáta.

Modely, scopy a udalosti

Nákupy, predplatné a refundácie ako Eloquent modely s udalosťami životného cyklu vrátane obdobia odkladu a chargebackov.

Presné peniaze

Ceny ako Money s ľubovoľnou presnosťou v najmenších jednotkách meny, prevedené podľa pravidiel každého obchodu.

Audit, fronta a replay

Zaznamenajte každý overený payload, ukladajte cez frontu a uložené notifikácie znova spracujte jedným príkazom.

Fasáda, DI alebo akcie

Jedna fasáda Purchases nad injektovateľným PurchasesManager a verejnými akciami, plus zaznamenávajúci fake, v ktorom beží skutočný pipeline.

Dokumentácia

Inštalácia

Inštalácia cez Composer, publikovanie migrácií (len cez publish) a voliteľne konfigurácie a súboru webhook rout.

Konfigurácia

Každý konfiguračný kľúč a env premenná — modely, poskytovatelia, audit, fronta, webhook routy a prístupové údaje Apple, Google a Stripe.

Fasáda Purchases

Všetky metódy fasády Purchases — result() a handle() pre požiadavky, sync() a replay() pre hotové výsledky, for($owner) a vyhľadanie poskytovateľov.

DI a akcie

Namiesto fasády injektujte PurchasesManager alebo spustite akciu za handle(), sync() či replay() — vždy beží ten istý kód.

Jednotný výsledok

Každý poskytovateľ sa mapuje na jeden ProviderResult — typ, stav, identifikátory, cena, dátumy, položky a pôvodný payload obchodu.

Ukladanie výsledkov

Ako handle(), sync() a replay() premenia výsledok na Purchase, Subscription alebo PurchaseRefund — s auditom, idempotentne, udalosti len pri zmene.

Udalosti

Desať udalostí životného cyklu — nákupy, predplatné, obdobie odkladu, refundácie a chargebacky — každá nesie model aj výsledok.

Modely a trait vlastníka

Šesť vymeniteľných Eloquent modelov, trait HasPurchases pre vlastníka, scopy a pomocníky predplatného a databázová schéma.

Peniaze a ceny

Ceny ako Money z money-for-laravel s ľubovoľnou presnosťou, uložené v dvoch stĺpcoch a presne prevedené z formátu každého obchodu.

Refundácie a chargebacky

Refundácie a spory z Apple, Google a Stripe sa dekódujú do záznamov PurchaseRefund prepojených s nákupom, ktorý rušia.

Apple App Store

Overujte podpísané serverové notifikácie App Store, vyhľadávajte transakcie cez App Store Server API a mapujte stavy Apple.

Google Play

Overujte jednorazové produkty a nákupy subscriptionsv2, automaticky ich potvrdzujte a dekódujte real-time developer notifikácie.

Stripe

Overujte podpisy webhookov Stripe natívne, mapujte udalosti platieb, predplatného, faktúr a sporov a čítajte REST objekty.

Overovanie podpisov a dôvera

Ako sa overuje podpis každého obchodu — primitíva z crypto-for-laravel, pripnuté certifikáty Apple a validovaná tolerancia posunu hodín.

Webhook routy

Voliteľný endpoint POST /purchases/webhooks/{provider}, ktorý overí, uloží, spustí udalosti a odpovie 204.

Fronta, auditný log a replay

Ukladajte overené notifikácie cez frontu, veďte auditný log každého payloadu a znova ho spracujte príkazom purchases:replay.

Vlastní poskytovatelia

Pridajte vlastného platobného poskytovateľa implementáciou kontraktu Provider a vrátením GenericResult.

Enumy a výnimky

Enumy Status a ResultType s pomocníkmi pre výberové zoznamy a validáciu, ako aj typy výnimiek balíka.

Artisan príkazy

Inštalujte a nastavte poskytovateľov, vypíšte ich pripravenosť, overte prístupové údaje priamo v obchodoch a znova spracujte notifikácie.

Testovanie

Testujte nákupné toky bez skutočných platieb a sieťových volaní — Purchases::fake() zaznamená handle(), sync() aj replay(); FakeResult a PayloadFactory.

Požiadavky

PHP 8.4+ s ext-bcmath, Laravel 12 alebo 13 a balíky Roundly pre kryptografiu, enumy a peniaze — bez SDK tretích strán.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.