我在WordPress中创建了自定义PHP文件,以通过其Web服务将订单数据发送到会计服务器。
现在我需要从该计费服务器中提取一定数量的商品并更新每种产品的库存。
我没有访问该服务器,并且他们没有用于其Web服务的任何文档。
我试图找到一些有关使用Web服务执行此操作的信息,但我唯一获得的是通过Web服务发送(不接收)WordPress网站的数据。
这是我的代码,用于将订单详细信息发送到记帐服务器:
<?php
require_once('../wp-config.php');
require_once('../wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-order.php');
$today = new DateTime();
$today->setTime( 0,0 );
$args = array(
'limit' => 9999,'return' => 'ids','date_completed' => $today,'status' => 'completed'
);
$query = new WC_Order_Query( $args );
$orders = $query->get_orders();
$url = "http://###.###.###.###:8081/Service1.svc/InsertInvoice";
foreach( $orders as $order_id ) {
$order = wc_get_order( $order_id );
$order_date_completed = $order->get_date_completed();
if (false === strtotime($order_date_completed)) {
echo 'Invalid date for order number '.$order_id.'<br>';
}else {
$order_date_completed->setTime( 0,0 );
$diff = $today->diff( $order_date_completed );
$diffDays = (integer)$diff->format( "%R%a" );
if($diffDays == 0){
$items = $order->get_items();
$InvoiceInfo = array();
foreach( $items as $item ){
$product = $item->get_product();
$item_sku = $product->get_sku();
$saleType = substr($item_sku,1,2);
$item_code = substr($item_sku,3,8);
$user_id = substr($item_sku,11,6);
$data2 = array(
'CustomerCode' => $user_id,'SaleTypeNumber' => $saleType,'ItemCode' => $item_code,'Quantity' => $item->get_quantity(),'Fee' => $product->get_price(),'Discount' => 0,'Addition' => 0,'Tax' => 0,'Duty' => 0,'Rate' => 1,'StockCode' => 5,);
array_push($InvoiceInfo,$data2);
}
$postdata = json_encode($InvoiceInfo);
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$postdata);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,CURLOPT_FOLLOWLOCATION,CURLOPT_HTTPHEADER,array('Content-Type: application/json'));
$result = curl_exec($ch);
curl_close($ch);
}
}
}
?>