commerce-8.x-2.8/modules/payment/src/PaymentOption.php
modules/payment/src/PaymentOption.php
<?php namespace Drupal\commerce_payment; /** * Represents a payment option. * * @see \Drupal\commerce_payment\PaymentOptionsBuilderInterface::buildOptions() */ final class PaymentOption { /** * The ID. * * @var string */ protected $id; /** * The label. * * @var string */ protected $label; /** * The payment gateway ID. * * @var string */ protected $paymentGatewayId; /** * The payment method ID, when known. * * @var string */ protected $paymentMethodId; /** * The payment method type ID, when known. * * @var string */ protected $paymentMethodTypeId; /** * Constructs a new PaymentOption object. * * @param array $definition * The definition. */ public function __construct(array $definition) { foreach (['id', 'label', 'payment_gateway_id'] as $required_property) { if (empty($definition[$required_property])) { throw new \InvalidArgumentException(sprintf('Missing required property "%s".', $required_property)); } } $this->id = $definition['id']; $this->label = $definition['label']; $this->paymentGatewayId = $definition['payment_gateway_id']; if (isset($definition['payment_method_id'])) { $this->paymentMethodId = $definition['payment_method_id']; } if (isset($definition['payment_method_type_id'])) { $this->paymentMethodTypeId = $definition['payment_method_type_id']; } } /** * Gets the ID. * * @return string * The ID. */ public function getId() { return $this->id; } /** * Gets the label. * * @return string * The label. */ public function getLabel() { return $this->label; } /** * Gets the payment gateway ID. * * @return string * The payment gateway ID. */ public function getPaymentGatewayId() { return $this->paymentGatewayId; } /** * Gets the payment method ID. * * Only available when selecting existing payment methods. * * @return string|null * The payment method ID, or NULL if not known. */ public function getPaymentMethodId() { return $this->paymentMethodId; } /** * Gets the payment method type ID. * * Only available when adding payment methods. * * @return string|null * The payment method type ID, or NULL if not known. */ public function getPaymentMethodTypeId() { return $this->paymentMethodTypeId; } }