我想在下订单时使用订单号调用api?

问题描述 投票:0回答:1

这是我的代码

add_action( 'woocommerce_payment_complete', 'my_api_call');
function my_api_call( $order_id ){

    // Order Setup Via WooCommerce

    $order = new WC_Order( $order_id );

    // Iterate Through Items

    $items = $order->get_items();

    $url = "http://Example.com/Api/WooCommerceApi/SaveSubscriptionAndZoomData?".$order;
 }

[请您帮助我。谢谢

php wordpress api woocommerce woocommerce-rest-api
1个回答
0
投票

您现在不在任何地方发送URL。

您应该使用curl将此URL与所需的任何变量一起发布。但是,您也试图发布一个完全无效的完整订单。

我不确定您的网站需要什么API /系统,但是如果您只想发送订单ID,则应该看起来像这样:

add_action( 'woocommerce_payment_complete', 'my_api_call');
function my_api_call( $order_id ){

// Order Setup Via WooCommerce

$order = new WC_Order( $order_id );

// Iterate Through Items

$items = $order->get_items();

$url = "http://example.com/Api/WooCommerceApi/SaveSubscriptionAndZoomData";

$orderid = "OrderId=".$order_id;

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $orderid);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);

$response = curl_exec( $ch );

 }

$response应该给您消息。重要提示:此代码未经测试,但您应该可以从此处获取解决方案。

来源:POST data to a URL in PHP

© www.soinside.com 2019 - 2024. All rights reserved.