Untitled
webwizards
plain_text
25 days ago
2.0 kB
13
Indexable
function send_payout(){
$user_id = 1234; // replace with your agent user ID (the agent being paid)
$amount = 1000; // amount paid
$method = 'PayPal Payment'; // payment method used, can be any text
$note = 'Custom note here...';
$havebonus = 'false'; //bool, true or false
$havebonus = filter_var($havebonus,FILTER_VALIDATE_BOOLEAN);
// get user history
$user_payout_history = sanitize_text_field(get_user_meta($user_id,'salesking_user_payout_history', true));
// create transaction
$date = date_i18n( 'Y/m/d', time()+(get_option('gmt_offset')*3600) );
$outstanding_balance = get_user_meta($user_id,'salesking_outstanding_earnings', true);
$new_outstanding_balance = floatval($outstanding_balance) - floatval($amount);
if ($havebonus === true){
$new_outstanding_balance = $outstanding_balance; // is bonus, so does not count
}
$transaction_new = $date.':'.$amount.':'.$new_outstanding_balance.':'.$note.':'.$method;
// update credit history
update_user_meta($user_id,'salesking_user_payout_history',$user_payout_history.';'.$transaction_new);
// user balance history start
$old_balance = get_user_meta($user_id,'salesking_outstanding_earnings', true);
$new_balance = $new_outstanding_balance;
$amount = '- '.$amount;
$date = date_i18n( 'Y/m/d', time()+(get_option('gmt_offset')*3600) );
$note_history = esc_html__('Payout was sent to user.','salesking');
$user_balance_history = sanitize_text_field(get_user_meta($user_id,'salesking_user_balance_history', true));
$new_entry = $date.':'.$amount.':'.$old_balance.':'.$new_balance.':'.$note_history;
update_user_meta($user_id,'salesking_user_balance_history', $user_balance_history.';'.$new_entry);
// user balance history end
// update user consumed balance
update_user_meta($user_id,'salesking_outstanding_earnings',$new_outstanding_balance);
// send email to user
$userdata = get_userdata($user_id);
$recipient = $userdata->user_email;
do_action( 'salesking_new_payout', $recipient, $amount, $method, $note );
}Editor is loading...
Leave a Comment