arch-8.x-1.x-dev/modules/payment/src/PaymentMethodManagerInterface.php
modules/payment/src/PaymentMethodManagerInterface.php
<?php
namespace Drupal\arch_payment;
use Drupal\arch_order\Entity\OrderInterface;
use Drupal\Component\Plugin\Discovery\CachedDiscoveryInterface;
use Drupal\Component\Plugin\PluginManagerInterface;
use Drupal\Core\Cache\CacheableDependencyInterface;
/**
* Payment method manager interface.
*
* @package Drupal\arch_payment
*/
interface PaymentMethodManagerInterface extends PluginManagerInterface, CachedDiscoveryInterface, CacheableDependencyInterface {
/**
* Get defined payment methods.
*
* @return array|\Drupal\arch_payment\PaymentMethodInterface[]
* List of defined payment methods.
*/
public function getAllPaymentMethods();
/**
* Get defined and active payment methods.
*
* @return array|\Drupal\arch_payment\PaymentMethodInterface[]
* List of defined and active payment methods.
*/
public function getPaymentMethods();
/**
* Get payment method.
*
* @param string $id
* Payment method plugin ID.
*
* @return \Drupal\arch_payment\PaymentMethodInterface|null
* Get list of enabled shipping methods.
*/
public function getPaymentMethod($id);
/**
* Get list of available payment methods for given order.
*
* @param \Drupal\arch_order\Entity\OrderInterface $order
* Order.
*
* @return \Drupal\arch_payment\PaymentMethodInterface[]
* List of payment methods available for order.
*/
public function getAvailablePaymentMethods(?OrderInterface $order = NULL);
}
