PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.19.4
GiveWP – Donation Plugin and Fundraising Platform v3.19.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 / SubscriptionModule.php
give / src / Framework / PaymentGateways Last commit date
Actions 2 years ago CommandHandlers 2 years ago Commands 2 years ago Contracts 1 year ago Controllers 2 years ago DataTransferObjects 3 years ago Exceptions 4 years ago Log 4 years ago Routes 3 years ago Traits 2 years ago Webhooks 1 year ago DonationSummary.php 3 years ago PaymentGateway.php 1 year ago PaymentGatewayRegister.php 2 years ago SubscriptionModule.php 1 year ago
SubscriptionModule.php
76 lines
1 <?php
2
3 namespace Give\Framework\PaymentGateways;
4
5 use Give\Framework\PaymentGateways\Contracts\Subscription\SubscriptionAmountEditable;
6 use Give\Framework\PaymentGateways\Contracts\Subscription\SubscriptionDashboardLinkable;
7 use Give\Framework\PaymentGateways\Contracts\Subscription\SubscriptionPausable;
8 use Give\Framework\PaymentGateways\Contracts\Subscription\SubscriptionPaymentMethodEditable;
9 use Give\Framework\PaymentGateways\Contracts\Subscription\SubscriptionResumable;
10 use Give\Framework\PaymentGateways\Contracts\Subscription\SubscriptionTransactionsSynchronizable;
11 use Give\Framework\PaymentGateways\Contracts\SubscriptionModuleInterface;
12 use Give\Framework\PaymentGateways\Traits\HasRouteMethods;
13
14 /**
15 * @since 2.20.0
16 *
17 * @template G
18 */
19 abstract class SubscriptionModule implements SubscriptionModuleInterface
20 {
21 use HasRouteMethods;
22
23 /**
24 * @var G
25 */
26 protected $gateway;
27
28 /**
29 * @param G $gateway
30 */
31 public function setGateway(PaymentGateway $gateway)
32 {
33 $this->gateway = $gateway;
34 }
35
36 /**
37 * @since 3.17.0
38 */
39 public function canPauseSubscription(): bool
40 {
41 return $this instanceof SubscriptionPausable;
42 }
43
44 /**
45 * @inheritDoc
46 */
47 public function canSyncSubscriptionWithPaymentGateway(): bool
48 {
49 return $this instanceof SubscriptionTransactionsSynchronizable;
50 }
51
52 /**
53 * @inheritDoc
54 */
55 public function canUpdateSubscriptionAmount(): bool
56 {
57 return $this instanceof SubscriptionAmountEditable;
58 }
59
60 /**
61 * @inheritDoc
62 */
63 public function canUpdateSubscriptionPaymentMethod(): bool
64 {
65 return $this instanceof SubscriptionPaymentMethodEditable;
66 }
67
68 /**
69 * @since 2.21.2
70 */
71 public function hasGatewayDashboardSubscriptionUrl(): bool
72 {
73 return $this instanceof SubscriptionDashboardLinkable;
74 }
75 }
76