hipay / hipay-fullservice-sdk-magento2

Official repository of the HiPay Fullservice extension for Magento v2.
https://developer.hipay.com/doc/hipay-fullservice-sdk-magento2/
Apache License 2.0
10 stars 16 forks source link

M2.3.5 Undefined index: in [...] vendor/hipay/hipay-fullservice-sdk-magento2/Model/Method/HostedFieldsMethod.php on line 82 #127

Closed ghost closed 3 years ago

ghost commented 4 years ago

Bonjour,

Depuis la monté de version à Magento 2.3.5-p1, sélectionner une méthode de paiement (click: selectPaymentMethod) émet une requête XHR /rest/default/V1/carts/mine/set-payment-information.

Cet appel produit une erreur 500 :

[2020-06-10 06:47:04] main.CRITICAL: Report ID: webapi-5ee081e862154; Message: Notice: Undefined index: in /home/ari/dev/bs-mg2-prod/vendor/hipay/hipay-fullservice-sdk-magento2/Model/Method/HostedFieldsMethod.php on line 82 {"exception":"[object] (Exception(code: 0): Report ID: webapi-5ee081e862154; Message: Notice: Undefined index: in /home/ari/dev/bs-mg2-prod/vendor/hipay/hipay-fullservice-sdk-magento2/Model/Method/HostedFieldsMethod.php on line 82 at /home/ari/dev/bs-mg2-prod/vendor/magento/framework/Webapi/ErrorProcessor.php:208, Exception(code: 0): Notice: Undefined index: in /home/ari/dev/bs-mg2-prod/vendor/hipay/hipay-fullservice-sdk-magento2/Model/Method/HostedFieldsMethod.php on line 82 at /home/ari/dev/bs-mg2-prod/vendor/magento/framework/App/ErrorHandler.php:61)"}

L'appel est fait par vendor/magento/module-sales-rule/view/frontend/web/js/action/select-payment-method-mixin.js :

            $.when(
                setPaymentInformationAction(
                    messageContainer,
                    {
                        method: paymentMethod.method
                    }
                )
            )

HostedFieldsMethod utilise le champ cc_type qui n'a pas été fourni par l'appel :

        $info = $this->getInfoInstance();
        $errorMsg = false;
        if (!$info->getAdditionalInformation('card_token')) {
            $errorMsg = __('We can\'t place the order.');
        }

        $availableTypes = explode(',', $this->getConfigData('cctypes'));
        $paymentProduct =  $this->_hipayConfig->getCcTypesMapper();

        if (!in_array($paymentProduct[strtolower($info->getCcType())], $availableTypes)) {
            $errorMsg = __('This credit card type is not allowed for this payment method.');
        }
etiennelandais commented 3 years ago

Bonjour,

cette erreur a été corrigée dans la derniére release

https://github.com/hipay/hipay-fullservice-sdk-magento2/releases/tag/1.10.2