Passed
Pull Request — master (#23)
by Volodymyr
05:28
created

PayoneConfig::getEmptySequenceNumber()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
/**
4
 * MIT License
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerEco\Zed\Payone;
9
10
use Generated\Shared\Transfer\PayonePaymentTransfer;
11
use Generated\Shared\Transfer\PayoneStandardParameterTransfer;
12
use Orm\Zed\Sales\Persistence\SpySalesOrder;
13
use Spryker\Shared\Kernel\Store;
14
use Spryker\Zed\Kernel\AbstractBundleConfig;
15
use Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject;
16
use SprykerEco\Shared\Payone\PayoneConstants;
17
18
class PayoneConfig extends AbstractBundleConfig
19
{
20
    const PROVIDER_NAME = 'Payone';
21
    const PAYMENT_METHOD_CREDIT_CARD = 'payoneCreditCard';
22
    const PAYMENT_METHOD_E_WALLET = 'payoneEWallet';
23
    const PAYMENT_METHOD_DIRECT_DEBIT = 'payoneDirectDebit';
24
    const PAYMENT_METHOD_ONLINE_TRANSFER = 'payoneOnlineTransfer';
25
    const PAYMENT_METHOD_EPS_ONLINE_TRANSFER = 'payoneEpsOnlineTransfer';
26
    const PAYMENT_METHOD_INSTANT_ONLINE_TRANSFER = 'payoneInstantOnlineTransfer';
27
    const PAYMENT_METHOD_GIROPAY_ONLINE_TRANSFER = 'payoneGiropayOnlineTransfer';
28
    const PAYMENT_METHOD_IDEAL_ONLINE_TRANSFER = 'payoneIdealOnlineTransfer';
29
    const PAYMENT_METHOD_POSTFINANCE_EFINANCE_ONLINE_TRANSFER = 'payonePostfinanceEfinanceOnlineTransfer';
30
    const PAYMENT_METHOD_POSTFINANCE_CARD_ONLINE_TRANSFER = 'payonePostfinanceCardOnlineTransfer';
31
    const PAYMENT_METHOD_PRZELEWY24_ONLINE_TRANSFER = 'payonePrzelewy24OnlineTransfer';
32
    const PAYMENT_METHOD_BANCONTACT_ONLINE_TRANSFER = 'payoneBancontactOnlineTransfer';
33
    const PAYMENT_METHOD_PRE_PAYMENT = 'payonePrePayment';
34
    const PAYMENT_METHOD_INVOICE = 'payoneInvoice';
35
    const PAYMENT_METHOD_SECURITY_INVOICE = 'payoneSecurityInvoice';
36
    const PAYMENT_METHOD_PAYPAL_EXPRESS_CHECKOUT = PayoneConstants::PAYMENT_METHOD_PAYPAL_EXPRESS_CHECKOUT_STATE_MACHINE;
37
38
    /**
39
     * Fetches API request mode from config (could be 'live' or 'test').
40
     *
41
     * @return string
42
     */
43
    public function getMode()
44
    {
45
        $settings = $this->get(PayoneConstants::PAYONE);
46
47
        return $settings[PayoneConstants::PAYONE_MODE];
48
    }
49
50
    /**
51
     * Fetches default value for sequencenumber request parameter.
52
     *
53
     * @return string
54
     */
55
    public function getEmptySequenceNumber()
56
    {
57
        $settings = $this->get(PayoneConstants::PAYONE);
58
59
        return $settings[PayoneConstants::PAYONE_EMPTY_SEQUENCE_NUMBER];
60
    }
61
62
    /**
63
     * Fetches parameters that are common for all requests to Payone API.
64
     *
65
     * @return \Generated\Shared\Transfer\PayoneStandardParameterTransfer
66
     */
67
    public function getRequestStandardParameter()
68
    {
69
        $settings = $this->get(PayoneConstants::PAYONE);
70
        $standardParameter = new PayoneStandardParameterTransfer();
71
72
        $standardParameter->setEncoding($settings[PayoneConstants::PAYONE_CREDENTIALS_ENCODING]);
73
        $standardParameter->setMid($settings[PayoneConstants::PAYONE_CREDENTIALS_MID]);
74
        $standardParameter->setAid($settings[PayoneConstants::PAYONE_CREDENTIALS_AID]);
75
        $standardParameter->setPortalId($settings[PayoneConstants::PAYONE_CREDENTIALS_PORTAL_ID]);
76
        $standardParameter->setKey($settings[PayoneConstants::PAYONE_CREDENTIALS_KEY]);
77
        $standardParameter->setPaymentGatewayUrl($settings[PayoneConstants::PAYONE_PAYMENT_GATEWAY_URL]);
78
79
        $standardParameter->setCurrency(Store::getInstance()->getCurrencyIsoCode());
80
        $standardParameter->setLanguage(Store::getInstance()->getCurrentLanguage());
81
82
        $standardParameter->setRedirectSuccessUrl($settings[PayoneConstants::PAYONE_REDIRECT_SUCCESS_URL]);
83
        $standardParameter->setRedirectBackUrl($settings[PayoneConstants::PAYONE_REDIRECT_BACK_URL]);
84
        $standardParameter->setRedirectErrorUrl($settings[PayoneConstants::PAYONE_REDIRECT_ERROR_URL]);
85
86
        return $standardParameter;
87
    }
88
89
    /**
90
     * Fetches reference string to identify Payone payment.
91
     *
92
     * @param \Generated\Shared\Transfer\PayonePaymentTransfer $paymentTransfer
93
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
94
     *
95
     * @return string
96
     */
97
    public function generatePayoneReference(PayonePaymentTransfer $paymentTransfer, SpySalesOrder $orderEntity)
0 ignored issues
show
Unused Code introduced by
The parameter $paymentTransfer is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
98
    {
99
        return $orderEntity->getOrderReference();
100
    }
101
102
    /**
103
     * Fetches text for account statements.
104
     *
105
     * @param array $orderItems
106
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
107
     * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data
108
     *
109
     * @return string
110
     */
111
    public function getNarrativeText(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data)
0 ignored issues
show
Unused Code introduced by
The parameter $orderItems is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
Unused Code introduced by
The parameter $data is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
112
    {
113
        return $orderEntity->getOrderReference();
114
    }
115
116
    /**
117
     * @return string
118
     */
119
    protected function getYvesBaseUrl()
120
    {
121
        return $this->get(PayoneConstants::HOST_YVES);
122
    }
123
124
    /**
125
     * Returns path to glossary translations file.
126
     *
127
     * @return string
128
     */
129
    public function getTranslationFilePath()
130
    {
131
        return __DIR__ . DIRECTORY_SEPARATOR . PayoneConstants::GLOSSARY_FILE_PATH;
132
    }
133
134
    /**
135
     * @return string
136
     */
137
    public function getBusinessRelation(): string
138
    {
139
        $settings = $this->get(PayoneConstants::PAYONE);
140
141
        return $settings[PayoneConstants::PAYONE_BUSINESS_RELATION];
142
    }
143
}
144