• Resolved onasol

    (@onasol)


    H, I must add a form with method=”post” to a WooCommerce “success”-site (the site that appears after a customer has completed his order).

    The form I am using requires the following 5 WooCommerce parameters:
    1. customer email address {value email}
    2. purchase price {value amount}
    3. used payment type {value paymentType}
    4. customer number {value kdnr}
    5. order number {value ordernr}

    Here is the relevant part of the code I am refering to:

    <input name="email" type="hidden" value="{value email}">
    <input name="amount" type="hidden" value="{value amount}">
    <input name="paymentType" type="hidden" value="{value paymentType}">
    <input name="kdnr" type="hidden" value="{value kdnr}">
    <input name="ordernr" type="hidden" value="{value ordernr}">

    The {value …} sections need to be replaced with the equivalent WooCommerce parameters. Does anybody know how I can get or find out the above mentioned WooCommerce parameters for a “POST method form”?

    I appreciate any help. Thanks in advance!

    Regards,
    Mike

    http://wordpress.org/plugins/woocommerce/

Viewing 10 replies - 16 through 25 (of 25 total)
  • Thread Starter onasol

    (@onasol)

    Where did you get the information from, that also a code has to be included in function.php and thankyou.php?

    Because the Trusted Shops pdf-manual (page 6) which I have only gives one code which needs to be implemented, that is the html-code I have depicted above.

    It was given to me by Trusted Shops after the first chaos.

    And now this works for me:

    Into the thankyou.php
    ………………..

    <?php function add_trusted_shops_code_to_thank_you( $order_id ){
    	//  Get order object
    	$order_obj = new WC_Order( $order_id );
    
    	//print'
    <pre>';print_r( $order_obj );print'</pre>
    ';
    
    	print '<table width="700" border="0" cellspacing="0" cellpadding="4"><tr><td width="90">';
    	print '<a href="https://www.trustedshops.com/shop/certificate.php?shop_id=YOUR-SHOP-ID">';
    	print '<img border="0" src="http://www.trustedshops.de/cms/assets/templates/b2b/images/logo_eu_b2b.png" title="Trusted Shops Gütesiegel - Bitte hier Gültigkeit prüfen!" ';
    	print 'alt="Trusted Shops Gütesiegel - Bitte hier Gültigkeit prüfen!"></a>';
    	print '</td><td align="justify">';
    	print '<form id="formTShops" name="formTShops" method="post" action="https://www.trustedshops.com/shop/protection.php" target="_blank">';
    	print '<input name="_charset_" type="hidden" value="UTF-8">';
    	print '<input name="shop_id" type="hidden" value="YOUR-SHOP-ID ">';
    	print '<input name="email" type="hidden" value="'. $order_obj->billing_email .'">';
    	print '<input name="amount" type="hidden" value="'. $order_obj->order_total .'">';
    	print '<input name="curr" type="hidden" value="EUR">';
    	print '<input name="paymentType" type="hidden" value="'. $order_obj->payment_method .'">';
    	print '<input name="kdnr" type="hidden" value="-">';
    	print '<input name="ordernr" type="hidden" value="-">';
    	print 'Als zusätzlichen Service bieten wir Ihnen den Trusted Shops Käuferschutz an. Wir übernehmen
    alle Kosten dieser Garantie, Sie müssen sich lediglich anmelden.';
    	print '
    
    <input type="submit" id="btnProtect" name="btnProtect" value="Anmeldung zum Trusted Shops Käuferschutz">';
    	print '</form></td></tr></table>';
    }
    ?>

    And this into the functions.php of the theme

    add_action( 'woocommerce_thankyou', 'add_trusted_shops_code_to_thank_you' );

    I have no idea why it was so complicated and I hope it´s okay now for TS. I`ll tell you.

    In the “Bestellung erhalten” page there´s nothing but [woocommerce_thankyou].

    Thread Starter onasol

    (@onasol)

    Hmm… but if you say “In the “Bestellung erhalten” page there´s nothing but [woocommerce_thankyou]” than this means that the TS form is not showing up on the “Bestellung erhalten” page, right?

    Which means the code is not fulfilling the task. Because the task is according to TS (which is our main problem)… that after the customer places his offer the “Anmeldung zum Trusted Shops Käuferschutz” form (like it can be seen here on page 4) must appear. But it doesn’t … I have tried it now again with the way you’ve described it in your last post.

    There must be a solution!!

    Hey Mike.
    Also die gute Meldung: bei mir funktioniert es und TS akzeptiert es.

    Das Kästchen “Anmeldung zum…” erscheint (ich habe allerdings die Breite auf 700px gesetzt, kannst du ja ändern), weil es in der php-Funktion definiert ist und die widerum ist in der thankyou.php und wird damit durch den shortcode [woocommerce_thankyou] aufgerufen. Deswegen braucht es keinen weiteren html-code in der “Bestellung erhalten”-Seite.

    Das fällt mir noch ein:
    – Die function.php liegt unter …/wp-content/plugins/woocommerce/templates/checkout
    Mach Dir bloß vorher eine Kopie vom Original bevor Du was überschreibst.

    – Ganz dumme Frage: hast Du daran gedacht an beiden Stellen die shop-id auszutauschen?

    – Und hast Du add_action-usw. in die functions.php vom Theme eingefügt? Das hab ich über WordPress gemacht, die functions.php finde ich schneller auf dem Server über FTP

    Mir wäre auch wohler wenn ich nachvollziehen könnte, warum das tagelang NICHT funktioniert hat…

    Ach ja – bei mir werden nur EMail und Betrag übergeben, das reicht aber aus.

    Thread Starter onasol

    (@onasol)

    Hi… also hier sind die exakten Schritte die ich durchführe (mit denen es leider bei mir immer noch nicht klappt).

    1. Deinen Code

    <?php function add_trusted_shops_code_to_thank_you( $order_id ){ ...

    einfügen in bzw. ergänzen zu /wp-content/plugins/woocommerce/templates/checkout/thankyou.php (und zwar ganz am Ende nach <?php endif; ?>)

    2. Den Code

    add_action( 'woocommerce_thankyou', 'add_trusted_shops_code_to_thank_you' );

    einfügen in wp-content/themes/mein-theme/functions.php

    3. YOUR-SHOP-ID an zwei Stellen in der php-Funktion mit meiner Shop ID austauschen.

    Das war’s. Damit klappt es bei mir nicht. Nachdem eine Bestellung eingangen ist und die Seite “Bestellung erhalten” (bzw. Auftrag eingegangen) kommt, wo dann eigentlich das TS Formular zu sehen sein sollte (was bei mir leider nicht der Fall ist), ist die Seite “beschädigt”… sprich der Footer fehlt und wird nicht angezeigt aufgrund der TS php-Funktion.

    Wärst du vielleicht so nett und könntest noch einmal überprüfen, ob wirklich alle Formatierungen des Codes den du gepostet hast richtig sind? Mir ist nämlich schon aufgefallen, dass die folgende Formatierung

    //print'
    <pre>';print_r( $order_obj );print'</pre>
    ';

    in das folgende Format geändert werden muss, da sonst das ‘-Zeichen nach //print mit ausgeklammert wird. Oder soll das so sein?

    //print
    '<pre>';print_r( $order_obj );print'</pre>';

    So wie ich das sehe sind 1 bis 3 okay.

    Hier nochmal der Code, so, wie ich ihn von TS bekommen und aktuell eingebaut habe (schon beim ersten Mal, weil html nicht funktionierte):

    <?php function add_trusted_shops_code_to_thank_you( $order_id ){
    	//  Get order object
    	$order_obj = new WC_Order( $order_id );
    
    	//print'<pre>';print_r( $order_obj );print'</pre>';
    
    	print '<table width="700" border="0" cellspacing="0" cellpadding="4"><tr><td width="90">';
    	print '<a href="https://www.trustedshops.com/shop/certificate.php?shop_id=SHOP-ID" target="_blank">';
    	print '<img border="0" src="http://www.trustedshops.de/cms/assets/templates/b2b/images/logo_eu_b2b.png" title="Trusted Shops Gütesiegel - Bitte hier Gültigkeit prüfen!" ';
    	print 'alt="Trusted Shops Gütesiegel - Bitte hier Gültigkeit prüfen!"></a>';
    	print '</td><td align="justify">';
    	print '<form id="formTShops" name="formTShops" method="post" action="https://www.trustedshops.com/shop/protection.php" target="_blank">';
    	print '<input name="_charset_" type="hidden" value="UTF-8">';
    	print '<input name="shop_id" type="hidden" value="SHOP-ID ">';
    	print '<input name="email" type="hidden" value="'. $order_obj->billing_email .'">';
    	print '<input name="amount" type="hidden" value="'. $order_obj->order_total .'">';
    	print '<input name="curr" type="hidden" value="EUR">';
    	print '<input name="paymentType" type="hidden" value="'. $order_obj->payment_method .'">';
    	print '<input name="kdnr" type="hidden" value="-">';
    	print '<input name="ordernr" type="hidden" value="-">';
    	print 'Als zusätzlichen Service bieten wir Ihnen den Trusted Shops Käuferschutz an. Wir übernehmen
    alle Kosten dieser Garantie, Sie müssen sich lediglich anmelden.';
    	print '<br /><br /><input type="submit" id="btnProtect" name="btnProtect" value="Anmeldung zum Trusted Shops Käuferschutz">';
    	print '</form></td></tr></table>';
    }
    ?>
    Thread Starter onasol

    (@onasol)

    WOW… nicht zu fassen.. es klappt!!! Das Problem: Ich hatte das Plugin “WP-Piwik” installiert und das hat da wohl irgendwie dazwischen gefunkt!! Unglaublich! Hab es jetzt deaktiviert… nun klappt alles!!!

    Hätte ich gleich mal drauf kommen sollen… also beim nächsten mal falls irgendwas nicht klappt, obwohl es klappen sollte, einfach mal anfangen die Plugins einzeln zu deaktivieren und dann schauen, ob es funktioniert!

    Nochmal danke für deine Hilfe!!!

    P.S.: Es wird sogar die Bestellnummer übertragen.

    print '<input name="ordernr" type="hidden" value="'. $order_obj->id .'">';

    Super!

    Wird bei Dir auch die payment-method übertragen? Die kommt bei mir nicht an, da öffnet sich nur eine Auswahlliste.

    Und die Order-Nr. generiert sich bei mir über ein Plugin. Als ich order_obj->id (oder so ähnlich) eingebaut hatte, wurde nur eine Phantasienummer (evtl. auch die id vom Beitrag) eingesetzt.

    Wo kommt Deine Ordernr. her?

    Thread Starter onasol

    (@onasol)

    Nein, die payment-method wird nicht übertragen… wenn man z.b. die Zahlung Vorkasse/Überweisung ausgewählt hat, wird dann bei TS “basc” oder so etwas ähnliches übertragen. Ich weiß nicht was das bedeutet.

    Die Ordernummer, ist die, die standardmäßig von WooCommerce generiert wird. Habe also kein zusätzliches Plugin hierfür installiert.

Viewing 10 replies - 16 through 25 (of 25 total)
  • The topic ‘WooCommerce parameters for html POST method form’ is closed to new replies.