Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Data Fields | Protected Member Functions | Protected Attributes
IframeConfigProvider Class Reference
Inheritance diagram for IframeConfigProvider:
ConfigProviderInterface

Public Member Functions

 __construct (Repository $assetRepo, RequestInterface $request, UrlInterface $urlBuilder, LoggerInterface $logger, PaymentHelper $paymentHelper, $methodCode)
 
 getConfig ()
 

Data Fields

const TIMEOUT_TIME = 30000
 
const DEFAULT_YEAR_LENGTH = 2
 
const CHECKOUT_IDENTIFIER = 'checkout_flow'
 

Protected Member Functions

 getDateDelim ()
 
 getExpireDateYearLength ()
 
 getCardFieldsMap ()
 
 getViewFileUrl ($fileId, array $params=[])
 
 getPlaceOrderUrl ()
 
 getSaveOrderUrl ()
 
 getCgiUrl ()
 
 getMethodConfigData ($fieldName)
 

Protected Attributes

 $assetRepo
 
 $request
 
 $urlBuilder
 
 $logger
 
 $methodCode
 
 $method
 

Detailed Description

Definition at line 29 of file IframeConfigProvider.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( Repository  $assetRepo,
RequestInterface  $request,
UrlInterface  $urlBuilder,
LoggerInterface  $logger,
PaymentHelper  $paymentHelper,
  $methodCode 
)
Parameters
Repository$assetRepo
RequestInterface$request
UrlInterface$urlBuilder
LoggerInterface$logger
PaymentHelper$paymentHelper
string$methodCode

Definition at line 86 of file IframeConfigProvider.php.

93  {
94  $this->assetRepo = $assetRepo;
95  $this->request = $request;
96  $this->urlBuilder = $urlBuilder;
97  $this->logger = $logger;
98  $this->methodCode = $methodCode;
99  $this->method = $paymentHelper->getMethodInstance($methodCode);
100  }

Member Function Documentation

◆ getCardFieldsMap()

getCardFieldsMap ( )
protected

Get map of cc_code, cc_num, cc_expdate for gateway Returns json formatted string

Returns
string

Definition at line 158 of file IframeConfigProvider.php.

159  {
160  $result = [];
161  if ($this->method->isAvailable()) {
162  $configData = $this->getMethodConfigData('ccfields');
163  $keys = ['cccvv', 'ccexpdate', 'ccnum'];
164  $result = array_combine($keys, explode(',', $configData));
165  }
166 
167  return $result;
168  }

◆ getCgiUrl()

getCgiUrl ( )
protected

Retrieve gateway url

Returns
string

Definition at line 218 of file IframeConfigProvider.php.

219  {
220  return (bool)$this->getMethodConfigData('sandbox_flag')
221  ? $this->getMethodConfigData('cgi_url_test_mode')
222  : $this->getMethodConfigData('cgi_url');
223  }

◆ getConfig()

getConfig ( )

{Retrieve assoc array of checkout configuration

Returns
array
}

Implements ConfigProviderInterface.

Definition at line 105 of file IframeConfigProvider.php.

106  {
107  return [
108  'payment' => [
109  'iframe' => [
110  'timeoutTime' => [$this->methodCode => self::TIMEOUT_TIME],
111  'dateDelim' => [$this->methodCode => $this->getDateDelim()],
112  'cardFieldsMap' => [$this->methodCode => $this->getCardFieldsMap()],
113  'source' => [$this->methodCode => $this->getViewFileUrl('blank.html')],
114  'controllerName' => [$this->methodCode => self::CHECKOUT_IDENTIFIER],
115  'cgiUrl' => [$this->methodCode => $this->getCgiUrl()],
116  'placeOrderUrl' => [$this->methodCode => $this->getPlaceOrderUrl()],
117  'saveOrderUrl' => [$this->methodCode => $this->getSaveOrderUrl()],
118  'expireYearLength' => [$this->methodCode => $this->getExpireDateYearLength()]
119  ]
120  ]
121  ];
122  }

◆ getDateDelim()

getDateDelim ( )
protected

Get delimiter for date

Returns
string

Definition at line 129 of file IframeConfigProvider.php.

130  {
131  $result = '';
132  if ($this->method->isAvailable()) {
133  $configData = $this->getMethodConfigData('date_delim');
134  if ($configData !== null) {
136  }
137  }
138 
139  return $result;
140  }

◆ getExpireDateYearLength()

getExpireDateYearLength ( )
protected

Returns Cc expire year length

Returns
int

Definition at line 147 of file IframeConfigProvider.php.

◆ getMethodConfigData()

getMethodConfigData (   $fieldName)
protected

Retrieve config data value by field name

Parameters
string$fieldName
Returns
mixed

Definition at line 231 of file IframeConfigProvider.php.

232  {
233  if ($this->method instanceof TransparentInterface) {
234  return $this->method->getConfigInterface()->getValue($fieldName);
235  }
236  return $this->method->getConfigData($fieldName);
237  }

◆ getPlaceOrderUrl()

getPlaceOrderUrl ( )
protected

Retrieve place order url on front

Returns
string

Definition at line 193 of file IframeConfigProvider.php.

194  {
195  return $this->urlBuilder->getUrl(
196  $this->getMethodConfigData('place_order_url'),
197  [
198  '_secure' => $this->request->isSecure()
199  ]
200  );
201  }

◆ getSaveOrderUrl()

getSaveOrderUrl ( )
protected

Retrieve save order url on front

Returns
string

Definition at line 208 of file IframeConfigProvider.php.

209  {
210  return $this->urlBuilder->getUrl('checkout/onepage/saveOrder', ['_secure' => $this->request->isSecure()]);
211  }

◆ getViewFileUrl()

getViewFileUrl (   $fileId,
array  $params = [] 
)
protected

Retrieve url of a view file

Parameters
string$fileId
array$params
Returns
string[]

Definition at line 177 of file IframeConfigProvider.php.

178  {
179  try {
180  $params = array_merge(['_secure' => $this->request->isSecure()], $params);
181  return $this->assetRepo->getUrlWithParams($fileId, $params);
182  } catch (LocalizedException $e) {
183  $this->logger->critical($e);
184  return $this->urlBuilder->getUrl('', ['_direct' => 'core/index/notFound']);
185  }
186  }
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18

Field Documentation

◆ $assetRepo

$assetRepo
protected

Definition at line 49 of file IframeConfigProvider.php.

◆ $logger

$logger
protected

Definition at line 64 of file IframeConfigProvider.php.

◆ $method

$method
protected

Definition at line 76 of file IframeConfigProvider.php.

◆ $methodCode

$methodCode
protected

Definition at line 71 of file IframeConfigProvider.php.

◆ $request

$request
protected

Definition at line 54 of file IframeConfigProvider.php.

◆ $urlBuilder

$urlBuilder
protected

Definition at line 59 of file IframeConfigProvider.php.

◆ CHECKOUT_IDENTIFIER

const CHECKOUT_IDENTIFIER = 'checkout_flow'

Checkout identifier for transparent iframe payments

Definition at line 44 of file IframeConfigProvider.php.

◆ DEFAULT_YEAR_LENGTH

const DEFAULT_YEAR_LENGTH = 2

Default length of Cc year field

Definition at line 39 of file IframeConfigProvider.php.

◆ TIMEOUT_TIME

const TIMEOUT_TIME = 30000

30 sec

Definition at line 34 of file IframeConfigProvider.php.


The documentation for this class was generated from the following file: