|
|
@ -164,16 +164,17 @@ function process_form($enabledHandlers, $crmData = array()) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_action('woocommerce_thankyou', 'send_order_data_on_payment', 10, 1); |
|
|
|
// Отправляем данные в Bitrix24 при создании заказа |
|
|
|
|
|
|
|
add_action('woocommerce_checkout_order_created', 'send_order_to_bitrix_on_create', 10, 1); |
|
|
|
|
|
|
|
|
|
|
|
function send_order_data_on_payment($order_id) { |
|
|
|
function send_order_to_bitrix_on_create($order) { |
|
|
|
$order = wc_get_order($order_id); |
|
|
|
$order_id = $order->get_id(); |
|
|
|
$already_sent = $order->get_meta('_order_sent'); |
|
|
|
$already_sent = $order->get_meta('_order_sent'); |
|
|
|
|
|
|
|
|
|
|
|
if (!$already_sent) { |
|
|
|
if (!$already_sent) { |
|
|
|
// Отправляем заказ в Bitrix24 |
|
|
|
|
|
|
|
send_order_data($order_id); |
|
|
|
send_order_data($order_id); |
|
|
|
|
|
|
|
|
|
|
|
// Помечаем заказ как отправленный, чтобы избежать дублирования |
|
|
|
// Помечаем заказ как отправленный |
|
|
|
$order->update_meta_data('_order_sent', '1'); |
|
|
|
$order->update_meta_data('_order_sent', '1'); |
|
|
|
$order->save(); |
|
|
|
$order->save(); |
|
|
|
} |
|
|
|
} |
|
|
@ -262,5 +263,20 @@ function send_order_data($order_id) { |
|
|
|
$response = $handler->handle($formData, array()); |
|
|
|
$response = $handler->handle($formData, array()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_action('woocommerce_payment_complete', 'notify_order_paid', 10, 1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function notify_order_paid($order_id) { |
|
|
|
|
|
|
|
$order = wc_get_order($order_id); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$formData = [ |
|
|
|
|
|
|
|
'TITLE' => 'Заказ #' . $order_id . ' оплачен', |
|
|
|
|
|
|
|
'ORDER_ID' => $order_id, |
|
|
|
|
|
|
|
'PAYMENT_METHOD' => $order->get_payment_method_title(), |
|
|
|
|
|
|
|
'ORDER_TOTAL' => $order->get_total(), |
|
|
|
|
|
|
|
'SOURCE' => 'WooCommerce', |
|
|
|
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$handler = FormHandlerFactory::getHandler(['tg']); |
|
|
|
|
|
|
|
$handler->handle($formData, []); |
|
|
|
|
|
|
|
} |
|
|
|
?> |
|
|
|
?> |