gateway = $gateway; } /** * @since 3.17.0 */ public function canPauseSubscription(): bool { return $this instanceof SubscriptionPausable; } /** * @inheritDoc */ public function canSyncSubscriptionWithPaymentGateway(): bool { return $this instanceof SubscriptionTransactionsSynchronizable; } /** * @inheritDoc */ public function canUpdateSubscriptionAmount(): bool { return $this instanceof SubscriptionAmountEditable; } /** * @inheritDoc */ public function canUpdateSubscriptionPaymentMethod(): bool { return $this instanceof SubscriptionPaymentMethodEditable; } /** * @since 2.21.2 */ public function hasGatewayDashboardSubscriptionUrl(): bool { return $this instanceof SubscriptionDashboardLinkable; } }