payment update acf fields allright
This commit is contained in:
@@ -46,18 +46,18 @@ function fipf_update_user_payment($message, $step)
|
|||||||
$status = $message->status;
|
$status = $message->status;
|
||||||
|
|
||||||
|
|
||||||
error_log("--- in update_user_payment, step :");
|
//error_log("--- in update_user_payment, step :");
|
||||||
error_log($step);
|
//error_log($step);
|
||||||
//error_log("message :");
|
////error_log("message :");
|
||||||
//error_log(json_encode($message));
|
////error_log(json_encode($message));
|
||||||
error_log("order_id :");
|
//error_log("order_id :");
|
||||||
error_log($order_id);
|
//error_log($order_id);
|
||||||
error_log("status :");
|
//error_log("status :");
|
||||||
error_log($status);
|
//error_log($status);
|
||||||
$user_meta_order_id = get_user_meta($user_id, 'fipf_order_id');
|
//$user_meta_order_id = get_user_meta($user_id, 'fipf_order_id');
|
||||||
error_log("user_meta->fipf_order_id :");
|
//error_log("user_meta->fipf_order_id :");
|
||||||
error_log(json_encode($user_meta_order_id));
|
//error_log(json_encode($user_meta_order_id));
|
||||||
error_log("... update user");
|
//error_log("... update user");
|
||||||
|
|
||||||
|
|
||||||
// addind order_id to fipf_order_id meta field
|
// addind order_id to fipf_order_id meta field
|
||||||
@@ -65,6 +65,7 @@ error_log("... update user");
|
|||||||
add_user_meta($user_id, 'fipf_order_id', $order_id);
|
add_user_meta($user_id, 'fipf_order_id', $order_id);
|
||||||
// add a schedule event to delete this order_id
|
// add a schedule event to delete this order_id
|
||||||
fipf_schedule_delete_orderid($user_id, $order_id);
|
fipf_schedule_delete_orderid($user_id, $order_id);
|
||||||
|
fipf_validate_payment_for_user($user_id, $order_id);
|
||||||
|
|
||||||
// if transaction is COMPLETED, then delete order_id and update user
|
// if transaction is COMPLETED, then delete order_id and update user
|
||||||
if ($status === 'COMPLETED')
|
if ($status === 'COMPLETED')
|
||||||
@@ -76,10 +77,10 @@ error_log("... update user");
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$user_meta_order_id = get_user_meta($user_id, 'fipf_order_id');
|
//$user_meta_order_id = get_user_meta($user_id, 'fipf_order_id');
|
||||||
error_log("user_meta->fipf_order_id :");
|
//error_log("user_meta->fipf_order_id :");
|
||||||
error_log(json_encode($user_meta_order_id));
|
//error_log(json_encode($user_meta_order_id));
|
||||||
error_log("--- out update_user_payment");
|
//error_log("--- out update_user_payment");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -89,9 +90,58 @@ error_log("--- out update_user_payment");
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
* change acf field [carte_est_valide](validite) to true
|
||||||
|
* change acf field [date_d_achat](achat) to new current date
|
||||||
|
* change acf field [date_fin_validite](echance) to previous date + 1 year
|
||||||
|
*
|
||||||
|
* create scheduled emails to inform of end of validity
|
||||||
|
*
|
||||||
|
* acf uses 'Y-m-d H:i:s' format :
|
||||||
|
* -> https://www.advancedcustomfields.com/resources/date-time-picker/
|
||||||
*/
|
*/
|
||||||
function fipf_validate_payment_for_user($user_id, $order_id)
|
function fipf_validate_payment_for_user($user_id, $order_id)
|
||||||
{
|
{
|
||||||
|
$acf_date_format = 'Y-m-d H:i:s';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* update card validity to true
|
||||||
|
*/
|
||||||
|
$post_id = 'user_'.$user_id;
|
||||||
|
update_field('carte_est_valide', true, $post_id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* update purchase date to now
|
||||||
|
*/
|
||||||
|
$date_now = date($acf_date_format);
|
||||||
|
update_field('date_d_achat', $date_now, $post_id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* update date limit validity to add 1 year
|
||||||
|
*/
|
||||||
|
$current_date_limit = get_field('date_fin_validite', $post_id);
|
||||||
|
// output is in format 'dd/mm/yyyy' which is not understood by php dates functions
|
||||||
|
// so i clean it
|
||||||
|
// -> not a reliable solution, someone can change the ouput format in dashboard
|
||||||
|
$current_date_limit = str_replace('/', '-', $current_date_limit);
|
||||||
|
// id current date limit is not in the futur, use now date
|
||||||
|
if ($current_date_limit === null)
|
||||||
|
$current_date_limit = $date_now;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// compare 2 dates : https://stackoverflow.com/q/8722806/9497573
|
||||||
|
// also I dont use strtotime to compare 2 ints,
|
||||||
|
// because i don't know if it will fail one day (2000 bug like)
|
||||||
|
$comp_current_date_limit = date_create($current_date_limit);
|
||||||
|
$comp_date_now = date_create($date_now);
|
||||||
|
$date_is_in_past = date_diff($comp_date_now, $comp_current_date_limit)->format("%R%a") < 0;
|
||||||
|
if ($date_is_in_past)
|
||||||
|
$current_date_limit = $date_now;
|
||||||
|
}
|
||||||
|
// add one year to current date limit
|
||||||
|
$time_plus_one_year = strtotime('+1 year', strtotime($current_date_limit));
|
||||||
|
$new_date_limit = date('Y-m-d H:i:s', $time_plus_one_year);
|
||||||
|
update_field('date_fin_validite', $new_date_limit, $post_id);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -99,6 +149,7 @@ function fipf_validate_payment_for_user($user_id, $order_id)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add a schedule event to delete this order_id
|
* add a schedule event to delete this order_id
|
||||||
* after 3 days ?
|
* after 3 days ?
|
||||||
|
|||||||
2
private
2
private
Submodule private updated: 4f5b487290...bb9ff06967
Reference in New Issue
Block a user