# subscription/2.0.0/includes/Illuminate/Subscription/Subscription.php

Subscriptions for WooCommerce with Stripe Recurring Payments, version 2.0.0. 62 lines.

- Page: https://pluginprobe.com/plugins/subscription/2.0.0/code/includes/Illuminate/Subscription/Subscription.php
- Raw: https://pluginprobe.com/plugins/subscription/2.0.0/raw/includes/Illuminate/Subscription/Subscription.php
- Modified: 2026-02-08T09:06:32+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/subscription/2.0.0/code/includes/Illuminate/Subscription/Subscription.php#L10-L20`.

```php
<?php
/**
 * Main subscription class.
 *
 * TODO: Refactor and move all subscription related logic from Helper class into this class.
 *
 * @package Subscription
 */

namespace SpringDevs\Subscription\Illuminate\Subscription;

use SpringDevs\Subscription\Illuminate\Helper;
use SpringDevs\Subscription\Utils\Product;
use SpringDevs\Subscription\Utils\ProductFactory;
use WC_Product;

/**
 * Class Subscription
 *
 * @package Illuminate\Subscription
 */
class Subscription {
	/**
	 * Get WC product in subscription wrapper.
	 *
	 * @param WC_Product|int $product Product.
	 * @return Product|false
	 */
	public static function get_subs_product( $product ) {
		if ( ! $product instanceof WC_Product ) {
			$product = wc_get_product( absint( $product ) );
		}

		return $product ? ProductFactory::load( $product ) : false;
	}

	/**
	 * Get subscription endpoint.
	 *
	 * @param string $view View type.
	 * @return string
	 */
	public static function get_user_endpoint( string $view = 'subs_list' ) {
		$is_pro = subscrpt_pro_activated();

		switch ( strtolower( $view ) ) {
			case 'view_subs':
				$default_endpoint = 'subscription';
				$endpoint         = $is_pro ? get_option( 'wpsubs_custom_view_subscription_endpoint', $default_endpoint ) : $default_endpoint;
				break;

			case 'subs_list':
			default:
				$default_endpoint = 'subscriptions';
				$endpoint         = $is_pro ? get_option( 'wpsubs_custom_subscriptions_endpoint', $default_endpoint ) : $default_endpoint;
				break;
		}

		return untrailingslashit( $endpoint );
	}
}

```
