PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.16.9
GiveWP – Donation Plugin and Fundraising Platform v4.16.9
4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 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 All 255 releases
give / src / Framework / PaymentGateways / SubscriptionModule.php

SubscriptionModule.php in GiveWP – Donation Plugin and Fundraising Platform 4.16.9, at src/Framework/PaymentGateways/SubscriptionModule.php

76 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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