Untitled
unknown
plain_text
8 months ago
1.7 kB
16
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