dansmaculotte/monetico-php

Fatal error après mise à jour en PHP 8.3

Opened this issue · 3 comments

Bien le bonjour à vous !

Tout d'abord merci pour le travail réalisé 😊

Petite requête, car je me casse les dents pour mettre les fichiers à jour, mais rien à faire, je me retrouve avec une signature MAC qui n'est pas correcte.
Dans un premier temps, je me retrouve avec un message :

<b>Fatal error</b>:  Uncaught DansMaCulotte\Monetico\Exceptions\Exception: dateTime value is not a DateTime object in /var/www/public/trouble-clic.com_v2/shop/monetico/dansmaculotte/monetico-php/src/Exceptions/Exception.php:30
Stack trace:
#0 /var/www/public/trouble-clic.com_v2/shop/monetico/dansmaculotte/monetico-php/src/Requests/PurchaseRequest.php(137): DansMaCulotte\Monetico\Exceptions\Exception::invalidDatetime()
#1 /var/www/public/trouble-clic.com_v2/shop/monetico/dansmaculotte/monetico-php/src/Requests/PurchaseRequest.php(120): DansMaCulotte\Monetico\Requests\PurchaseRequest-&gt;validate()
#2 /var/www/public/trouble-clic.com_v2/shop/paiements.php(411): DansMaCulotte\Monetico\Requests\PurchaseRequest-&gt;__construct()
#3 {main}
  thrown in <b>/var/www/public/trouble-clic.com_v2/shop/monetico/dansmaculotte/monetico-php/src/Exceptions/Exception.php</b> on line <b>30</b><br />

J'ai pu outrepasser cette erreur en commentant cette ces lignes :

if (!$this->dateTime instanceof DateTime) {
            throw Exception::invalidDatetime();
        }

Et en modifiant celle ci :
'date' => $this->dateTime->format(self::DATETIME_FORMAT),
Par
'date' => date('d/m/Y:H:i:s'),

Mais mainetnant je me retrouve avec un MAC incorrect
Capture d'écran 2024-01-17 221038

Auriez vous une solution ou correction à apporter ?
Merci en tous cas pour le temps que vous y consacrerez 😘

Bonjour,

J'ai juste outre passé la vérification du format de la date et mis ma date à la main.

Elle ressort correctement lors de l'envoi vers Monetico.

Au final je m'en suis sorti tout simplement en utilisant l'API Monetico directement, qui est moins convivial pour son utilisation, mais une fois que c'est en place ça fonctionne et il n'y a plus rien à toucher 😊