WordPress.org

Ready to get started?Download WordPress

Forums

WooCommerce - excelling eCommerce
[resolved] WooCommerce parameters for html POST method form (26 posts)

  1. onasol
    Member
    Posted 8 months ago #

    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/

  2. onasol
    Member
    Posted 8 months ago #

    I found the following WooCommerce parameter (in the customer-processing-order.php file for customer/billing email which I have replaced with {value email} (in the above code) but no information was forwarded via the form:

    <?php echo $order->billing_email; ?>

    I have also tried:

    <?php echo $order->billing_email ?>

    and:

    <?php echo $billing_email ?>

    Nothing worked! Any ideas?? It is very urgently needed. Thanks a lot!

  3. marginalie
    Member
    Posted 8 months ago #

    Hi Mike,

    I need the same information. And I tried the same you did (billing_email) - nothing worked.

    If I´ll get a solution from an other forum, I`ll tell you.
    Please - do the same here :-)

    Heike

  4. onasol
    Member
    Posted 8 months ago #

    Hi Heike… that would be great!! Thanks.

    Sure, I'll let you know! :)
    Let's hope someone has a solution because I need it urgently.

    Mike

  5. marginalie
    Member
    Posted 8 months ago #

    Hi Mark,

    I got this code but it doesn`t work. It´s what we just tried to do. I need it for the final Trusted Shops Certification - and it´s very urgent too... And I´m really desperate in between because they don´t have another answer. The whole problem came just after the last woocommerce update.

    <input name="email" type="hidden" value="<?php echo order->billing_email ?>">
    <input name="amount" type="hidden" value="<?php echo $order->order_total ?>">
    <input name="curr" type="hidden" value="EUR">
    <input name="paymentType" type="hidden" value="-">
    <input name="kdnr" type="hidden" value="-">
    <input name="ordernr" type="hidden" value="<?php echo $order->id ?>">

    Still hoping...
    Heike

  6. onasol
    Member
    Posted 8 months ago #

    This is EXACTLY what I need it for!!! :)
    The „Anmeldung zum Trusted Shops Käuferschutz"-form.

    I have tried the same codes you have depicted. Did not work for me either.

    I am using WordPress 3.5.2 and WooCommerce 2.0.4

    You've wrote "the whole problem came just after the last woocommerce update". So this means the code worked before the update?

  7. marginalie
    Member
    Posted 8 months ago #

    It worked once, but it wasn´t a really good solution because on the "bestellung erhalten"-page the whole text was shown again. So there could have been a mistake before - but they accepted it because their form was correctly shown.

    It worked with the enclosed php-function.
    But it doesn´t work with it now (in two places you have to fill in your shop-id)!
    ..........................

    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=400 border="0" cellspacing="0" cellpadding="4"><tr><td width="90">';
    	print '<a>your-shop id " target="_blank">';
    	print '<img border="0" src="pfad/zur/siegelgrafik.gif" 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="<strong>your-shop-id</strong> ">';
    	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="OTHER">';
    	print '<input name="kdnr" type="hidden" value="'. $order_obj->id .'">';
    	print '<input name="ordernr" type="hidden" value="'. $order_obj->id .'">';
    	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>';
    }
    add_action( 'woocommerce_thankyou', 'add_trusted_shops_code_to_thank_you' );

    ........................

    I put it in the thankyou.php and then the add_action... in the functions.php of woocommerce.

    Last information I got from Trusted Shops is, that I should engage someone to solve the problem...

  8. onasol
    Member
    Posted 8 months ago #

    Ok… so just to be sure I understood you right. With the above code it once worked for you?

    So you've put the above code, just the way you have depicted it...

    function add_trusted_shops_code_to_thank_you( $order_id ){
    // Get order object
    $order_obj = new WC_Order( $order_id );
    
    //print'
    
    ';print_r( $order_obj );print'
    
    ';
    
    print '<table width=400 border="0" cellspacing="0" cellpadding="4"><tr><td width="90">';
    print 'your-shop id " target="_blank">';
    print '<img border="0" src="pfad/zur/siegelgrafik.gif" title="Trusted Shops Gütesiegel - Bitte hier Gültigkeit prüfen!" ';
    print 'alt="Trusted Shops Gütesiegel - Bitte hier Gültigkeit prüfen!">';
    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="OTHER">';
    print '<input name="kdnr" type="hidden" value="'. $order_obj->id .'">';
    print '<input name="ordernr" type="hidden" value="'. $order_obj->id .'">';
    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>';
    }

    in the thankyou.php file?

    and additionally you have added the following code...

    add_action( 'woocommerce_thankyou', 'add_trusted_shops_code_to_thank_you' );

    to the functions.php file?

    I am asking because the code looks different than the trusted shops code, so I want to be sure that this is the code you have used... or maybe the formatting somehow got broken when posting it here in the support.

    (and of course all this has to be done with the specific shop id)

  9. marginalie
    Member
    Posted 8 months ago #

    You´re generally right with all steps - and there are broken elements. So now it should be correct:

    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=400 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="pfad/zur/siegelgrafik.gif" 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="OTHER">';
    	print '<input name="kdnr" type="hidden" value="'. $order_obj->id .'">';
    	print '<input name="ordernr" type="hidden" value="'. $order_obj->id .'">';
    	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>';
    }
    add_action( 'woocommerce_thankyou', 'add_trusted_shops_code_to_thank_you' );

    It´s the php-script from Trusted Shops. Does it work in your installation?

  10. marginalie
    Member
    Posted 8 months ago #

    If you have a good knowledge in php - please check the way I put it in. I´m sure there must be a better way - how do I have to include it on the "bestellung erhalten"(thank-you)-page? I think, it must be there too (more important than in the functions.php...)

  11. onasol
    Member
    Posted 8 months ago #

    If I try it with your code and add it to thankyou.php and functions.php the "Anmeldung zum Trusted Shops Käuferschutz" doesn't appear at all.

    Until now I have done it like this: Adding the following code to my "Auftrag eingegangen"-site (which should be found at http://www.yourdomain.de/kasse/auftrag-eingegangen)

    <table width=400 border="0" cellspacing="0" cellpadding="4">
    <tr>
    <td width="90">
    <form name="formSiegel" method="post" action="https://www.trustedshops.com/shop/certificate.php" target="_blank">
    <input type="image" border="0" src="{pfad/zum/siegel.png}" title="TrustedShops Gütesiegel - Bitte hier Gültigkeit prüfen!">
    <input name="shop_id" type="hidden" value="{value shop id}">
    </form>
    </td>
    <td align="justify">
    <form id="formTShops" name="formTShops" method="post" action="https://www.trustedshops.com/shop/protection.php" target="_blank">
    <input name="_charset_" type="hidden" value="">
    <input name="shop_id" type="hidden" value="{value shop id}">
    <input name="email" type="hidden" value="{value email}">
    <input name="amount" type="hidden" value="{value amount}">
    <input name="curr" type="hidden" value="EUR">
    <input name="paymentType" type="hidden" value="{value paymentType}">
    <input name="kdnr" type="hidden" value="{value kdnr}">
    <input name="ordernr" type="hidden" value="{value ordernr}">
    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.
    <br><br>
    <input type="submit" id="btnProtect" name="btnProtect" value="Anmeldung zum Trusted Shops Käuferschutz">
    </form>
    </td>
    </tr>
    </table>

    But I can not find the proper WooCommerce equivalent for…
    {value email}
    {value amount}
    {value paymentType}
    {value kdnr}
    {value ordernr}

  12. WPyogi
    Volunteer Moderator
    Posted 8 months ago #

    Everyone - you NEED to use the backticks or code buttons (not blockquotes) when posting code on these forums - please see:

    http://codex.wordpress.org/Forum_Welcome#Posting_Code

  13. onasol
    Member
    Posted 8 months ago #

    All codes are put in between backticks

  14. WPyogi
    Volunteer Moderator
    Posted 8 months ago #

    Yes, I just fixed 3 posts.

  15. onasol
    Member
    Posted 8 months ago #

    I see… ok thanks.

    And if you could also fix our main problem we have here, it would be awsome :)

  16. marginalie
    Member
    Posted 8 months ago #

    @ WPyogi - yes, thanks, I just learned to use the backticks - do you also have an idea to solve our really important problem? Or do you know anybody who will be able to check the code?

    @ Mike - the equivalents are the same like in the php-code. You have to put them into the html-code, look to my first post with code (it is, what they sent me from Trusted Shops) - but it doesn´t work...
    The link you posted doesn´t work. But I think your "auftrag eingegangen"-page is my "bestellung erhalten"-page. There you only can include the html-code, function.php and thankyou.php need the php-script.

    Hell - I think the solution is so easy.
    Don´t worry - we´ll find it!

  17. onasol
    Member
    Posted 8 months ago #

    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.

  18. marginalie
    Member
    Posted 8 months ago #

    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].

  19. onasol
    Member
    Posted 8 months ago #

    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!!

  20. marginalie
    Member
    Posted 8 months ago #

    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...

  21. marginalie
    Member
    Posted 8 months ago #

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

  22. onasol
    Member
    Posted 8 months ago #

    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>';
  23. marginalie
    Member
    Posted 8 months ago #

    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>';
    }
    ?>
  24. onasol
    Member
    Posted 8 months ago #

    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 .'">';
  25. marginalie
    Member
    Posted 8 months ago #

    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?

  26. onasol
    Member
    Posted 8 months ago #

    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.

Reply

You must log in to post.

About this Plugin

About this Topic