EscolaLMS/payments

View on GitHub
src/Contracts/Payable.php

Summary

Maintainability
A
0 mins
Test Coverage
F
0%
<?php

namespace EscolaLms\Payments\Contracts;

use EscolaLms\Core\Models\User;
use EscolaLms\Payments\Enums\Currency;
use EscolaLms\Payments\Entities\PaymentProcessor;
use Illuminate\Database\Eloquent\Relations\MorphMany;

interface Payable
{
    public function payments(): MorphMany;

    public function getPaymentAmount(): int;
    public function getPaymentCurrency(): ?Currency;
    public function getPaymentDescription(): string;
    public function getPaymentOrderId(): ?string;
    public function getUser(): ?User;

    public function process(): PaymentProcessor;
}