Jump to content

Commande payée par paypal n'apparait pas en BO (Order validation error : Can't load Order status/classes/PaymentModule.php)


Recommended Posts

Bonjour,

J'ai un gros soucis sur une commande payée par Paypal (version 6.0.2)
J'ai recu le paiement, mais je n'ai pas de commande en BO.
Je n'ai qu'un panier (avec un fichier personnalisé que je ne peux pas récupérer)

Le log dans le module paypal est :

Order validation error : Can't load Order status; File: /home/XXXX/public_html/classes/PaymentModule.php; Line: 247;

Avez-vous une solution ?
Merci...

Edited by gouna (see edit history)
Link to comment
Share on other sites

J'ai ce problème en mode DEBUG sur la page de tunnel de commande :

 ContextErrorException
Notice: Trying to access array offset on value of type null

in 697d138c51b9bcfac0a7c6cc48c663cdf0ecb073_2.file.order-confirmation-table.tpl.php line 188

Je pense que le problème est lié aux statuts de commande inutilisés que j'ai supprimé de ma BDD récemment

Edited by gouna (see edit history)
Link to comment
Share on other sites

2 hours ago, gouna said:

J'ai ce problème en mode DEBUG sur la page de tunnel de commande :

 ContextErrorException
Notice: Trying to access array offset on value of type null

in 697d138c51b9bcfac0a7c6cc48c663cdf0ecb073_2.file.order-confirmation-table.tpl.php line 188

Je pense que le problème est lié aux statuts de commande inutilisés que j'ai supprimé de ma BDD récemment

order-confirmation-table.tpl ligne 188 il y a un un foreach sur un array null, il faut voir pourquoi il est null, il devrait pas.

Link to comment
Share on other sites

The error message "Order validation error: Can't load Order status/classes/PaymentModule.php" usually indicates a problem with the payment module in the back office. This error can occur if there is an issue with the PHP file responsible for loading order statuses related to PayPal payments. To resolve this, you can try reinstalling or updating the payment module. Additionally, check if there are any compatibility issues between the module and the version of your e-commerce platform. If the problem persists, contact the module developer or support team for further assistance.

Link to comment
Share on other sites

Tout d'abord : merci pour votre réponse et votre aide.

Je consulte une sauvegarde de ma BDD avant d'avoir supprimé les status de commande inutilisés (pour me débarrasser entre autres d'anciennes entrées Hipay et Relais colis qui n'ont pas été supprimés en même temps que les modules), et en comparant avec ma BDD actuelle, dans 'ps_order_state', j'ai une nouvelle entrée (pas présente dans mon ancienne BDD) qui semble être totalement vide :

(74, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0),

Est-ce que je peux restaurer l'ancienne table ps_order_state sans risques ?

Merci 

 

Edited by gouna (see edit history)
Link to comment
Share on other sites

22 minutes ago, gouna said:

Tout d'abord : merci pour votre réponse et votre aide.

Je consulte une sauvegarde de ma BDD avant d'avoir supprimé les status de commande inutilisés (pour me débarrasser entre autres d'anciennes entrées Hipay et Relais colis qui n'ont pas été supprimés en même temps que les modules), et en comparant avec ma BDD actuelle, dans 'ps_order_state', j'ai une nouvelle entrée (pas présente dans mon ancienne BDD) qui semble être totalement vide :

(74, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0),

Est-ce que je peux restaurer l'ancienne table ps_order_state sans risques ?

Merci 

 

Quel est votre version de PS ?

Link to comment
Share on other sites

Il y a 2 heures, wepresta a dit :

Pouvez-vous me faire un screenshot ou copier coller de votre code de order-confirmation-table.tpl svp

 

<div id="order-items" class="">
  <div class="row">
      {block name='order_items_table_head'}
        <h3 class="table__title-head col-md-6 col-12">{l s='Order items' d='Shop.Theme.Checkout'}</h3>
        <h3 class="table__title-head col-md-2 text-md-center _desktop-title">{l s='Unit price' d='Shop.Theme.Checkout'}</h3>
        <h3 class="table__title-head col-md-2 text-md-center _desktop-title">{l s='Quantity' d='Shop.Theme.Checkout'}</h3>
        <h3 class="table__title-head col-md-2 text-md-center _desktop-title">{l s='Total products' d='Shop.Theme.Checkout'}</h3>
      {/block}
  </div>

  <div class="order-confirmation-table">

      {block name='order_confirmation_table'}
          {foreach from=$products item=product}
            <div class="order-line row">
              <div class="col-sm-2 col-3">
            <span class="image">
              <img src="{$product.cover.medium.url}" class="img-fluid"/>
            </span>
              </div>
              <div class="col-sm-4 col-9 details">
                  {if $add_product_link}<a href="{$product.url}" target="_blank">{/if}
                  <span>{$product.name}</span>
                      {if $add_product_link}</a>{/if}
                  {if is_array($product.customizations) && $product.customizations|count}
                      {foreach from=$product.customizations item="customization"}
                        <div class="customizations">
                          <a href="#" data-toggle="modal" data-target="#product-customizations-modal-{$customization.id_customization}">{l s='Product customization' d='Shop.Theme.Catalog'}</a>
                        </div>
                        <div class="modal fade customization-modal" id="product-customizations-modal-{$customization.id_customization}" tabindex="-1" role="dialog" aria-hidden="true">
                          <div class="modal-dialog" role="document">
                            <div class="modal-content">
                              <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                  <span aria-hidden="true">&times;</span>
                                </button>
                                <h4 class="modal-title">{l s='Product customization' d='Shop.Theme.Catalog'}</h4>
                              </div>
                              <div class="modal-body">
                                  {foreach from=$customization.fields item="field"}
                                    <div class="product-customization-line row">
                                      <div class="col-sm-3 col-4 label">
                                          {$field.label}
                                      </div>
                                      <div class="col-sm-9 col-8 value">
                                          {if $field.type == 'text'}
                                              {if (int)$field.id_module}
                                                  {$field.text nofilter}
                                              {else}
                                                  {$field.text}
                                              {/if}
                                          {elseif $field.type == 'image'}
                                            <img src="{$field.image.small.url}">
                                          {/if}
                                      </div>
                                    </div>
                                  {/foreach}
                              </div>
                            </div>
                          </div>
                        </div>
                      {/foreach}
                  {/if}
                  {hook h='displayProductPriceBlock' product=$product type="unit_price"}
              </div>
              <div class="col-sm-6 col-12 qty">
                <div class="row">
                  <div class="col-4 text-sm-center text-left">{$product.price}</div>
                  <div class="col-4 text-sm-center">{$product.quantity}</div>
                  <div class="col-4 text-sm-center text-right bold">{$product.total}</div>
                </div>
              </div>
            </div>
          {/foreach}

        <hr>

        <table class="table table-borderless table-sm mb-0">
            {foreach $subtotals as $subtotal}
                {if $subtotal.type !== 'tax' && $subtotal.label !== null}
                  <tr>
                    <td>{$subtotal.label}</td>
                    <td class="text-right">{if 'discount' == $subtotal.type}-&nbsp;{/if}{$subtotal.value}</td>
                  </tr>
                {/if}
            {/foreach}

            {if !$configuration.display_prices_tax_incl && $configuration.taxes_enabled}
              <tr>
                <td><span class="text-uppercase">{$totals.total.label}&nbsp;{$labels.tax_short}</span></td>
                <td class="text-right">{$totals.total.value}</td>
              </tr>
              <tr class="total-value font-weight-bold">
                <td><span class="text-uppercase">{$totals.total_including_tax.label}</span></td>
                <td class="text-right">{$totals.total_including_tax.value}</td>
              </tr>
            {else}
              <tr class="total-value font-weight-bold">
                <td><span class="text-uppercase">{$totals.total.label}&nbsp;{if $configuration.taxes_enabled}{$labels.tax_short}{/if}</span></td>
                <td class="text-right">{$totals.total.value}</td>
              </tr>
            {/if}
            {if $subtotals.tax.label !== null}
              <tr class="sub taxes">
                  <td class="small"><span class="label">{l s='%label%:' sprintf=['%label%' => $subtotals.tax.label] d='Shop.Theme.Global'}</span>&nbsp;<span class="value">{$subtotals.tax.value}</span></td>
              </tr>
            {/if}
        </table>
      {/block}

  </div>
</div>

 

Link to comment
Share on other sites

Voici les 3 erreur que j'ai trouvé en mode debug (peut-être qu'il n'y a pas de lien avec mon problème) :

- 1ere erreur : sur ma page catégorie "mère" https://gounacreations.com/66-la-boutique :

(1/1) ContextErrorException
Notice: Trying to access array offset on value of type null

in 01cfb7004c820b07a5d832addece2040e0682962_2.file.microdata-jsonld.tpl.php line 57
at content_6513bc25a33368_33435852(object(SmartyDevTemplate))

- 2ème erreur : lors de l'ajout au panier et/ou de l'accès au panier :

(1/1) ContextErrorException
Notice: Trying to access array offset on value of type null

in 7ef2c096b2f1ecb6d7d709d6bb492069014e16ff_2.file.cart-detailed-totals.tpl.php line 85
at Block_198925375165142354bc8537_63114749->callBlock(object(SmartyDevTemplate))

- 3ème erreur : sur la page de validation de commande

(1/1) ContextErrorException
Notice: Trying to access array offset on value of type null

in 697d138c51b9bcfac0a7c6cc48c663cdf0ecb073_2.file.order-confirmation-table.tpl.php line 188
at Block_8382138896513bc25c2d904_36062359->callBlock(object(SmartyDevTemplate))


Merci par avance pour votre aide  (si possible).

EDIT : si je passe en PHP 7.3 au lieu de 7.4,  je n'ai plus d'erreur en mode debug

Edited by gouna (see edit history)
Link to comment
Share on other sites

Merci, 

Du coup je me suis un peu éparpillé, je repasse en PHP 7.3 en attendant une nouvelle version du mon thème (BLCK) pour les problèmes de "Trying to access array offset on value of type null"

Pour revenir au problème initial de ce sujet, je viens de me rendre compte que je ne peux pas modifier les associations entre états de commande paypal et prestashop dans le menu diagnostic du module, du coup tous les états sont sur "Annulé".
J'ai un message d'erreur lorsque je tente d'enregistrer les modifications en debug mode, j'en informe donc le service technique du module paypal et je reviens vers vous si j'ai une réponse.

bugpaypaletatsdecommande.thumb.png.b484970d3fb1bfb9ae55bfae5e553da8.png


En attendant je repasse en version 5.8.1 qui semble fonctionner correctement (même si je ne peux pas passer les commandes en "Annulé" en mode Sandbox).

Merci.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...