---
title: "Fronta, auditný log a replay — Purchases for Laravel | Roundly"
description: "Ukladajte overené notifikácie cez frontu, veďte auditný log každého payloadu a znova ho spracujte príkazom purchases:replay."
url: https://roundly-consulting.com/sk/open-source/navody/purchases-for-laravel/fronta-audit-a-replay
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Purchases for Laravel](https://roundly-consulting.com/sk/open-source/navody/purchases-for-laravel.md)

# Fronta, auditný log a replay

## Spracovanie na pozadí

Nastavte PURCHASES\_QUEUE\_ENABLED=true, ak chcete overovať synchrónne, no ukladať cez frontu. Webhook aj tak odpovie 204 okamžite; úloha ProcessProviderNotification uloží výsledok na nakonfigurovanom spojení a fronte a označí auditný záznam ako spracovaný. Predvolená je synchrónna cesta:

```bash
PURCHASES_QUEUE_ENABLED=true
PURCHASES_QUEUE_CONNECTION=redis
PURCHASES_QUEUE_NAME=purchases
```

So zapnutou frontou vracia handle() PurchaseNotification, ktorý opisuje, čo sa zaradilo do fronty — alebo neuložený zástupný objekt, ak je auditný log vypnutý.

## Auditný log

Pri PURCHASES\_AUDIT\_ENABLED=true (predvolene) sa každá overená notifikácia uloží do purchase\_notifications — poskytovateľ, typ, príznak overeného podpisu, snapshot normalizovaného výsledku a pôvodného payloadu a processed\_at — ešte predtým, než sa premietne do stavu modelov. Rovnako aj každý výsledok odovzdaný do Purchases::sync(), so signature\_verified false a pôvodom host, pretože ho balík nikdy neoveroval (vyhľadáte ho cez where('payload->origin', 'host')):

```php
use RoundlyConsulting\Purchases\Models\PurchaseNotification;

PurchaseNotification::forProvider('apple')->pending()->get();   // recorded, not yet processed

$notification->provider;             // 'apple'
$notification->type;                 // 'subscription', 'purchase', 'refund' …
$notification->signature_verified;   // bool — false for a sync() row
$notification->origin();             // NotificationOrigin::Provider, or ::Host for a sync() row
$notification->payload;              // Collection — the stored snapshot
$notification->processed_at;         // ?Carbon
```

## Replay

purchases:replay vyberie uložené notifikácie a každú znova spracuje cez Purchases::replay() — vrátane udalostí —, takže sa zotavíte z chyby v nadväzujúcom kroku bez čakania, kým obchod niečo pošle znova. Notifikáciu, ktorú spracovať nesmie alebo nemôže (notifikácia poskytovateľa s neovereným podpisom alebo snapshot, ktorý sa už nedá obnoviť), vypíše ako preskočenú a pokračuje ďalej; záznamy z sync() sa spracujú:

```bash
php artisan purchases:replay                      # every stored notification
php artisan purchases:replay 42                   # a single notification by id
php artisan purchases:replay --provider=stripe    # one provider
php artisan purchases:replay --since=2026-01-01   # recorded on or after a date
```

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/purchases-for-laravel.md)
