# storeengine/2.0.0/includes/utils/traits/integration.php

StoreEngine — Complete eCommerce Solution with Memberships, Licensing, Affiliates &amp; More, version 2.0.0. 69 lines.

- Page: https://pluginprobe.com/plugins/storeengine/2.0.0/code/includes/utils/traits/integration.php
- Raw: https://pluginprobe.com/plugins/storeengine/2.0.0/raw/includes/utils/traits/integration.php
- Modified: 2026-04-20T13:58:18+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/storeengine/2.0.0/code/includes/utils/traits/integration.php#L10-L20`.

```php
<?php

namespace StoreEngine\Utils\traits;

use StoreEngine\Classes\Data\IntegrationRepositoryData;
use StoreEngine\Classes\Exceptions\StoreEngineException;
use StoreEngine\Classes\IntegrationRepository;
use StoreEngine\Classes\Price;
use StoreEngine\Classes\Product\SimpleProduct;
use StoreEngine\Classes\ProductFactory;

trait Integration {

	/**
	 * @param int $price_id
	 *
	 * @return \StoreEngine\Classes\Integration[]
	 * @throws StoreEngineException
	 */
	public static function get_integrations_by_price_id( int $price_id ): array {
		try {
			return ( new Price( $price_id ) )->get_integrations();
		} catch ( StoreEngineException $e ) {
			return [];
		}
	}

	/**
	 * @param int $product_id
	 *
	 * @return IntegrationRepositoryData[]
	 * @throws StoreEngineException
	 */
	public static function get_integrations_by_product_id( int $product_id ): array {
		return ProductFactory::getProduct( $product_id )->get_integrations();
	}

	/**
	 * @param string $provider
	 * @param int $integration_id
	 *
	 * @return IntegrationRepositoryData[]
	 */
	public static function get_integration_repository_by_id( string $provider, int $integration_id ): array {
		return ( new IntegrationRepository( $provider ) )->get_by_id( $integration_id )->get_objects();
	}

	/**
	 * @param string $provider
	 * @param int $price_id
	 *
	 * @return ?IntegrationRepositoryData
	 */
	public static function get_integration_repository_by_price_id( string $provider, int $price_id ): ?IntegrationRepositoryData {
		return ( new IntegrationRepository( $provider ) )->get_by_price_id( $price_id );
	}

	/**
	 * @param string $provider
	 * @param array $args
	 *
	 * @return IntegrationRepositoryData[]
	 */
	public static function get_integration_repository_by_provider( string $provider, array $args = [] ): array {
		return ( new IntegrationRepository( $provider ) )->get_by_provider( $args )->get_objects();
	}

}

```
