Skip to content

Commit

Permalink
Release version 4.3.3
Browse files Browse the repository at this point in the history
  • Loading branch information
afterpayplugins committed Nov 7, 2024
1 parent ab90df3 commit c1d414c
Show file tree
Hide file tree
Showing 17 changed files with 67 additions and 204 deletions.
23 changes: 0 additions & 23 deletions Api/Data/Quote/ExtendedShippingInformationInterface.php

This file was deleted.

2 changes: 1 addition & 1 deletion Gateway/Request/Checkout/CheckoutDataBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public function build(array $buildSubject): array
'merchantReference' => $quote->getReservedOrderId(),
'taxAmount' => [
'amount' => $this->formatPrice(
$billingTaxAmount ?: $shippingTaxAmount
(float)$billingTaxAmount ?: $shippingTaxAmount
),
'currency' => $isCBTCurrencyAvailable ? $quote->getQuoteCurrencyCode() : $quote->getBaseCurrencyCode()
],
Expand Down
25 changes: 5 additions & 20 deletions Gateway/Request/ExpressCheckoutDataBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,6 @@

class ExpressCheckoutDataBuilder extends \Afterpay\Afterpay\Gateway\Request\Checkout\CheckoutDataBuilder
{
/**
* @var \Afterpay\Afterpay\Api\Data\Quote\ExtendedShippingInformationInterface
*/
private $extendedShippingInformation;

public function __construct(
\Magento\Framework\UrlInterface $url,
\Magento\Catalog\Api\ProductRepositoryInterface $productRepository,
\Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder,
\Afterpay\Afterpay\Model\CBT\CheckCBTCurrencyAvailabilityInterface $checkCBTCurrencyAvailability,
\Afterpay\Afterpay\Api\Data\Quote\ExtendedShippingInformationInterface $extendedShippingInformation
) {
parent::__construct($url, $productRepository, $searchCriteriaBuilder, $checkCBTCurrencyAvailability);
$this->extendedShippingInformation = $extendedShippingInformation;
}

public function build(array $buildSubject): array
{
/** @var \Magento\Quote\Model\Quote $quote */
Expand All @@ -29,10 +13,11 @@ public function build(array $buildSubject): array
$amount = $isCBTCurrencyAvailable ? $quote->getGrandTotal() : $quote->getBaseGrandTotal();
$currencyCode = $isCBTCurrencyAvailable ? $currentCurrencyCode : $quote->getBaseCurrencyCode();
$popupOriginUrl = $buildSubject['popup_origin_url'];
$lastSelectedShippingRate = $this->extendedShippingInformation->getParam(
$quote,
\Afterpay\Afterpay\Api\Data\Quote\ExtendedShippingInformationInterface::LAST_SELECTED_SHIPPING_RATE
);

$lastSelectedShippingRate = null;
if ($quote->getShippingAddress() && $quote->getShippingAddress()->getShippingMethod()) {
$lastSelectedShippingRate = $quote->getShippingAddress()->getShippingMethod();
}

$data = [
'mode' => 'express',
Expand Down
4 changes: 2 additions & 2 deletions Gateway/Response/DiscountHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ protected function getOrderDiscountAmount(\Magento\Sales\Model\Order $order): fl
);

if ($isCBTCurrency) {
return (float)($order->getGiftCardsAmount() + $order->getCustomerBalanceAmount());
return (float)($order->getGiftCardsAmount() + $order->getCustomerBalanceAmount() + $order->getRewardCurrencyAmount());
} else {
return (float)($order->getBaseGiftCardsAmount() + $order->getBaseCustomerBalanceAmount());
return (float)($order->getBaseGiftCardsAmount() + $order->getBaseCustomerBalanceAmount() + $order->getBaseRewardCurrencyAmount());
}
}
}
27 changes: 19 additions & 8 deletions Gateway/Response/PaymentDetailsHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,33 @@ class PaymentDetailsHandler implements \Magento\Payment\Gateway\Response\Handler
{
private $authExpiryDate;

private $paymentUpdater;

public function __construct(
\Afterpay\Afterpay\Model\Order\Payment\Auth\ExpiryDate $authExpiryDate
\Afterpay\Afterpay\Model\Order\Payment\Auth\ExpiryDate $authExpiryDate,
\Afterpay\Afterpay\Model\Order\CreditMemo\PaymentUpdater\Proxy $paymentUpdater
) {
$this->authExpiryDate = $authExpiryDate;
$this->paymentUpdater = $paymentUpdater;
}

public function handle(array $handlingSubject, array $response): void
{
if (!isset($response['id'])) {
throw new \Magento\Payment\Gateway\Command\CommandException(
__(
'Afterpay response error: Code: %1, Id: %2',
$response['errorCode'] ?? '',
$response['errorId'] ?? ''
)
);
if (isset($response['errorCode'], $response['errorId'])) {
throw new \Magento\Payment\Gateway\Command\CommandException(
__(
'Afterpay response error: Code: %1, Id: %2',
$response['errorCode'],
$response['errorId']
)
);
}

$paymentDO = \Magento\Payment\Gateway\Helper\SubjectReader::readPayment($handlingSubject);
$this->paymentUpdater->updatePayment($paymentDO->getPayment());

return;
}
$paymentDO = \Magento\Payment\Gateway\Helper\SubjectReader::readPayment($handlingSubject);

Expand Down
17 changes: 16 additions & 1 deletion Model/Order/CreditMemo/CreditMemoInitiator.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,23 @@ public function __construct(
public function init(\Magento\Sales\Model\Order $order): \Magento\Sales\Model\Order\Creditmemo
{
$qtysToRefund = [];
/** @var \Magento\Sales\Model\Order\Item $orderItem */
foreach ($order->getItemsCollection() as $orderItem) {
/** @var $orderItem \Magento\Sales\Model\Order\Item */
if ($orderItem->getProductType() == \Magento\Bundle\Model\Product\Type::TYPE_CODE) {
/** @var \Magento\Sales\Model\Order\Item $childrenItem */
foreach ($orderItem->getChildrenItems() as $childrenItem) {
if (!$childrenItem->getIsVirtual()) {
$qtyShipped = $childrenItem->getQtyShipped();
$qtyOrdered = $childrenItem->getQtyOrdered();
$qtyRefunded = $childrenItem->getQtyRefunded();
$childItemLeftToShip = $qtyOrdered - ($qtyShipped + $qtyRefunded);
if ($childItemLeftToShip > 0) {
$qtysToRefund[$childrenItem->getId()] = $childItemLeftToShip;
}
}
}
}

if (!$orderItem->getParentItem() && !$orderItem->getIsVirtual()) {
$qtyShipped = $orderItem->getQtyShipped();
$qtyOrdered = $orderItem->getQtyOrdered();
Expand Down
59 changes: 0 additions & 59 deletions Model/Quote/ExtendedShippingInformation.php

This file was deleted.

This file was deleted.

2 changes: 1 addition & 1 deletion Plugin/Order/Payment/State/CaptureCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public function aroundExecute(
$order->setState($state);
$order->setStatus($status);

return __($message, $order->getBaseCurrency()->formatTxt($amount));
return __($message, $order->getOrderCurrency()->formatTxt($amount));
}

return $proceed($payment, $amount, $order);
Expand Down
14 changes: 13 additions & 1 deletion ViewModel/Container/ExpressCheckout/ExpressCheckout.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<?php declare(strict_types=1);

namespace Afterpay\Afterpay\ViewModel\Container\ExpressCheckout;

class ExpressCheckout extends \Afterpay\Afterpay\ViewModel\Container\Container
{
public const COUNTRY_CURRENCY_MAP = [
Expand All @@ -11,7 +10,18 @@ class ExpressCheckout extends \Afterpay\Afterpay\ViewModel\Container\Container
'CAD' => 'CA',
'GBP' => 'GB'
];
protected $localeResolver;

public function __construct(
\Magento\Framework\Serialize\SerializerInterface $serializer,
\Afterpay\Afterpay\Model\Config $config,
\Afterpay\Afterpay\Model\ResourceModel\NotAllowedProductsProvider $notAllowedProductsProvider,
\Magento\Store\Model\StoreManagerInterface $storeManager,
\Magento\Framework\Locale\Resolver $localeResolver
) {
parent::__construct($serializer, $config, $notAllowedProductsProvider, $storeManager);
$this->localeResolver = $localeResolver;
}
public function updateJsLayout(
string $jsLayoutJson,
bool $remove = false,
Expand All @@ -22,6 +32,8 @@ public function updateJsLayout(
$config['minOrderTotal'] = $this->config->getMinOrderTotal();
$config['maxOrderTotal'] = $this->config->getMaxOrderTotal();
$config['countryCode'] = $this->getCountryCode();
$config['buttonImageUrl'] = 'https://static.afterpay.com/'.str_replace("_","-",$this->localeResolver->getLocale()).'/integration/button/checkout-with-afterpay/white-on-black.svg';

}
return parent::updateJsLayout($jsLayoutJson, $remove, $containerNodeName, $config);
}
Expand Down
5 changes: 4 additions & 1 deletion ViewModel/Container/ExpressCheckout/ExpressCheckoutPdp.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@ public function __construct(
\Afterpay\Afterpay\Model\Config $config,
\Afterpay\Afterpay\Model\ResourceModel\NotAllowedProductsProvider $notAllowedProductsProvider,
\Magento\Store\Model\StoreManagerInterface $storeManager,
\Magento\Framework\Locale\Resolver $localeResolver,
\Magento\Catalog\Helper\Data $catalogHelper,
\Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $productCollectionFactory
) {
parent::__construct($serializer, $config, $notAllowedProductsProvider, $storeManager);
parent::__construct($serializer, $config, $notAllowedProductsProvider, $storeManager, $localeResolver);
$this->catalogHelper = $catalogHelper;
$this->productCollectionFactory = $productCollectionFactory;
}
Expand All @@ -31,6 +32,8 @@ public function updateJsLayout(
if ($product) {
$config['isVirtual'] = $this->isProductVirtual($product);
}
$config['buttonImageUrl'] = 'https://static.afterpay.com/'.str_replace("_","-",$this->localeResolver->getLocale()).'/integration/button/checkout-with-afterpay/white-on-black.svg';

}
return parent::updateJsLayout($jsLayoutJson, $remove, $containerNodeName, $config);
}
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"license": "Apache-2.0",
"type": "magento2-module",
"description": "Magento 2 Afterpay Payment Module",
"version": "4.3.2",
"version": "4.3.3",
"require": {
"php": "~7.1.3||~7.2.0||~7.3.0||~7.4.0",
"magento/framework": "^102.0",
Expand Down
3 changes: 2 additions & 1 deletion etc/di.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<preference for="Afterpay\Afterpay\Model\Order\OrderItemInterface" type="Afterpay\Afterpay\Model\Order\OrderItem"/>
<preference for="Afterpay\Afterpay\Model\CBT\CheckCBTCurrencyAvailabilityInterface" type="Afterpay\Afterpay\Model\Checks\IsCBTAvailable"/>
<preference for="Afterpay\Afterpay\Model\Checks\PaymentMethodInterface" type="Afterpay\Afterpay\Model\Checks\PaymentMethod"/>
<preference for="Afterpay\Afterpay\Api\Data\Quote\ExtendedShippingInformationInterface" type="Afterpay\Afterpay\Model\Quote\ExtendedShippingInformation"/>
<preference for="Afterpay\Afterpay\Api\Data\TokenInterface" type="Afterpay\Afterpay\Model\Token"/>

<virtualType name="Afterpay\Afterpay\Model\Method\MethodFacade" type="Magento\Payment\Model\Method\Adapter">
Expand Down Expand Up @@ -78,6 +77,7 @@
<argument name="requestBuilder" xsi:type="object">Afterpay\Afterpay\Gateway\Request\PaymentAction\RefundAndVoidDataBuilder</argument>
<argument name="transferFactory" xsi:type="object">Afterpay\Afterpay\Gateway\Http\RefundTransferFactory</argument>
<argument name="client" xsi:type="object">Afterpay\Afterpay\Gateway\Http\Client\Client</argument>
<argument name="handler" xsi:type="object">Afterpay\Afterpay\Gateway\Response\PaymentDetailsHandler</argument>
<argument name="validator" xsi:type="object">Afterpay\Afterpay\Gateway\Validator\RefundResponseValidator</argument>
</arguments>
</virtualType>
Expand All @@ -86,6 +86,7 @@
<argument name="requestBuilder" xsi:type="object">Afterpay\Afterpay\Gateway\Request\PaymentAction\ReversalDataBuilder</argument>
<argument name="transferFactory" xsi:type="object">Afterpay\Afterpay\Gateway\Http\ReversalTransferFactory</argument>
<argument name="client" xsi:type="object">Afterpay\Afterpay\Gateway\Http\Client\Client</argument>
<argument name="handler" xsi:type="object">Afterpay\Afterpay\Gateway\Response\PaymentDetailsHandler</argument>
<argument name="validator" xsi:type="object">Afterpay\Afterpay\Gateway\Validator\ReversalResponseValidator</argument>
</arguments>
</virtualType>
Expand Down
2 changes: 1 addition & 1 deletion etc/module.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Afterpay_Afterpay" setup_version="4.3.2">
<module name="Afterpay_Afterpay" setup_version="4.3.3">
<sequence>
<module name="Magento_Payment"/>
<module name="Magento_Checkout"/>
Expand Down
Loading

0 comments on commit c1d414c

Please sign in to comment.