Jump to content
xt:Commerce Community Forum

PayPal - Orders Data - Bestellungen leer


Donja

Recommended Posts

Hallo Ihr,

wir haben vor ein paar Tagen PayPal aktualisiert.

xt:commerce: 5.1.4
PayPal: 2.10.2

Den Update-Hinweis:

"Bitte prüfen Sie in Ihren Templates, dass in product.html das Formular zum Artikel-Hinzufügen eine eindeutige Id hat.
Alt:{form type=form name=product action='dynamic' link_params=getParams method=post}
NEU:{form type=form name=product action='dynamic' link_params=getParams method=post id=\"main_product_form\" }"

bin ich nachgegangen.

 

Nun funktionierte die Bestellübersicht im Backend nicht mehr. Sie war schlichtweg leer.
In der Datenbank war allerdings noch alles vorhanden. Demnach lag die Vermutung nah das in den Bestellungen, inhaltlich, irgendwas nicht korrekt drin steht.

In der Tabelle xt_orders und der dazugrehörigen Spalte "orders_data" stand bei den letzten PayPal-Bestellungen folgendes drin:

a:1:{s:13:"paypal_txn_id";s:17:"7XN04652C3399091R";}
Das System lässt aber nur folgende Struktur zu: 7XN04652C3399091R

Nachdem ich bei den betreffenden Bestellungen nur den zugelassenen Code eingefügt habe, wurden auch wieder alle Bestellungen abgebildet.
Das Plugin habe ich erstmal deaktiviert.

 

Wie kommt das zustande und wie kann ich dem Abhilfe schaffen?

Danke und viele Grüße
 

Link to comment
Share on other sites

Hallo, hab zwar 6.1.2 FREE, aber das gleiche Plugin.

In der DB steht es exakt so wie du schriebst und funktioniert
a:1:{s:13:"paypal_txn_id";s:17:"7XN04652C3399091R";}

Nur die id habe ich ohne die 2 Backslash \ eingefügt:
NEU:{form type=form name=product action='dynamic' link_params=getParams method=post id=\"main_product_form\" }
Aber das hat vielleicht das Forum da reingemacht.?

Link to comment
Share on other sites

Hallo Ihr,

ja, hatte die Slashes natürlich entfernt. Das war nur der Hinweis welcher bei der Plugin-Aktualisierung da stand :) Danke dennoch.

Leider komme ich kein Stück weiter.

Mein Backend hat definitiv ein Problem wenn unter "order_data" folgendes Format steht:

a:1:{s:13:"paypal_txn_id";s:17:"7XN04652C3399091R";}

Steht nur die "ID", ist alles in Ordnung.

 

Ich weiß hier leider nicht weiter.

Bei allen anderen Zahlungsweisen steht unter "order_data" auch immer nur die "ID".

Link to comment
Share on other sites

Hallo Ihr,

ich habe mal ältere Bestellungen mit Paypal in der Datenbank angeschaut.

Dort erscheint unter "order_data" auch nur die ID und nicht der Code "a:1{s:13: ...."

Das heißt, hier muss/sollte nur die ID (Beispiel: 7XN04652C3399091R) drin stehen.

Mich wundert es das es bei Euch mit samt dem Code zu funktionieren scheint.

 

Link to comment
Share on other sites

Hallo, hab nochmal nachgesehen. Bis August (PayPal 2.9) stehen bei mir auch nur deine Beispiele drin, dann aktualisierte ich auf PayPal 2.10.1.
Seit dem dann die serialisierten Daten.

Drück in der Bestellübersicht mal F12 und schau ob du Fehlermeldungen entdeckst.

 

Link to comment
Share on other sites

Hallo,

ob F12 oder Strg+R oder das aktualisieren/Neu laden im Backend, macht keinen Unterschied.

Das System bringt keine Fehlermeldung trotz Debugmodus.
Es mag einfach nicht die Schreibweise " a:1:{s:13:"paypal_txn ...".

Mich wundert sehr das es bei Euch scheinbar keine Probleme damit gibt. Ich habe mit allen anderen Zahlungsmitteln kein Problem.
Bei den anderen Zahlungsmitteln wird in der Datenbank allerdings nur die ID eingetragen nicht serialisierten Daten.

Ich bin ratlos.

 

 

Link to comment
Share on other sites

in der php-error-log steht folgendes:

PHP Warning:  constant(): Couldn't find constant TEXT_PAYPAL_TXN_ID in /.../xtFramework/classes/class.order.php on line 890

 

In Zeile 890 steht folgendes:

$record->fields['order_info_options'][] = array('text'=>constant('TEXT_'.strtoupper($tkey)), 'data'=>$tkey,  'value'=>$tval);

 

Wenn ich in der Datenbank aus:

a:1:{s:13:"paypal_txn_id";s:17:"7XN04652C3399091R";}

folgendes mache:

a:1:{s:13:"TEXT_PAYPAL_TXN_ID";s:17:"7XN04652C3399091R";}

funktioniert die Darstellung im Backend wieder.

Das  kam mir seltsam vor. Scheint ja so das eine Text-Phrase nicht vorhanden ist.

 

Ich habe jetzt für den Sprachtext: TEXT_PAYPAL_TXN_ID

den Wert paypal_txn_id eingetragen, im Backend.

 

Und nun scheint es zu gehen. Verrückt.

Wie kann das passieren? Fehlen hier Schreibrechte bei der Installation/Update etc.?
 

Link to comment
Share on other sites

Hi, ja das ist merkwürdig.
Die Phrase TEXT_PAYPAL_TXN_ID  gibt es bei mir nicht.

Die Buchstabenkombination paypal_txn_id gibt es genau 1x:
plugins\xt_paypal\callback\class.callback.php Zeile 151:

$txn_data = array("paypal_txn_id"=> $this->data['txn_id']);

Das wird bei dir auch so sein. Ist dein Backend original oder von Agentur angepasst?

Link to comment
Share on other sites

Im Shopsystem - Original, steht  in /.../xtFramework/classes/class.order.php on line 890 genau das gleiche:

$record->fields['order_info_options'][] = array('text'=>constant('TEXT_'.strtoupper($tkey)), 'data'=>$tkey,  'value'=>$tval);

Die "Phrase TEXT_PAYPAL_TXN_ID" existiert auch nicht direkt in meinen Dateien.

 

Unter plugins\xt_paypal\callback\class.callback.php Zeile 151:

steht bei mir auch das wie bei Dir:

$txn_data = array("paypal_txn_id"=> $this->data['txn_id']);

 

Habe nun Sorge das dieses Verhalten auch andere Zahlungsmittel betreffen könnte.
Da ich hier nicht genau nachvollziehen kann warum ich das an dieser Stelle so lösen muss.

 

 

 

Link to comment
Share on other sites

Ich kann es dort versuchen. Es besteht kein SupportAbo.
SupportAbo in Höhe von 759,- € wäre für diesen Fall einfach zu teuer.

Zur Not setze ich das System nochmal neu auf und teste durch.

Wenn es sonst nirgends auftaucht, kann es nur am Theme liegen oder an einem spezifischen Plugin.
Die Anbieter schreibe ich auch nochmal an.

Ich gebe Bescheid, falls sich was tut.
 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...