Untitled

 avatar
unknown
plain_text
3 days ago
1.7 kB
2
Indexable
add_action('b2bking_after_approve_order', function($orderobj){
	$order_id = $orderobj->get_id();
	$customer_id = get_current_user_id();
	$total = $orderobj->get_total();

	$note = esc_html__('Paid for order','b2bkingcredit').' #'.$order_id;

	// get user history
	$user_credit_history = sanitize_text_field(get_user_meta($customer_id,'b2bking_user_credit_history', true));

	// create transaction
	$date = date_i18n( 'Y/m/d', time()+(get_option('gmt_offset')*3600) ); 
	$operation = 'purchase';
	$consumed_balance = get_user_meta($customer_id,'b2bking_user_credit_consumed_balance', true);
	$new_consumed_balance = floatval($consumed_balance) + floatval($total);		
	$transaction_new = $date.':'.$operation.':'.$total.':'.$new_consumed_balance.':'.$note;

	// update credit history
	update_user_meta($customer_id,'b2bking_user_credit_history',$user_credit_history.';'.$transaction_new);
	// update user consumed balance
	update_user_meta($customer_id,'b2bking_user_credit_consumed_balance',$new_consumed_balance);

	$consumed_balance = $new_consumed_balance;
	if ($consumed_balance > 0){
		$outstanding_balance = '-'.wc_price($consumed_balance);
	} else if ($consumed_balance === 0){
		$outstanding_balance = wc_price(0);
	} else if ($consumed_balance < 0){
		$outstanding_balance = wc_price(substr($consumed_balance,1)); // remove the minus	
	}

	$order_note_for_backend = esc_html__('Paid for via Company Credit.','b2bkingcredit');
	// add note
	$orderobj->add_order_note( $order_note_for_backend);

	
	$orderobj->update_meta_data('b2bking_credited_already', 'yes');
	$orderobj->update_meta_data('b2bking_modified_already', 'yes');
	$orderobj->payment_complete();
}, 10, 1);
Editor is loading...
Leave a Comment