PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.0.4
GiveWP – Donation Plugin and Fundraising Platform v3.0.4
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 / CommandHandlers / SubscriptionProcessingHandler.php
give / src / Framework / PaymentGateways / CommandHandlers Last commit date
PaymentAbandonedHandler.php 4 years ago PaymentCompleteHandler.php 4 years ago PaymentHandler.php 4 years ago PaymentPendingHandler.php 2 years ago PaymentProcessingHandler.php 4 years ago PaymentRefundedHandler.php 4 years ago RedirectOffsiteHandler.php 4 years ago RespondToBrowserHandler.php 4 years ago SubscriptionCompleteHandler.php 4 years ago SubscriptionProcessingHandler.php 3 years ago SubscriptionSyncedHandler.php 2 years ago
SubscriptionProcessingHandler.php
67 lines
1 <?php
2
3 namespace Give\Framework\PaymentGateways\CommandHandlers;
4
5 use Exception;
6 use Give\Donations\Models\Donation;
7 use Give\Donations\ValueObjects\DonationStatus;
8 use Give\Framework\PaymentGateways\Commands\SubscriptionProcessing;
9 use Give\Subscriptions\Models\Subscription;
10 use Give\Subscriptions\ValueObjects\SubscriptionStatus;
11
12 /**
13 * @since 2.23.2
14 */
15 class SubscriptionProcessingHandler
16 {
17 /**
18 * @since 2.23.2
19 * @var SubscriptionProcessing
20 */
21 private $subscriptionComplete;
22 /**
23 * @since 2.23.2
24 * @var Subscription
25 */
26 private $subscription;
27 /**
28 * @since 2.23.2
29 * @var Donation
30 */
31 private $donation;
32
33 /**
34 * @since 2.23.2
35 */
36 public function __construct(
37 SubscriptionProcessing $subscriptionComplete,
38 Subscription $subscription,
39 Donation $donation
40 ) {
41 $this->subscriptionComplete = $subscriptionComplete;
42 $this->subscription = $subscription;
43 $this->donation = $donation;
44 }
45
46 /**
47 * @since 2.23.2
48 * @return void
49 * @throws Exception
50 */
51 public function __invoke()
52 {
53 $this->donation->status = DonationStatus::PROCESSING();
54 $this->subscription->status = SubscriptionStatus::PENDING();
55 $this->subscription->gatewaySubscriptionId = $this->subscriptionComplete->gatewaySubscriptionId;
56
57 // Only save no-empty gateway transaction ids.
58 if ($this->subscriptionComplete->gatewayTransactionId) {
59 $this->donation->gatewayTransactionId = $this->subscriptionComplete->gatewayTransactionId;
60 $this->subscription->transactionId = $this->subscriptionComplete->gatewayTransactionId;
61 }
62
63 $this->donation->save();
64 $this->subscription->save();
65 }
66 }
67