---
title: "Platba kreditom v obchode — Shops for Laravel | Roundly"
description: "Kupujúci zaplatia celú objednávku alebo jej časť z kreditu v mene objednávky a refundácie sa môžu vrátiť ako kredit."
url: https://roundly-consulting.com/sk/open-source/navody/shops-for-laravel/platba-kreditom
language: sk
---

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

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

# Platba kreditom v obchode

S balíkom credits-for-laravel môžu kupujúci zaplatiť celú objednávku alebo jej časť zo skupiny kreditov v mene objednávky. Priraďte skupine menu a zapnite platbu kreditom:

```php
// config/credits.php — denominate the bucket in your shop currency (one bucket per currency)
'currencies' => ['store_credit' => 'EUR'],
```

```bash
SHOPS_ALLOW_STORE_CREDIT=true
SHOPS_STORE_CREDIT_BUCKET=store_credit
SHOPS_REFUND_TO_STORE_CREDIT=false
```

Model kupujúceho musí implementovať RoundlyConsulting\\Credits\\Interfaces\\Creditable z balíka credits a používať jeho trait HasCredits — samotný trait nestačí: objednávka, ktorej zákazník nie je Creditable, sa celá zaplatí cez bránu bez uplatnenia kreditu:

```php
use Illuminate\Foundation\Auth\User as Authenticatable;
use RoundlyConsulting\Credits\Interfaces\Creditable;
use RoundlyConsulting\Credits\Traits\HasCredits;

class User extends Authenticatable implements Creditable
{
    use HasCredits;
}
```

## Uplatnenie kreditu

Pri zapnutom allow\_store\_credit Shops::order($order)->charge() najprv strhne dostupný kredit a platobnej bráne pošle len zvyšok ($order->gatewayAmount()). Objednávka, ktorú kredit pokryje celú, sa označí ako zaplatená bez platby cez bránu:

```php
use RoundlyConsulting\Money\Money;
use RoundlyConsulting\Shops\Facades\Shops;
use RoundlyConsulting\Shops\Payments\StoreCreditTender;

// Automatic: with allow_store_credit on, credit goes first and the gateway gets the rest.
$result = Shops::order($order)->charge();

// Or apply it yourself (once per order):
$owed = app(StoreCreditTender::class)->apply($order, $customer);                              // as much as possible
$owed = app(StoreCreditTender::class)->apply($order, $customer, Money::ofMinor(500, 'EUR')); // or cap the debit

$order->store_credit_applied;   // ?Money, in the order currency
$order->gatewayAmount();        // what is still due through the gateway

app(StoreCreditTender::class)->restore($order);   // ?Money — hand it back (cancel() does this)
```

- apply() strhne najmenšiu z hodnôt: sumu objednávky, zostatok skupiny a váš strop, zapíše ju do store\_credit\_applied a vráti, čo zostáva zaplatiť — v jednej transakcii.
- Nulová uplatniteľná suma nič nezmení a vráti celú sumu.
- Zamietnutá platba si zo strhnutého kreditu nič neponechá — celá platba sa vráti späť — a zrušenie objednávky vráti kredit, ktorý na ňu bol uplatnený, aj ten, ktorý ste uplatnili sami cez apply(). restore() ho vráti na požiadanie; druhé volanie už nevráti nič.
- StoreCreditAlreadyAppliedException — kredit už bol na objednávku uplatnený (overuje sa znova pod zámkom riadku objednávky).
- StoreCreditBucketNotDenominated — skupina nemá menu v credits.currencies.
- StoreCreditCurrencyMismatch — skupina je v inej mene. Všetky tri výnimky nastanú skôr, než sa kredit pohne.

## Refundácia ako kredit

Pri zapnutom payment.refund\_to\_store\_credit listener GrantStoreCreditOnRefund pri refundácii objednávky pripíše celú jej konečnú cenu späť do skupiny — preto refundáciu cez bránu vynechajte, inak kupujúci dostane peniaze dvakrát. Bez zákazníka typu Creditable alebo pri nekladnej sume neurobí nič; skupinu bez meny alebo v inej mene preskočí s Log::warning() namiesto výnimky, pretože refundácia už prebehla.

## 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/shops-for-laravel.md)
