---
title: "Refundácie a chargebacky — Purchases for Laravel | Roundly"
description: "Refundácie a spory z Apple, Google a Stripe sa dekódujú do záznamov PurchaseRefund prepojených s nákupom, ktorý rušia."
url: https://roundly-consulting.com/sk/open-source/navody/purchases-for-laravel/refundacie-a-chargebacky
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)

# Refundácie a chargebacky

Notifikácie o refundácii a spore z každého obchodu sa dekódujú do výsledku ResultType::Refund a ukladajú sa ako plnohodnotný PurchaseRefund:

| Obchod | Notifikácia | Uloží sa ako |
| --- | --- | --- |
| Apple | REFUND, REVOKE | Jedna refundácia na každú refundovanú transakciu (kľúčovaná podľa jej transactionId) — refundácia aktuálneho obdobia predplatného prepne aj Subscription na Refunded |
| Google | RTDN o zrušení predplatného, notifikácia o stornovanom nákupe | Refundácia — zrušené predplatné alebo storno jeho poslednej objednávky ho prepne na Refunded; čiastočné storno podľa množstva ponechá nákup v stave Completed |
| Stripe | charge.refunded | Jedna refundácia na platbu (kľúčovaná podľa PaymentIntent), ktorej cena je priebežne vrátený súčet — nie úplne refundovaná platba ponechá nákup v stave Completed |
| Stripe | charge.dispute.created | Chargeback kľúčovaný podľa id sporu |
| Stripe | charge.dispute.closed s výsledkom won | Ten istý záznam chargebacku sa zvráti a prepojený nákup sa obnoví (PurchaseCompleted) — len nákup, ktorý balík uložil; nový nikdy nevznikne |
| Stripe | Otázky (warning\_\*), charge.dispute.updated | Len audit — nič sa nezmení |

handle() uloží refundáciu idempotentne, prepojí ju s pôvodným nákupom (párovaným podľa poskytovateľa a identifikátora transakcie alebo identifikátora u poskytovateľa), prepne tento nákup na Status::Refunded a spustí PurchaseRefunded, pri sporoch ChargebackReceived. Refundácia aktuálneho obdobia predplatného — transakcie Apple, v ktorej predplatné práve je, alebo jeho poslednej objednávky v Google — a zrušené predplatné Google prepnú na Refunded aj Subscription, takže prestane byť aktívne; refundácia staršieho obdobia ho nechá tak. Každá refundovaná transakcia Apple má vlastný PurchaseRefund, takže refundácie dvoch období sú dva záznamy a dve udalosti. refunded\_at je pri Apple revocationDate, pri Stripe a Google — ktoré dátum refundácie neuvádzajú — čas udalosti refundácie. Čiastočná refundácia (platba v Stripe, ktorá nie je refundovaná celá, čiastočné storno podľa množstva v Google) sa uloží a spustí PurchaseRefunded, nákup však ponechá v stave Completed:

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

$purchase->refunds;                    // HasMany<PurchaseRefund>
$purchase->status;                     // Status::Refunded once a refund is matched

PurchaseRefund::chargebacks()->get();  // disputes only

$refund->chargeback;                   // bool
$refund->reason;                       // ?string
$refund->price;                        // ?Money — the refunded amount
$refund->refunded_at;                  // ?Carbon
$refund->purchase;                     // the Purchase it reverses, when matched
```

reason obsahuje to, čo nahlási obchod — pole reason zo Stripe, typ notifikácie Apple, typ refundácie alebo názov notifikácie Google. Pomerná refundácia Apple zaznamená len vrátenú časť; odvolanie cez Family Sharing nezaznamená žiadnu sumu.

## Refundácie Stripe sú priebežný súčet

Všetky refundácie jednej platby v Stripe zdieľajú jeden PurchaseRefund kľúčovaný podľa jej PaymentIntent a jeho cena je kumulatívna suma amount\_refunded danej platby. Každá ďalšia čiastočná refundácia znova spustí PurchaseRefunded s novým súčtom, nie so sumou tejto refundácie — $event->refund->price preto naprieč udalosťami nikdy nesčítavajte; čítajte ho ako „doteraz vrátené“. Záznam refundácie Apple predstavuje jednu refundovanú transakciu, záznam Google jednu stornovanú objednávku.

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