在WooCommerce中成功完成付款后获取用户付款详细信息

时间:2017-10-11 作者:Mr.Happy

我是woocommerce的新手,也是第一次实现,所以基本上,我想在用户完成付款时获得所有付款和用户详细信息。我需要,因为我想按照我们的要求存储在单独的表中。有没有办法得到详细信息。

enter image description here

1 个回复
SO网友:Sunil Dora

是的,创建订单后,您可以获得订单的详细信息。

这个woocommerce_payment_complete 付款完成时,挂钩被触发。传递的唯一变量是订单id,但从中可以获得订单对象,最终还可以获得用户。

add_action( \'woocommerce_order_status_completed\', \'so_payment_complete\' );
function so_payment_complete( $order_id ){
    $order = wc_get_order( $order_id );
     $order_data = $order->get_data(); // The Order data

     $user = $order->get_user();
     if( $user ){
        // do something with the user
     }

   $order_id = $order_data[\'id\'];
   $order_parent_id = $order_data[\'parent_id\'];
   $order_status = $order_data[\'status\'];
   $order_currency = $order_data[\'currency\'];
   $order_version = $order_data[\'version\'];
   $order_payment_method = $order_data[\'payment_method\'];
   $order_payment_method_title = $order_data[\'payment_method_title\'];

   $order_discount_total = $order_data[\'discount_total\'];
   $order_discount_tax = $order_data[\'discount_tax\'];
   $order_shipping_total = $order_data[\'shipping_total\'];
   $order_shipping_tax = $order_data[\'shipping_tax\'];
   $order_total = $order_data[\'cart_tax\'];
   $order_total_tax = $order_data[\'total_tax\'];
   $order_customer_id = $order_data[\'customer_id\']; // ... and so on

   ## BILLING INFORMATION:

   $order_billing_first_name = $order_data[\'billing\'][\'first_name\'];
   $order_billing_last_name = $order_data[\'billing\'][\'last_name\'];
   $order_billing_company = $order_data[\'billing\'][\'company\'];
   $order_billing_address_1 = $order_data[\'billing\'][\'address_1\'];
   $order_billing_address_2 = $order_data[\'billing\'][\'address_2\'];
   $order_billing_city = $order_data[\'billing\'][\'city\'];
   $order_billing_state = $order_data[\'billing\'][\'state\'];
   $order_billing_postcode = $order_data[\'billing\'][\'postcode\'];
   $order_billing_country = $order_data[\'billing\'][\'country\'];
   $order_billing_email = $order_data[\'billing\'][\'email\'];
   $order_billing_phone = $order_data[\'billing\'][\'phone\'];

   ## SHIPPING INFORMATION:

   $order_shipping_first_name = $order_data[\'shipping\'][\'first_name\'];
   $order_shipping_last_name = $order_data[\'shipping\'][\'last_name\'];
   $order_shipping_company = $order_data[\'shipping\'][\'company\'];
   $order_shipping_address_1 = $order_data[\'shipping\'][\'address_1\'];
   $order_shipping_address_2 = $order_data[\'shipping\'][\'address_2\'];
   $order_shipping_city = $order_data[\'shipping\'][\'city\'];
   $order_shipping_state = $order_data[\'shipping\'][\'state\'];
   $order_shipping_postcode = $order_data[\'shipping\'][\'postcode\'];
   $order_shipping_country = $order_data[\'shipping\'][\'country\'];

 }
付款完成后,您可以获得订单的详细信息。此外,您可以将其存储在另一个表中。

希望这对你有用。

结束

相关推荐