PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.19.3
GiveWP – Donation Plugin and Fundraising Platform v2.19.3
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 / CommandHandlers / SubscriptionCompleteHandler.php
give / src / Framework / PaymentGateways / CommandHandlers Last commit date
PaymentAbandonedHandler.php 4 years ago PaymentCompleteHandler.php 4 years ago PaymentHandler.php 4 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
SubscriptionCompleteHandler.php
60 lines
1 <?php
2
3 namespace Give\Framework\PaymentGateways\CommandHandlers;
4
5 use Give\Framework\PaymentGateways\Commands\SubscriptionComplete;
6 use Give_Subscription;
7 use Give_Subscriptions_DB;
8
9 class SubscriptionCompleteHandler {
10 /**
11 * @since 2.18.0
12 *
13 * @param SubscriptionComplete $subscriptionComplete
14 * @param int $subscriptionId
15 * @param int $donationId
16 * @return void
17 */
18 public function __invoke(SubscriptionComplete $subscriptionComplete, $subscriptionId, $donationId)
19 {
20 give_update_payment_status($donationId);
21 give_set_payment_transaction_id($donationId, $subscriptionComplete->gatewayTransactionId);
22
23 if (function_exists('give_recurring_update_subscription_status') && class_exists('Give_Subscriptions_DB')) {
24 give_recurring_update_subscription_status($subscriptionId, 'active');
25
26 $subscription = $this->getSubscription($subscriptionId);
27
28 $subscription->update([
29 'profile_id' => $subscriptionComplete->gatewaySubscriptionId,
30 'transaction_id' => $subscriptionComplete->gatewayTransactionId
31 ]);
32 }
33 }
34
35 /**
36 * @since 2.18.0
37 *
38 * @return Give_Subscriptions_DB
39 */
40 private function subscriptions()
41 {
42 /**
43 * @var Give_Subscriptions_DB $subscriptions
44 */
45 return give(Give_Subscriptions_DB::class);
46 }
47
48 /**
49 * @since 2.18.0
50 *
51 * @param int $subscriptionId
52 *
53 * @return Give_Subscription
54 */
55 private function getSubscription($subscriptionId)
56 {
57 return current($this->subscriptions()->get_subscriptions(['id' => $subscriptionId]));
58 }
59 }
60