• Resolved dor557

    (@dor557)


    Hallo zusammen.

    Ich habe woocommerce incl. Dem Germanized plugin und paypal plus installiert. Und funktioniert.

    Ich würde gerne die Invoice Nummer die an PayPal übermittelt wird ersetzen.

    Bisher sind es ja die auftragsnummern.

    Ich generiere über eine separate Tabelle eine rechnungsnummer und würde diese gerne entsprechend übermitteln.

    Wo, bzw wie kann ich einen Filter oder Hook nutzen um dies zu realisieren ? Oder welches Template muss ich kopieren und anpassen ??

    Gruss Sascha

    The page I need help with: [log in to see the link]

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Support Andreas W.

    (@aweissinpsyde)

    Hallo Sascha,

    ich glaube, dass dir hier Germanized weiterhelfen kann. Es wird i.d.R. die Nummer von PPP an PayPal übergeben, welche du in den PPP Einstellungen hinterlegt hast. Wenn du aber Germanized verwendest und die Rechnungsnummer dort mit an PayPal übergeben m?chten, w?re der Entwicklung der richtige Ansprechpartner.

    Thread Starter dor557

    (@dor557)

    Vielen Dank für die antwort.

    Dann formuliere ich die Frage etwas um.

    Das plugin PayPal plus generiert ja den Content auf der Kasse/ bzw jetzt bezahlen Seite.

    Wenn ich auf jetzt bestellen drücke leitet er für den checkout ja zur PayPal Seite weiter.

    Im Klartext muss das Plug-in PayPal plus ja auf dieser Seite ein Formular erstellen um PayPal sie erforderlichen Informationen zukommen zu lassen.

    Ich m?chte lediglich wissen wo die PayPal Daten übergeben werden.

    Somit k?nnte ich aus einem

    <Input type=”hidden” name=”invoice” value=”$woocommerceinvoicenumber” />

    Ein

    <Input type=”hidden” name=”invoice” value=”getOwnInvoiceNumberByWCOrderNumber
    ( $woocommerceinvoicenumber )” />

    Machen.

    Ziel ist es das in meinem PayPal Account zum Schluss die korrekte rechnungsnummer zugewiesen/gespeichert wird und nicht die Bestellung Nummer.

    Ist das überhaupt m?glich ? Und wenn ja wo muss ich da ansetzen ?

    Ich bin recht optimistisch das ich das auch auf dem weg der Suche ( Quellcode ) an diese Info kommen kann.

    Aber das kann im schlimmsten Fall Stunden dauern.

    Wenn das jemand anders schon gefunden hat würde mir das stundenlange Suche ersparen.

    Vielen Dank.

    Rechtschreibfehler in diesen Beitr?gen entstanden durch Mobilit?t Nutzung und etwaige Auto Korrekturen.

    Thread Starter dor557

    (@dor557)

    Hallo Andreas.

    Ich habe mir Grade mal den Quellcode angesehen.

    Ich habe auch die Stelle gefunden an der man das anpassen kann…

    Problem ist das es nicht via Hook arbeitet und auch keinen filter verwendet.

    und zwar hast du in der PatchProvider.php die function get_invoice_patch.

    Dort ist es sch?n zu sehen was passiert ?? >Die order_number aus der Bestellung einholen.

    Dann den Prefix den man in den Einstellungen verwendet vor die order-nummer setzen und schon hat man die invoice_number für das PayPal system.

    Ich h?tte das ja schon gerne angepasst.

    Der haken ist solltest du ein update des Plugins hochladen ist meine ?nderung nach einem Download deines Updates weg.

    vorerst würde das reichen…. aber auf dauer ist das sicher keine L?sung für mich.

    Es w?re sch?n wenn man da eine l?sung finden k?nnte. Evtl ein filter oder hock nutzen an dieser stelle (Filter ist sicher sinnvoller)

    Ich hoffe auf eine Reaktion von dir und evtl. einen Ratschlag.

    Gruss Sascha

    Plugin Support Andreas W.

    (@aweissinpsyde)

    Hallo Sascha,

    Vielen Dank für deine Tipps. ?? ich werde dies an die Entwickler so weitergeben. Die Frage ist, ob PayPal dies zul?sst. Das Plugin wurde im Auftrag von PayPal durch Inpsyde erstellt. Wir müssen hier auf jeden Fall Rücksprache direkt mit PayPal abhalten und deren Entscheidung abwarten.

    Die andere Frage, die sich bei dieser Problematik stellt, ist, was passiert, wenn jeder seine Rechnungsnummer unterschiedlich generiert? Das Plugin ist so erstellt wurden, dass die WooCommerce Standard Daten übergeben werden. Wenn User zus?tzliche Plugins wie z.B. Germanized etc. verwenden, ist diese Sache der User, der Bezahlvorgang ist/wird ohne diese Plugins gew?hrleistet.

    Natürlich w?re es sinnvoller bzw. logischer die Rechnungsnummer, so wie von dir erstellt zu übergeben. Da hast du vollkommen Recht.

    Nochmals vielen Dank.

    PS: Evtl. kannst du deine L?sung für andere User hier posten, bis das Thema mit PayPal gekl?rt wurde.

    Ich würde dich auch bitte. Mir eine ausführliche Beschreibung des Problem, mit deinem L?sungsansatz an [email protected] zu schreiben. Ich bin dann in der Lage ein Issue zu er?ffnen und kann dieses direkt mit PayPal diskutieren.

    Vielen Dank

    Andreas

    Thread Starter dor557

    (@dor557)

    ich habe versucht dir eine E-Mail zu schreiben aber das ist misslungen und ich bekam einen “Recipient not found” fehler retour. emailadresse fehlerhaft oder etwas in der art… keine Ahnung.

    Daher werde ich nun die E-Mail hier hineinschreiben :

    Der L?sungsansatz ist recht einfach.

    Was die Rechnungsnummer angeht ist diese (Sollte vom Entwickler eines eigenen Plugins gemacht werden) einmalig !

    Wenn natürlich 2 oder 3 Shops die gleiche PayPal Adresse verwenden kann es zu Konflikten kommen.

    Ich habe es nun so gel?st :

    In der src/WC/Payment/PatchProvider.php :

    In Zeile 50 der Function get_invoice_patch folgendes ersetzen :

    Alt: $invoice_number = preg_replace( ‘/[^a-zA-Z0-9]/’, ”, $this->order->get_order_number() );
    Neu: $invoice_number = preg_replace( ‘/[^a-zA-Z0-9]/’, ”, apply_filters(‘own_invoice_number’, $this->order->get_order_number()) );

    Den filter hab ich in meinem fall own_invoice_number genannt da ich ein eigenes Plugin programmiere um einige Anpassungen an meine speziellen Bedürfnisse zu gew?hrleisten. Unter anderem Anbindung an meine DB ! ??

    So der n?chste schritt bevor das funktionieren kann ist in

    paypalplus-woocommerce.php Datei den filter zu erstellen :

    (Die Beispiele habe ich nun 1:1 aus meiner Plugin Datei übernommen und kann nach belieben umbenannt werden )

    -------------------------------------------------------------------------------
    function get_own_invoice_number($order_number) {
        return $order_number;
    }
    
    add_filter( 'own_invoice_number','get_own_invoice_number',10,1);
    -------------------------------------------------------------------------------

    Das Ergebnis ( solange der Entwickler im eigenen Theme, oder Plugin den filter own_invoice_number nicht verwendet ) ist das gleiche wie bisher ??

    Nur wer das dann über eine Doku oder internet Recherche herausfindet kann dann die Rechnungsnummer anpassen oder aus einer anderen Datenbank übernehmen sofern diese dann mit der Bestellnummer (Order_number) verknüpft ist. z.B. so :

    Im eigenen Plugin oder Theme folgendes hinzufügen

    -------------------------------------------------------------------------------
    function get_own_invoice_number($order_number) {
        $new_order_number = get_invoice_number_custom_function_by_order_num($order_number);
        If (NULL !== $new_order_number) {
           return $new_order_number;
        } else return $order_number;
    }
    
    add_filter( 'own_invoice_number','get_own_invoice_number',30,1);
    -------------------------------------------------------------------------------

    Selbstverst?ndlich muss noch die eigene Funktion vorhanden sein :

    --------------------------------------------------------------------------------------------------
    function get_invoice_number_custom_function_by_order_num($order_number) {
      $new_number = (z.B. mysql number : ?SELECT <code>rech_num</code> FROM <code>invoices</code> WHERE <code>oder_number</code> = $oder_number LIMIT 0,1));
      return $new_number;
    }
    --------------------------------------------------------------------------------------------------

    Ich habe jetzt die ganzen überprüfungen weggelassen. Das sollte dann selbstverst?ndlich in einem Vernünfigten Theme oder Plugin vornanden sein.

    [ Signature deleted ]

    • This reply was modified 7 years, 1 month ago by dor557.
    • This reply was modified 7 years, 1 month ago by Jan Dembowski.
    Plugin Support Andreas W.

    (@aweissinpsyde)

    Hallo Sascha,

    wundert mich mit der Email. Auf jeden Fall Danke für das Posten deiner L?sung. Ich werde das so weitergeben.

    Guten Start in die Woche

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Eigene rechnungsnummern’ is closed to new replies.