VincentD

Utilisateur open source
  • Compteur de contenus

    8
  • Inscrit(e) le

  • Dernière visite


Messages posté(e)s par VincentD


  1. Bonjour,

    J'ai modifié le fichier ipn.php, en mettant les bons id pour chaque $peel_status.

    Je trouve ça un peu limite de devoir faire ces modifications, disons "étonnant" que ces statuts de paiement soient incorrects dans le fichier que j'ai reçu dans mon peel premium.

    Est-ce que c'est normal, ou est-ce un bug qui va être corrigé dans une mise à jour ? J'ai du mal à croire que je sois le seul à être confronté à ce problème.


  2. Rebonjour,

    Bon, je commence à voir le problème.

    Dans create_new_site.sql :

    INSERT INTO `peel_statut_paiement` (`position`, `technical_code`, `site_id`) VALUES
    (0, "discussed", "[SITE_ID]"),
    (1, "pending", "[SITE_ID]"),
    (2, "being_checked", "[SITE_ID]"),
    (3, "completed", "[SITE_ID]"),
    (6, "cancelled", "[SITE_ID]"),
    (9, "refunded", "[SITE_ID]");

     

    Au lieu de créer la table avec les "id" correspondants aux statuts, ce sont les "position" qui sont mentionnées. Donc la table a id = 4 pour "completed", par exemple.

    Or, dans ipn.php :

    if ($payment_status == "Completed") {
                            $peel_status = 3;

    Le statut en dur est 3 pour "Completed", mais la table peel_statut_paiement a été créée avec l'id 4 pour "completed"...

    Je ne comprenais pas pourquoi les statuts de paiement sont corrects pour la CB, et pas pour paypal, donc j'ai poursuivi en regardant la fonction update_order_payment_status dans /lib/fonctions/order.php, et je vois qu'il y a un chemin quand on passe un booléen ($status_or_is_payment_validated === true, pour les paiements CB par exemple), et un autre quand on passe une valeur ( elseif(is_numeric($status_or_is_payment_validated) comme le fait ipn.php).

    À partir de là, ça se complique un peu, je ne vois pas comment en passant un 3 comme $peel_status on peut espérer obtenir au final un 4 (qui est le bon id pour avoir une commande en "completed"). Peut-être du côté de $payment_status_by_legacy_id_compatibility_array...

    Voilà, j'en suis là, merci de votre aide.

     


  3. J'ai remplacé les infos identifiantes par des XXXXX pour le forum, mais elles sont bien là.

    Sujet : INFOS - commande XXXXXX

    Contenu : Les informations techniques sont : 

    Array
    (
    [mc_gross] => xx.xx
    [protection_eligibility] => Eligible
    [address_status] => unconfirmed
    [payer_id] => XXXXXXXXXX 
    [tax] => 0.00
    [address_street] => XXXXXXXXXXXXXXXXXXXXXXXX
    [payment_date] => 01:13:55 Sep 07, 2015 PDT
    [payment_status] => Completed
    [charset] => windows-1252
    [address_zip] => xxxx
    [first_name] => xxxxxxx
    [mc_fee] => x.xx
    [address_country_code] => FR
    [address_name] => XXXX XXXXXX
    [notify_version] => 3.8
    [custom] => 
    [payer_status] => verified
    [business] => xxxxx@xxxxx.xxx
    [address_country] => France
    [address_city] => XXXXXXXX
    [quantity] => 1
    [verify_sign] => XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    [payer_email] => xxxxx@xxxxx.xxx
    [txn_id] => XXXXXXXXXXXXX
    [payment_type] => instant
    [last_name] => XXXXXXXX
    [address_state] => 
    [receiver_email] => xxxxx@xxxxx.xxx
    [payment_fee] => 
    [receiver_id] => XXXXXXXXXXXX
    [txn_type] => web_accept
    [item_name] => XXXXXXX Commande XXXXX
    [mc_currency] => EUR
    [item_number] => XXXXX
    [residence_country] => CH
    [handling_amount] => 0.00
    [transaction_subject] => 
    [payment_gross] => 
    [shipping] => 0.00
    [ipn_track_id] => xxxxxxxxxx
    )

Twitter Advisto ecommerce

Facebook PEEL Shopping