6 declare(strict_types=1);
10 use Magento\Payment\Helper\Formatter;
130 \
Magento\Directory\Model\RegionFactory $regionFactory,
136 $this->_localeResolver = $localeResolver;
137 $this->_regionFactory = $regionFactory;
138 parent::__construct(
$data);
148 return $this->_config->getValue(
'apiUsername');
158 return $this->_config->getValue(
'apiPassword');
168 return $this->_config->getValue(
'apiSignature');
178 return $this->_config->getApiCertificate();
188 return $this->_config->getBuildNotationCode();
299 public function import($to, array $publicMap = [])
301 return \Magento\Framework\DataObject\Mapper::accumulateByMap([$this,
'getDataUsingMethod'], $to, $publicMap);
311 public function export($from, array $publicMap = [])
313 \Magento\Framework\DataObject\Mapper::accumulateByMap($from, [$this,
'setDataUsingMethod'], $publicMap);
325 $this->_cart =
$cart;
348 return $this->_localeResolver->getLocale();
371 foreach ($privateRequestMap as $key) {
372 if (isset($this->_globalMap[$key])) {
373 $map[$this->_globalMap[$key]] = $key;
376 $result = \Magento\Framework\DataObject\Mapper::accumulateByMap([$this,
'getDataUsingMethod'],
$request,
$map);
377 foreach ($privateRequestMap as $key) {
378 if (isset($this->_exportToRequestFilters[$key]) && isset(
$result[$key])) {
379 $callback = $this->_exportToRequestFilters[$key];
381 $publicKey =
$map[$this->_globalMap[$key]];
398 foreach ($privateResponseMap as $key) {
399 if (isset($this->_globalMap[$key])) {
400 $map[$key] = $this->_globalMap[$key];
402 if (isset(
$response[$key]) && isset($this->_importFromRequestFilters[$key])) {
403 $callback = $this->_importFromRequestFilters[$key];
407 \Magento\Framework\DataObject\Mapper::accumulateByMap(
$response, [$this,
'setDataUsingMethod'],
$map);
427 if ($this->_lineItemTotalExportMap) {
428 foreach ($this->_cart->getAmounts() as $key => $total) {
429 if (isset($this->_lineItemTotalExportMap[$key])) {
431 $privateKey = $this->_lineItemTotalExportMap[$key];
432 $total = round($total, 2);
433 $request[$privateKey] = $this->formatPrice($total);
439 $items = $this->_cart->getAllItems();
440 if (empty(
$items) || !$this->getIsLineItemsEnabled()) {
445 foreach ($this->_lineItemExportItemsFormat as $publicKey => $privateFormat) {
448 $request[sprintf($privateFormat,
$i)] = $this->formatValue(
$value, $publicKey);
465 $options = $this->getShippingOptions();
470 foreach ($this->_shippingOptionsExportItemsFormat as $publicKey => $privateFormat) {
478 $request[sprintf($privateFormat,
$i)] =
$value;
493 return $value ?
'true' :
'false';
519 return $this->_config->getValue($key) ? $this->_config->getValue($key) : $default;
530 $regionId =
$address->getData(
'region_id');
532 $region = $this->_regionFactory->create()->load($regionId);
533 if ($region->getId()) {
534 return $region->getCode();
550 $keys = func_get_args();
554 if (!$keys || !$street || !is_array($street)) {
558 $street = $this->_customerAddress->convertStreetLines(
$address->getStreet(), count($keys));
561 foreach ($keys as $key) {
562 $to[$key] = isset($street[
$i]) ? $street[
$i] :
'';
598 $this->customLogger->debug(
613 return $this->_config->getValue(
'debug');
624 return (
bool)$this->_config->getValue(
'apiAuthentication');
644 private function formatValue(
$value, $publicKey)
646 if (!empty($this->_lineItemExportItemsFilters[$publicKey])) {
647 $callback = $this->_lineItemExportItemsFilters[$publicKey];
648 $value = method_exists($this, $callback) ? $this->{$callback}(
$value) : $callback(
$value);
_exportShippingOptions(array &$request, $i=0)
_exportLineItems(array &$request, $i=0)
export($from, array $publicMap=[])
$_lineItemExportItemsFilters
getData($key='', $index=null)
_lookupRegionCodeFromAddress(\Magento\Framework\DataObject $address)
call_user_func($callable, $param)
& _exportToRequest(array $privateRequestMap, array $request=[])
__construct(\Magento\Customer\Helper\Address $customerAddress, \Psr\Log\LoggerInterface $logger, Logger $customLogger, \Magento\Framework\Locale\ResolverInterface $localeResolver, \Magento\Directory\Model\RegionFactory $regionFactory, array $data=[])
$_importFromRequestFilters
$_shippingOptionsExportItemsFormat
getFraudManagementFiltersEnabled()
_importStreetFromAddress(\Magento\Framework\DataObject $address, array &$to)
getDebugReplacePrivateDataKeys()
setConfigObject(\Magento\Paypal\Model\Config $config)
$_lineItemExportItemsFormat
_importFromResponse(array $privateResponseMap, array $response)
$_debugReplacePrivateDataKeys
_getDataOrConfig($key, $default=null)
setPaypalCart(\Magento\Paypal\Model\Cart $cart)
getUseCertAuthentication()