Forum Replies Created

Viewing 4 replies - 1 through 4 (of 4 total)
  • Hello,

    I Have the Problem that the WooCommerce Germanized Order Page Show : Product Summary, ans Payment Method on the Order Page and on bottom the Order Summary again with the Next buttons.

    An example you can look at : https://dev.ttstickerz.de

    i have no Idea how to Fix this.

    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 8 years, 4 months ago by dor557.
    • This reply was modified 8 years, 4 months ago by Jan Dembowski.
    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

    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.

Viewing 4 replies - 1 through 4 (of 4 total)