为Woocommerce中的新订单整合SMS API

时间:2018-05-19 11:05:00

标签: php wordpress woocommerce

我正在尝试将SMS API与woo-commerce整合到每个新订单中,但我不确定我在哪里做错了。我的任务是在客户通过Payment Gateway C.O.D(货到付款)下订单时向客户发送短信。以下是我正在使用的代码。谁能告诉我我做错了什么?

add_action('woocommerce_thankyou', 'custom_process_order', 10, 1);
function custom_process_order($order_id) {

$order = new WC_Order( $order_id );
$customer_id = $order->user_id; 

$billing_phone = get_user_meta( $customer_id, 'billing_phone', true );

$data="userid=[userid]&pwd=[password]&msg=[msg]&mobileno=".$billing_phone; 

$jsonurl = curl_init('http://b2bsms.telecard.com.pk/SMSPortal/Customer/ProcessSMS.aspx');

$json = curl($jsonurl);

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($json);
echo $result; 
curl_close($json);

return $order_id; 
}

错误消息是

PHP Fatal error: Call to undefined function curl() 

1 个答案:

答案 0 :(得分:0)

php中没有函数curl,对curl_exec的调用会运行http调用。您可以删除代码中的行$json = curl($jsonurl);,并在目前使用$jsonurl$json的任何地方使用句柄$ch

$jsonurl = curl_init('http://b2bsms.telecard.com.pk/SMSPortal/Customer/ProcessSMS.aspx');
curl_setopt($jsonurl, CURLOPT_POST, true);
curl_setopt($jsonurl, CURLOPT_POSTFIELDS, $data);
curl_setopt($jsonurl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($jsonurl);
echo $result;