Neu Sendungsnummer an PayPal senden

gboehm

Sehr aktives Mitglied
30. Januar 2011
1.065
91

talis3r

Aktives Mitglied
24. März 2019
87
10
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.065
91
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.259
1.195
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
87
10
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.065
91
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
87
10
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
256
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.065
91
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
256
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
256
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.065
91
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
256
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
87
10
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.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 oder Tracking-Link auf Export-Vorlage anzeigen Gelöste Themen in diesem Bereich 6
Neu [Entwarnung] ACHTUNG: JTL Shop 5.3.3 | Nach Update des JTL PayPal Commerce Plugins kein Backend mehr verfügbar (FATAL ERROR) Installation / Updates von JTL-Shop 2
paypal zahlunbgsabgleich bringt fehler JTL-Wawi 1.9 0
Nach Umstieg auf V5 Paypal express weg. Einrichtung JTL-Shop5 5
Neu Erstattungen per Paypal bei Stornierungen wird öfter nicht ausgezahlt Arbeitsabläufe in JTL-Wawi 0
Neu Probleme mit PayPal-Plugin: Bestellungen "pending" & doppelte Zahlungen nach Direktzahlung Plugins für JTL-Shop 0
Neu Neueste Version Paypal Checkout: Rechnungskauf mit Ratepay und Paypal-Kreditkarte sind nicht verfügbar. Plugins für JTL-Shop 21
Paypal Alternativen JTL-Wawi 1.9 4
HILFEEE!!!! Paypal Problem JTL-Wawi 1.9 12
Neu QR Code auf Rechnung bei PayPal fehlerhaft User helfen Usern - Fragen zu JTL-Wawi 0
Wawi 1.9.5.0 Zahlungsmodul Paypal Fehler + Bankkonto Fehler JTL-Wawi 1.9 30
Neu Umstellung Paypal Plus auf Paypal Checkout - bleiben die Sonderkonditionen erhalten ? Smalltalk 2
Paypal Kontosperre / Verbot bestimmte Artikel in bestimmte Länder zu liefern - wie Umsetzen? JTL-Wawi 1.9 2
Neu PAYPAL CHECKOUT - Domain binden Plugins für JTL-Shop 1
Neu Paypal Checkout - Wann werden Vebindungen zu Paypal aufgebaut bzw. fließen Daten zu Paypal? (Datenschutz) Plugins für JTL-Shop 6
Beantwortet PayPal ohne Funktion Plugins für JTL-Shop 0
Neu Nach dem entfernen des PayPal Checkout werden keine Zahlungsarten anderer Anbieter angezeigt. JTL-Shop - Fehler und Bugs 4
Neu Nach Update von PayPal Checkout wird PayPal Zahlungsart entfernt Plugins für JTL-Shop 4
PayPal Zahlungsabgleich Ausgang Fehler 10001 Internal Error JTL-Wawi 1.8 0
Neu PayPal Checkout Update auf 1.5.1 nicht möglich Betrieb / Pflege von JTL-Shop 2
Neu PayPal Checkout Update Plugins für JTL-Shop 12
Neu IDeal Zahlung über Paypal und Bestellung nicht erhalten. Geld aber abgebucht.... Allgemeine Fragen zu JTL-Shop 2
ERROR - Hersteller-Senden-Fehler PrestaShop-Connector 0
Lieferantenbestellung mit GLS Versandetikett an den Hersteller/Lieferanten per Mail Senden. JTL-Wawi 1.8 0
JTL Wawi 1.9.4.4 startet gar nicht und kann auch keine Fehlermeldung senden JTL-Wawi 1.9 2
Bilder in den Artikelstammdaten aktivieren und erneut senden JTL-Wawi 1.9 3

Ähnliche Themen