Saya mencoba mengirim pesanan woocommerce ke netsuite melalui api eksternal yang saya tulis. Saya baru mengenal woocommerce dan belum sepenuhnya memahami cara menambahkan fungsi ini.
Saya telah menambahkan kode berikut ke file function.php di public_html/wp-content/themes/reverie-master/
add_action( 'woocommerce_payment_complete'', 'wdm_send_order_to_ext');
function wdm_send_order_to_ext( $order_id ){
// get order object and order details
$order = new WC_Order( $order_id );
$email = $order->billing_email;
$phone = $order->billing_phone;
//Create the data object
$orderData = array(
'customer_email' => $email,
'customer_phone' => $phone
);
$apiData = array(
'caller' => 'woocommerce',
'json' => $orderData,
'key' => 'MY_SECRET_KEY'
);
$jsonData =json_encode($orderData);
$url = "";
$api_mode = 'sandbox';
if($api_mode == 'sandbox'){
// sandbox URL example
$url = "https://forms.netsuite.com/app/site/hosting/scriptlet.nl?script=XXX&deploy=X&compid=XXXXXXX_SB1&h=XXXXXXXXXXXXXXXX";
}
else{
// production URL example
$url = "";
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($jsonData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec ($ch);
curl_close ($ch);
// the handle response
if (strpos($response,'ERROR') !== false) {
print_r($response);
} else {
// success
}
}
Saya telah menguji bagian terberat dari kode ini, hanya bagian yang tidak berhubungan dengan woocommerce di situs lain dan saya dapat melihat datanya muncul di NetSuite. Namun, ketika saya mengunjungi toko saya dan melakukan pemesanan, serta menerima pembayaran, saya tidak melihat data masuk ke NetSuite. Apakah saya memiliki kode ini di lokasi yang benar? Apakah ada sesuatu yang saya lewatkan?
Pembaruan Saya memasang plugin Cuplikan Kode dan menambahkan kode di sana. Setel ke Jalankan cuplikan di mana saja. Masih belum beruntung.