在WooCommerce中通过信用卡支付订单

时间:2019-04-08 09:47:09

标签: php wordpress woocommerce hook-woocommerce orders

在Woocommerce中,我试图通过信用卡获取所有已付款订单,为此我尝试使用以下代码:

// Get Report for orders made by credit card
foreach( $orders as $order ){
    if ( $order->get_payment_method() = 'nmwoo_2co' ) {
        $order_data = $order->get_data(); // The Order data
        $orders_by_credit .= 'Order Number: #' . $order->id . '<br>' .'Order Status: '. $order->status . '<br>' . 'Order Creation Date: ' . $order_date_created = $order_data['date_created']->date('Y-m-d H:i:s') . '<br>' . 'Order Total: '. $order->total . '<br>' . 'Customer Username: ' . $order_billing_first_name = $order_data['billing']['first_name'] . '<br>' . 'Customer E-Mail: '. $order_billing_email = $order_data['billing']['email'] . '<br>' . 'Customer Phone: ' . $order_billing_phone = $order_data['billing']['phone'] . '<br>' . $order->get_payment_method(); 
    }
}

但是条件$orders->get_payment_method() = 'nmwoo_2co'不起作用。 无效,因此如何检查订单中使用的付款方式是否为nmwoo_2co?

1 个答案:

答案 0 :(得分:1)

首先,您的IF语句中出现错误,应改为(用===代替=

if ( $order->get_payment_method() === 'nmwoo_2co' ) {

现在您的代码中存在其他错误:

$orders_by_credit .= 'Order Number: #' . $order->id . '<br>' .'Order Status: '. $order->status . '<br>' . 'Order Creation Date: ' . $order_date_created = $order_data['date_created']->date('Y-m-d H:i:s') . '<br>' . 'Order Total: '. $order->total . '<br>' . 'Customer Username: ' . $order_billing_first_name = $order_data['billing']['first_name'] . '<br>' . 'Customer E-Mail: '. $order_billing_email = $order_data['billing']['email'] . '<br>' . 'Customer Phone: ' . $order_billing_phone = $order_data['billing']['phone'] . '<br>' . $order->get_payment_method(); 

应该是:

$orders_by_credit .= 'Order Number: #' . $order->get_order_number() . '<br>' .'Order Status: '. $order->get_status() . '<br>' . 'Order Creation Date: ' . $order->get_date_created()->date('Y-m-d H:i:s') . '<br>' . 'Order Total: '. $order->get_total() . '<br>' . 'Customer Username: ' . $order->get_billing_first_name() . '<br>' . 'Customer E-Mail: '.  $order->get_billing_email() . '<br>' . 'Customer Phone: ' . $order->get_billing_phone() . '<br>' . $order->get_payment_method(); 
  

如何在WooCommerce中获取正确的付款ID:

     
      
  • 进入后端,在“设置”>“付款”上,当您单击一种付款方式时,您可以在以下网址中看到:?page=wc-settings&tab=checkout&section=paypal,其中paypal会针对每种付款方式更改为相应的付款方式ID段。

  •   
  • 或者也可以在结帐页面中,使用浏览器工具检查value属性上的付款单选按钮,例如:value="paypal">

  •   

如果您设置了正确的付款ID,您的条件将适用。

请参阅:How to get WooCommerce order details