Issues (193)

UpdateFromTransactionNotification.php (1 issue)

1
<?php
2
3
namespace ByTIC\Payments\Actions\Subscriptions;
4
5
use ByTIC\Payments\Actions\Subscriptions\Charges\ChargedSuccessfully;
6
use ByTIC\Payments\Models\Subscriptions\Subscription;
7
use ByTIC\Payments\Models\Transactions\Statuses\Active;
8
use ByTIC\Payments\Models\Transactions\Transaction;
9
use ByTIC\Payments\Subscriptions\Statuses\Active as SubscriptionActive;
10
use ByTIC\Payments\Subscriptions\Statuses\Canceled;
11
use ByTIC\Payments\Subscriptions\Statuses\Completed;
12
use ByTIC\Payments\Subscriptions\Statuses\NotStarted;
13
14
/**
15
 * Class UpdateFromTransactionToken
16
 * @package ByTIC\Payments\Actions\Subscriptions
17
 */
18
class UpdateFromTransactionNotification
19
{
20
    /**
21
     * @param Subscription $subscription
22
     * @param Transaction $transaction
23
     */
24
    public static function handle($subscription, $transaction)
25
    {
26
        $status = $subscription->getStatus();
27
28
        if ($status instanceof Canceled || $status instanceof Completed) {
29
            return;
30
        }
31
32
        if ($status instanceof NotStarted) {
33
            static::handleNotStarted($subscription, $transaction);
34
            return;
35
        }
36
37
        if ($status instanceof SubscriptionActive) {
38
            static::handleActive($subscription, $transaction);
39
            return;
40
        }
41
    }
42
43
    /**
44
     * @param Subscription $subscription
45
     * @param Transaction $transaction
46
     */
47
    protected static function handleNotStarted($subscription, $transaction)
48
    {
49
        if ($transaction->getStatus() instanceof Active) {
50
            StartSubscription::handle($subscription);
51
            return;
52
        }
53
        // @todo logic for when transaction errors
54
    }
55
56
    /**
57
     * @param Subscription $subscription
58
     * @param Transaction $transaction
59
     */
60
    protected static function handleActive($subscription, $transaction)
0 ignored issues
show
The parameter $subscription is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

60
    protected static function handleActive(/** @scrutinizer ignore-unused */ $subscription, $transaction)

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
61
    {
62
        if ($transaction->getStatus() instanceof Active) {
63
//            ChargedSuccessfully::handle($subscription);
64
            return;
65
        }
66
    }
67
}
68