Neu Sendungsnummer an PayPal senden

gboehm

Sehr aktives Mitglied
30. Januar 2011
1.058
87

talis3r

Aktives Mitglied
24. März 2019
82
7
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: 26

gboehm

Sehr aktives Mitglied
30. Januar 2011
1.058
87
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.172
1.078
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
82
7
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.058
87
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
82
7
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
237
10
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.058
87
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
237
10
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
237
10
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.058
87
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
237
10
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
82
7
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: 9

holzpuppe

Sehr aktives Mitglied
14. Oktober 2011
1.685
244
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.685
244
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 Bei Hermes ist Sendungsnummer gleichzeitig die Retourennummer. Otto.de - Anbindung (SCX) 3
Neu JTL überträgt Versandart Sendungsnummer nur teilweise an Amazon Amazon-Anbindung - Fehler und Bugs 3
V1.8.11: "Versand" / "Lieferscheine versendet" - Wo ist das Suchfeld für Sendungsnummer geblieben? JTL-Wawi 1.8 2
Neu JTL Paypal Checkout Button bei Konfigurationsartikel verhindern Plugins für JTL-Shop 3
Neu JTL PayPal: Plugin - Bestellungen werden nicht angezeigt. Fehlermeldung "Unable to load config 'file:.conf'" Plugins für JTL-Shop 2
Neu PayPal Checkout: Verständnisfrage Plugins für JTL-Shop 0
Neu Paypal express Kauf nimmt Versandart Abholung (kostenlos) Plugins für JTL-Shop 0
Neu Paypal Plugin Version 1.2.0 läuft und 1.4.0. läuft nicht auf derselben Umgebung Plugins für JTL-Shop 0
Ich habe auf NOVA umgestellt aber PayPal funktioniert nicht Einrichtung JTL-Shop5 1
Neu Änderung des Auftrags nach Zahlungseingang Paypal Arbeitsabläufe in JTL-Wawi 7
Neu PayPal Checkout: Kunden verwirrt wegen Zahlungsart Name Plugins für JTL-Shop 0
Neu Erledigt - Plugin PayPal Checkout, Update auf 1.4.0, Komplettabsturz Plugins für JTL-Shop 1
Neu Paypal Gebühren neue AGB Allgemeine Fragen zu JTL-Shop 1
Neu PayPal Checkout mit Apple Pay und Google Pay Plugins für JTL-Shop 2
Neu JTL-Shop 5 Paypal Zahlung 30 Tage Zahlungsziel Allgemeine Fragen zu JTL-Shop 6
Neu Paypal Plugin erzeugt "Quirks Mode" Betrieb / Pflege von JTL-Shop 0
Neu PayPal Checkout - Bestellungen werden nicht übertragen! User helfen Usern - Fragen zu JTL-Wawi 1
Neu PayPal Checkout 1.3.0 Log Notice Mindestbestellwert Plugins für JTL-Shop 1
Neu PayPal Checkout - Beschreibung der Kaufdetails Plugins für JTL-Shop 0
PayPal - Consent-Manager Einrichtung JTL-Shop5 0
PayPal Checkout Personalisieren Einrichtung JTL-Shop5 6
JTL Shop Kreditkartenzahlung erneut an Kunden senden Allgemeine Fragen zu JTL-Shop 0
Neu Workflow Aktion E-Mail senden kann nicht Plain und HTML Email zusammen versenden Arbeitsabläufe in JTL-Wawi 6
Neu Lieferantenbestellung als CSV mit selbst festgelegten Spalten per Mail senden Arbeitsabläufe in JTL-Wawi 1
Kann ich eine email an die Wawi senden durch die dann ein neuer Auftrag generiert wird? (Daten müssen händisch vervollständigt werden...) JTL-Wawi 1.8 2
Neu Lieferscheine digital unterschreiben und automatisch an Kunden senden Eigene Übersichten in der JTL-Wawi 3
Workflow Auftraqspositionen per Email an Kunden senden JTL-Wawi 1.7 3
App Angebot senden JTL-Wawi App 0
Neu OSS: Für Händler ins Ausland senden Business Jungle 2
Neu Wie kann ich Alt-Texte für Bilder an Shopify senden? Shopify-Connector 2
Neu per Workflow: WhatsApp oder ähnliches senden User helfen Usern - Fragen zu JTL-Wawi 0

Ähnliche Themen