Woocommerce create order | ProjectDMC.org Deutsch

Hi,

danke für die Antwort. In diesem Shop sind die taxes nicht an das Produkt gekoppelt, sondern abhängig vom Kunden (Kunde aus DE oder Kunde aus EU oder Kunde aus Drittland und weitere Kombinationen – z.B Niederlassungen usw.). Das läuft auch alles bei normalen Bestellungen des Kunden. Es soll aber wie bei einem Abo automatisiert eine neue Bestellung generiert werden mit vorhandenen Daten. Der Code dazu sieht so aus:

$order = wc_create_order();
$order->set_customer_id( $kundeID );

            /*
             *  $keineMwSt  = get_user_meta($userid,"keineMwSt",true);

                if( $keineMwSt == 1 ){
                    $tax_class = 'Zero Rate';
                } else {
                    $tax_class = 'Virtual rate';
                }
             */

            $args = array(
                'name'         => "Lizenzierung im Abo",
                'tax_class'    => "",
                'product_id'   => "",
                'variation_id' => "",
                'variation'    => "",
                'subtotal'     => $gesamtpreis,
                'total'        => $gesamtpreis,
                'quantity'     => 1,
            );

            $order->add_product(  wc_get_product( 954 ) , 1, $args );

            $address = array(
                'first_name' => get_user_meta($kundeID,'first_name',true),
                'last_name'  => get_user_meta($kundeID,'last_name',true),
                'company'    => get_user_meta($kundeID,'billing_company',true),
                'email'      => get_user_meta($kundeID,'billing_email',true),
                'phone'      => get_user_meta($kundeID,'billing_phone',true),
                'address_1'  => get_user_meta($kundeID,'billing_address_1',true),
                'address_2'  => get_user_meta($kundeID,'billing_address_2',true),
                'city'       => get_user_meta($kundeID,'billing_city',true),
                'postcode'   => get_user_meta($kundeID,'billing_postcode',true),
                'country'    => get_user_meta($kundeID,'billing_country',true),
            );
            $order->set_address( $address, 'billing' );
            $order->set_address( $address, 'shipping' );

            $order->set_payment_method( 'PayPerLink' );
            $order->set_payment_method_title( 'PayPerLink' );

      $order->set_status( 'wc-on-hold', 'Order is created programmatically');
      $order->calculate_totals();
      //$order->save();

Hier fehlt jetzt noch der Steuersatz.

  • Diese Antwort wurde geändert vor 6 Minuten von Bego Mario Garde. Grund: Code formatiert

 

This site will teach you how to build a WordPress website for beginners. We will cover everything from installing WordPress to adding pages, posts, and images to your site. You will learn how to customize your site with themes and plugins, as well as how to market your site online.

Buy WordPress Transfer