PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.8.0
GiveWP – Donation Plugin and Fundraising Platform v3.8.0
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Framework / PaymentGateways / Webhooks / EventHandlers / Actions / UpdateSubscriptionStatus.php
give / src / Framework / PaymentGateways / Webhooks / EventHandlers / Actions Last commit date
UpdateDonationStatus.php 2 years ago UpdateSubscriptionStatus.php 2 years ago
UpdateSubscriptionStatus.php
74 lines
1 <?php
2
3 namespace Give\Framework\PaymentGateways\Webhooks\EventHandlers\Actions;
4
5 use Exception;
6 use Give\Framework\PaymentGateways\Log\PaymentGatewayLog;
7 use Give\Subscriptions\Models\Subscription;
8 use Give\Subscriptions\ValueObjects\SubscriptionStatus;
9
10 /**
11 * @since 3.6.0
12 */
13 class UpdateSubscriptionStatus
14 {
15 /**
16 * @since 3.6.0
17 *
18 * @throws Exception
19 */
20 public function __invoke(
21 Subscription $subscription,
22 SubscriptionStatus $status,
23 string $message = ''
24 ) {
25 $subscription->status = $status;
26 $subscription->save();
27
28 if (empty($message)) {
29 $message = $this->getMessageFromStatus($status);
30 }
31
32 PaymentGatewayLog::info(
33 $message . ' ' . sprintf('Subscription ID: %s.', $subscription->id),
34 [
35 'Payment Gateway' => $subscription->gatewayId,
36 'Gateway Subscription Id' => $subscription->gatewaySubscriptionId,
37 'Subscription ID' => $subscription->id,
38 ]
39 );
40 }
41
42
43 /**
44 * @since 3.6.0
45 */
46 protected function getMessageFromStatus(SubscriptionStatus $status): string
47 {
48 $message = '';
49
50 switch (true):
51 case ($status->isCompleted()):
52 $message = __('Subscription Completed.', 'give');
53 break;
54 case ($status->isExpired()):
55 $message = __('Subscription Expired.', 'give');
56 break;
57 case ($status->isActive()):
58 $message = __('Subscription Active.', 'give');
59 break;
60 case ($status->isCancelled()):
61 $message = __('Subscription Cancelled.', 'give');
62 break;
63 case ($status->isFailing()):
64 $message = __('Subscription Failing.', 'give');
65 break;
66 case ($status->isSuspended()):
67 $message = __('Subscription Suspended.', 'give');
68 break;
69 endswitch;
70
71 return $message;
72 }
73 }
74