mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-07 09:17:35 +00:00
70 lines
1.9 KiB
PHP
70 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
namespace Magento\InstantPurchase\Model;
|
|
|
|
use Magento\Customer\Model\Address;
|
|
use Magento\Framework\ObjectManagerInterface;
|
|
use Magento\Quote\Api\Data\ShippingMethodInterface;
|
|
use Magento\Vault\Api\Data\PaymentTokenInterface;
|
|
|
|
/**
|
|
* Create instances of instant purchase option.
|
|
*
|
|
* @api
|
|
* @since 100.2.0
|
|
*/
|
|
class InstantPurchaseOptionFactory
|
|
{
|
|
/**
|
|
* @var ObjectManagerInterface
|
|
*/
|
|
private $objectManager;
|
|
|
|
/**
|
|
* InstantPurchaseOptionFactory constructor.
|
|
* @param ObjectManagerInterface $objectManager
|
|
*/
|
|
public function __construct(ObjectManagerInterface $objectManager)
|
|
{
|
|
$this->objectManager = $objectManager;
|
|
}
|
|
|
|
/**
|
|
* Creates new instance.
|
|
*
|
|
* @param PaymentTokenInterface|null $paymentToken
|
|
* @param Address|null $shippingAddress
|
|
* @param Address|null $billingAddress
|
|
* @param ShippingMethodInterface|null $shippingMethod
|
|
* @return InstantPurchaseOption
|
|
* @since 100.2.0
|
|
*/
|
|
public function create(
|
|
PaymentTokenInterface $paymentToken = null,
|
|
Address $shippingAddress = null,
|
|
Address $billingAddress = null,
|
|
ShippingMethodInterface $shippingMethod = null
|
|
): InstantPurchaseOption {
|
|
return $this->objectManager->create(InstantPurchaseOption::class, [
|
|
'paymentToken' => $paymentToken,
|
|
'shippingAddress' => $shippingAddress,
|
|
'billingAddress' => $billingAddress,
|
|
'shippingMethod' => $shippingMethod,
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Creates new empty instance (no option available).
|
|
*
|
|
* @return InstantPurchaseOption
|
|
* @since 100.2.0
|
|
*/
|
|
public function createDisabledOption(): InstantPurchaseOption
|
|
{
|
|
return $this->create(null, null, null, null);
|
|
}
|
|
}
|