Neu Sendungsnummer an PayPal senden

gboehm

Sehr aktives Mitglied
30. Januar 2011
1.068
93

talis3r

Aktives Mitglied
24. März 2019
99
12
Münster
Vielen Dank für das Tool ! Gibts eine Kaffeekasse ? :) würde mich gern bedanken.

Doch leider fehlt es bei mir noch einer kleinen Einstellung - leider funktioniert es mit den Abgleich nicht so richtig.
Es wurde:
1.
- pp_tracking_id.py
- pp_tracking_id.exe
- config.yaml.example
- requirements.txt
In einem Verzeichnis abgelegt

2. API Zugriff wurde erstellt und ist in der config.yam.example Datei

Doch Leider klappt es nicht so ganz - kann es sein das er mir immer Anzeigt das beim Test des Workflows immer
"Der Verzeichnisname ist ungülitg"
Verzeichnis habe ich mehrmals kontrolliert - das passt aufjedenfall auch immer unter den 3 Punkten eingstellt.

Habt ihr vll noch eine Idee woran es liegen könnte ?

VG Lukas
 

Anhänge

  • Unbenannt.png
    Unbenannt.png
    399,2 KB · Aufrufe: 28

gboehm

Sehr aktives Mitglied
30. Januar 2011
1.068
93
Nein, eine Kaffeekasse gibt es nicht. Das Tool einfach nutzen und gut ist's :)
  1. config.yaml.example bitte umbenennen in config.yaml
  2. die API Zugangsdaten gehören in eine Datei namens .env.xxx (production oder sandbox) Siehe: Zugangsdaten
  3. teste auf der Console (cmd) ob das ganze funktioniert. Siehe: Skript starten. Die Transaktions ID ist hierbei völlig irrelavent - sie muss nicht unbedingt existieren. Es sollte dann ein Verzeichnis ./failed-trasactions erstellt werden mit einem Log, in welchem dann sinngemäß stehen sollte, dass die transction Id nicht gefunden wurde (Errormessage: RESOURCE_NOT_FOUND: The specified resource does not exist) -> dann hat der API Zugang funktioniert und alles ist gut
  4. Stelle im Workflow 'Ausführungsverzeichnis' mal von 'festlegen' auf 'Wie Programm/Skript' um
 

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.296
1.235
Hallo,
weiß jemand ob das neue plugin ( paypal chekcout ) sendungsnummern an paypal sendet? konnte darüber keine infos finden. Und funktioniert die hier vorschgeschlagene lösung auch bei paypal checkout plugin? Vielen Dank

Also laut issue tracker:
https://issues.jtl-software.de/issues/SHOP-3268
solll das thema mit der PP Checkout Version 1.1 gelöst werden.

Die PP 1.1 - laut github - ist gerade "in progress"
https://gitlab.com/jtl-software/jtl-shop/plugins/jtl_paypal_commerce
dazu gleich die xml mit dem Versionshinweis:
https://gitlab.com/jtl-software/jtl-shop/plugins/jtl_paypal_commerce/-/blob/master/info.xml

Wann die jedoch kommt....kA
Ob die erst mit/für 5.2 kommt/vorher/später und/oder abwärtskompatibel (zu Shop 5.1.x) ist, kann nur JTL beantworten.
 

talis3r

Aktives Mitglied
24. März 2019
99
12
Münster
Nein, eine Kaffeekasse gibt es nicht. Das Tool einfach nutzen und gut ist's :)
  1. config.yaml.example bitte umbenennen in config.yaml
  2. die API Zugangsdaten gehören in eine Datei namens .env.xxx (production oder sandbox) Siehe: Zugangsdaten
  3. teste auf der Console (cmd) ob das ganze funktioniert. Siehe: Skript starten. Die Transaktions ID ist hierbei völlig irrelavent - sie muss nicht unbedingt existieren. Es sollte dann ein Verzeichnis ./failed-trasactions erstellt werden mit einem Log, in welchem dann sinngemäß stehen sollte, dass die transction Id nicht gefunden wurde (Errormessage: RESOURCE_NOT_FOUND: The specified resource does not exist) -> dann hat der API Zugang funktioniert und alles ist gut
  4. Stelle im Workflow 'Ausführungsverzeichnis' mal von 'festlegen' auf 'Wie Programm/Skript' um
Vielen Dank für die schnelle Antwort.
Ja hier ist der Fehler bei Punkt 2.
Habe die Daten in die config-yaml geschrieben.
Wie erstelle ich eine .env Datei ? einfach eine txt datei in .env speichern ?
VG Lukas
 

gboehm

Sehr aktives Mitglied
30. Januar 2011
1.068
93
Vielen Dank für die schnelle Antwort.
Ja hier ist der Fehler bei Punkt 2.
Habe die Daten in die config-yaml geschrieben.
Wie erstelle ich eine .env Datei ? einfach eine txt datei in .env speichern ?
VG Lukas
Ja, genau so. Einfach die Daten im Texteditor eintragen und dann als .env.production (für die live API) speichern. Wichtig, auch sie muss im gleichen Verzeichnis liegen, wie die .exe
 

talis3r

Aktives Mitglied
24. März 2019
99
12
Münster
Dann habe ich das ja soweit richtig gemacht :)
Wenn ich jetzt versuche das Script zu starten mit:
C User ..... pp_tracking_id.exe -p transaction_id=<pp Transaktionscode> tracking_number=<carrier tracking id> carrier_other_name="< anderer carrier name>"
Ensteht bei mir leider kein ./failed-trasactions Ordner....
Meist kommt nur ein Fatal error wo drin steht "failed to execute script pp_tracking_id"

Wenn ich das ganze über JTL ausführe - kommt kein Fehler - aber es wird auch keine Tracking ID übertragen.

Sorry für die vielen Fragen - aber das schon ein wenig deep für mich :D

VG
 

markenschuheshop

Gut bekanntes Mitglied
8. September 2010
260
11
Hallo,
eine sache verstehe ich noch nicht ganz, was muss im Auftragstexg stehen damit z.b DHL Paket als versandart bei Paypal ausgegeben wird. Hier meine Parameter:
-p transaction_id="{{ Vorgang.Auftrag.Zahlungen.ErstesObjekt.ExterneTransaktionsID }}" tracking_number="{% if Vorgang.Pakete.ErstesObjekt.Sendungsreferenz != empty -%}{{ Vorgang.Pakete.ErstesObjekt.Sendungsreferenz }}{% else -%}{{ Vorgang.Pakete.ErstesObjekt.TrackingID }}{% endif -%}" carrier="{{ Vorgang.Pakete.ErstesObjekt.Versandart.Auftragstext }}"
 

gboehm

Sehr aktives Mitglied
30. Januar 2011
1.068
93
probier mal DHL_PACKET. Ansonsten kannst Du es noch statt mit
Code:
carrier=xxxx
mit
Code:
carrier_other_name=xxxx
versuchen. Dort dürftest Du, soweit ich mich erinnern kann, übergeben was du möchtest, also auch 'DHL PACKET'
 

markenschuheshop

Gut bekanntes Mitglied
8. September 2010
260
11
probier mal DHL_PACKET. Ansonsten kannst Du es noch statt mit
Code:
carrier=xxxx
mit
Code:
carrier_other_name=xxxx
versuchen. Dort dürftest Du, soweit ich mich erinnern kann, übergeben was du möchtest, also auch 'DHL PACKET'
OK, werde ich mal mit der zweiten Variante versuchen, beim ersten mit DHL_PACKET wird immer Deutsche Post bei Paypal ausgegeben.
 

markenschuheshop

Gut bekanntes Mitglied
8. September 2010
260
11
also das setzen von richtige versender funktioniert nicht richtig, hab schon viele varianten ausprobiert und immer ordnet paypal die Deutsch Post ein, obwohl sollte DHL Paket sein. Wenn ich bei paypal manuell DHL Paket anpasse gibt der mir diese variable raus ( DE_DHL_PACKET ) aber auch diese scheint nicht zu greifen. hat sonst niemand das Problem? Fals es bei jemanden tadellos funktioniert , teilt mir bitte die Richtige variable mit. Danke
 

gboehm

Sehr aktives Mitglied
30. Januar 2011
1.068
93
Benutzt Du denn "carrier_name_other"?
Mit "carrier_name_other" sollte es möglich sein jeden Text zu übergeben. Ich "missbrauche ich zB die Einstellung für Amazon (wir verkaufen nicht auf Amazon). Dort habe ich dann zB 'Deutsche Post' für Briefsendungen oder einfach 'DHL' für Paketsendungen hinterlegt. Beides sind laut PayPal Doku keine offiziellen Variablen, werden aber trotzdem so gesetzt.

Meine Parameter sehen wie folgt aus:
Code:
-p transaction_id={{ Vorgang.Auftrag.Zahlungen.ErstesObjekt.ExterneTransaktionsID }} tracking_number="{{ Vorgang.Pakete.ErstesObjekt.Hinweis }}" carrier_name_other="{{ Vorgang.Auftrag.Versandart.AmazonCarrierCode }}"

Wenn alle Stricke reißen, könntest Du evtl. auch je Versandart einen eigenen Workflow anlegen und Deinen Text fest in den Parametern hinterlegen à la
Code:
... carrier_name_other="superschnellster Logistiker ever"
 

markenschuheshop

Gut bekanntes Mitglied
8. September 2010
260
11
Es sollten soweit ich weiß schon die vorgegeben Variablen von Paypal sein, damit das System von denen automatisch den aktuellen Status der Sendung trackt, bei uns z. B werden die Gelder erst bei Zustellung freigegeben. Aktuell muss ich die versand Arten immer manuell anpassen und ist mühsam.
 

talis3r

Aktives Mitglied
24. März 2019
99
12
Münster
Ich bins nochmal
Alles soweit geklappt -Vielen Dank ! nur das es automatisch per WF an PP verschickt wird klappt leider noch nicht ganz.
Manuelles Antsoßen des WF ohne Probleme und die Tracking ID ist bei PP akutalisiert.

Habe einmal bei Bedienungen - alles weggelassen oder Versand = true eingestellt
Beides klappt leider nicht.
Habe ich irgendwas übersehen ?

VG Lukas
 

Anhänge

  • Unbenannt.png
    Unbenannt.png
    191,7 KB · Aufrufe: 10

holzpuppe

Sehr aktives Mitglied
14. Oktober 2011
1.709
252
Leipzig
@Jtl - für den Fall, dass das hier nicht erwünscht ist, bitte löschen

Moin zusammen,

ich habe mal ein kleines Skript zusammengezimmert, welches über einen Workflow getriggert die Sendungsdaten an PayPal übertragen kann. Evtl. fndet das ja jemand nützlich, bis es da was natives von JTL gibt.

Was macht das Skript
Es implementiert in Teilen die Tackers batch resource group von PayPal, welche hier beschrieben ist:
https://developer.paypal.com/api/tracking/v1/#trackers-batch_post

Limitationen
  • Das Skirpt unterstützt das Setzen der Sendungsdaten von genau einer Transkation. Sollen Sendungsdaten für meherere Transaktionen gesetzt werden, muss das Skript entsprechend oft aufgerufen werden.
  • Es wird nur der Shipping Status ```SHIPPED``` unterstützt
  • wenn keine Sendungsnummer angegeben wird, setzt Paypal den Carrier automatisch auf ```MANUAL```
Wie startet man das Skript
Am Besten über einen Workflow. Hier bietet sich zB "Versand - Versendet" an.

Bedingung auf Zahlungsart == Paypal
  • Aktionen
    • Programm/Skript: pp_tracking_id.exe
    • Parameter:
      Code:
      -p transaction_id={{ Vorgang.Auftrag.Zahlungen.ErstesObjekt.ExterneTransaktionsID }} tracking_number={{ Vorgang.Pakete.ErstesObjekt.TrackingID }} carrier_name_other="{{ Vorgang.Pakete.ErstesObjekt.Versandart.Name }}"
      Parameter, die Leerzeichen enthalten (können) zB Carrier Name bitte in Hochkommas einschließen
    • Auf Prozess warten: Ja
    • Kommandozeile benutze: ja
    • Pfad: Da wo das Skript liegt

Den Anhang 79153 betrachten

Testweise kann es auch über die Kommandozeile ausgeführt werden:
Code:
pp_tracking_id.exe -p transaction_id=6U919960K01334848 tracking_number= carrier_other_name=Deutsche_Post

Skipt und README.md liegen hier: https://www.dropbox.com/sh/ni1ekzsff5z0dqo/AAA406x-YbKbJW6L1RZ4e9ZBa?dl=0
Bitte unbedingt auch die README.md lesen!

Zu guter Letzt noch ein paar Hinweise:
  • Ich übernehme keinerlei Haftung
  • Das Skript "works as designed"
  • ich habe es nur mit einzelen Aktionen gegen PayPals Test-API getestet, daher kann ich nicht sagen, wie weit es skaliert. Ob es mit dutzenden/hunderten oder gar tausenden gleichzeitigen Aktionen funktionier dürfte insbesondere auch von der Leistungsfähig der Maschien abhängen auf der es läuft, da für jede einzelne PayPal Transktions ID eine Instanz des Skripts gestarted und nach Erledigung aber auch gleich wieder beendet wird.
  • das Skript ist in Python geschrieben. Der Source-Code steht auch zur Verfügung and kann gerne verwendet/verbessert werden
  • Support auf best-effort Basis
Vielen Dank für das Skript. Läuft einwandfrei. :D

Anbei ein paar Anmerkungen zur „Handhabung/Einstellung“. Ok, ich bin Anfänger was den Bereich „Coden“ betrifft und die die null Ahnung davon haben, stehen vielleicht vor einer Wand.
Gibt es einen bestimmten Grund, warum die Dateien in „src“ nicht vollständig sind und man manuell die Dateien dahin schieben muss? Vorausgesetzt, man macht keinen eigenen Ordner mit den entsprechenden Dateien.
Ich bin aber faul und nehme gerne die Datenstruktur wie sie ist. Damit ich später noch weiß, was das alles sein soll oder sein könnte. XD
Die Datei „.env.production“ und die andere könnten doch auch als Beispieldateien beiliegen.
Die *.exe muss man separat downloaden und Windows zickt rum, da die Datei zu selten im Defender auftaucht. Ich denke in der Zip abgelegt, kommt es vielleicht nicht zu einer Warnmeldung.

Ansonsten: Vielen Dank nochmals für deine Mühe.
Mal schauen ob das Skript jemals obsolet wird, wenn JTL das PayPal-Plugin entsprechend anpasst. (Die Trackingnummern sollten theoretisch in der Shop-DB vollständig und vorhanden sein.)

Grüße
 

holzpuppe

Sehr aktives Mitglied
14. Oktober 2011
1.709
252
Leipzig
Das scheint mir der falsche trigger. Lege den Workflow mal auf "Lieferscheine - erstellt".
Eigentlich ist „versendet“ schon richtig.
Aber bei den Bedingungen sollte die Zahlungsart "PayPal" sein, sonst rödelt der Workflow, auch, wenn gar nicht mit PayPal gezahlt wurde.
Also in Bedingung „Auftrag.Zahlungsart.--suchen-- gleich [alles mit PayPal auswählen]“ setzen. :)

Ich sehe ein potenzielles Problem, wenn das auf „Lieferschein erstellt“ steht und die Sendungsdaten nicht erfolgreich übertragen werden können (Adressfehler).
Dann wird nach einer Korrektur der Workflow nicht noch einmal ausgeführt.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Sendungsnummer unterdrücken eBay-Anbindung - Ideen, Lob und Kritik 0
Neu Dropshipping / Lieferantenbestellung / Auslieferung / Sendungsnummer User helfen Usern - Fragen zu JTL-Wawi 6
Beantwortet Bei "Paket hinzufügen" sofortiger Labeldruck mit neuer Sendungsnummer Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Briefsendungen - Sendungsnummer / Sendungsreferenz nicht übermitteln Amazon-Anbindung - Fehler und Bugs 7
Neu Vorlage Mail an DHL mit - Sendungsnummer im Betreff User helfen Usern - Fragen zu JTL-Wawi 5
Paypal Zahlungsanbindung geht nicht mehr JTL-Wawi 1.10 2
Neu Rückzahlungen: Paypal / Bank - (Standard)-Verwendungszweck anpassen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Paypal-Zahlungen zuweisen, die aus Shopware bereits als gezahlt kommen Arbeitsabläufe in JTL-Wawi 2
Neu Wie kann man PayPal-Kunden eine bestimmte Debitorennummer zuweisen? JTL Ameise - Eigene Exporte 8
PayPal Zahlungsabgleich in Wawi nicht mehr sichtbar wegen zu langem Verwendungszweck? JTL-Wawi 1.9 2
Neu Probleme mit Klarna und PayPal Plugins für JTL-Shop 0
Neu Paypal-Probleme (Smartbuttons) nach Shop-Update Betrieb / Pflege von JTL-Shop 0
Neu Expresskauf lässt sich in Paypal Plugin nicht ändern Plugins für JTL-Shop 1
Neu Paypal-Button "Später bezahlen" verschwindet nach Variationsauswahl Plugins für JTL-Shop 0
Neu Paypal Bestellungen werden teilweise nicht übertragen Allgemeine Fragen zu JTL-Shop 5
verschiedene Zahlungsarten via Paypal JTL-Wawi 1.9 2
Neu Probleme beim Einrichten des PayPal Plugins beim Onboarding Plugins für JTL-Shop 1
[1.9.7.0]Paypal Anbindung - Benutzerdaten können nicht angegeben werden JTL-Wawi 1.9 3
Neu Paypal Checkout Plugin - Kaufdetails an Paypal übergeben Einstellung Plugins für JTL-Shop 5
Lieferantenbestellung an mehrere E-Mail adressen gleichzeitig zu senden JTL-Wawi 1.9 0
In Diskussion Workflow email senden bei Bestandsänderung (nur Erhöhung) JTL-Workflows - Ideen, Lob und Kritik 41
Neu Unbehandelte Ausnahme #959190594F6282F Artikel-Senden-Fehler Shopify-Connector 6

Ähnliche Themen