Issues (359)

Form/DataProvider/CreditCardFormDataProvider.php (2 issues)

1
<?php
2
3
/**
4
 * MIT License
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
namespace SprykerEco\Yves\CrefoPay\Form\DataProvider;
9
10
use Generated\Shared\Transfer\CrefoPayPaymentTransfer;
11
use Generated\Shared\Transfer\PaymentTransfer;
12
use Generated\Shared\Transfer\QuoteTransfer;
13
use Spryker\Shared\Kernel\Transfer\AbstractTransfer;
14
use Spryker\Yves\StepEngine\Dependency\Form\StepEngineFormDataProviderInterface;
15
use SprykerEco\Yves\CrefoPay\CrefoPayConfig;
16
use SprykerEco\Yves\CrefoPay\Form\CreditCardSubForm;
17
18
class CreditCardFormDataProvider implements StepEngineFormDataProviderInterface
19
{
20
    /**
21
     * @var \SprykerEco\Yves\CrefoPay\CrefoPayConfig
22
     */
23
    protected $config;
24
25
    /**
26
     * @param \SprykerEco\Yves\CrefoPay\CrefoPayConfig $config
27
     */
28
    public function __construct(CrefoPayConfig $config)
29
    {
30
        $this->config = $config;
31
    }
32
33
    /**
34
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
35
     *
36
     * @return \Generated\Shared\Transfer\QuoteTransfer
37
     */
38
    public function getData(AbstractTransfer $quoteTransfer): QuoteTransfer
39
    {
40
        if ($quoteTransfer->getPayment() === null) {
41
            $quoteTransfer->setPayment(new PaymentTransfer());
42
        }
43
44
        if ($quoteTransfer->getPayment()->getCrefoPayCreditCard() !== null) {
45
            return $quoteTransfer;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $quoteTransfer returns the type Spryker\Shared\Kernel\Transfer\AbstractTransfer which is incompatible with the type-hinted return Generated\Shared\Transfer\QuoteTransfer.
Loading history...
46
        }
47
48
        $quoteTransfer->getPayment()->setCrefoPayCreditCard(new CrefoPayPaymentTransfer());
49
50
        return $quoteTransfer;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $quoteTransfer returns the type Spryker\Shared\Kernel\Transfer\AbstractTransfer which is incompatible with the type-hinted return Generated\Shared\Transfer\QuoteTransfer.
Loading history...
51
    }
52
53
    /**
54
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
55
     *
56
     * @return array
57
     */
58
    public function getOptions(AbstractTransfer $quoteTransfer): array
59
    {
60
        return [
61
            CreditCardSubForm::CREFO_PAY_SHOP_PUBLIC_KEY => $this->config->getPublicKey(),
62
            CreditCardSubForm::CREFO_PAY_ORDER_ID => $quoteTransfer->getCrefoPayTransaction()->getCrefoPayOrderId(),
63
            CreditCardSubForm::CREFO_PAY_SECURE_FIELDS_API_ENDPOINT => $this->config->getSecureFieldsApiEndpoint(),
64
            CreditCardSubForm::CREFO_PAY_SECURE_FIELDS_PLACEHOLDERS => $this->config->getSecureFieldsPlaceholders(),
65
        ];
66
    }
67
}
68