GOOGLE ADS

samedi 30 avril 2022

Statut ou jeton de paiement WooCommerce - comment obtenir_

Je suis novice en PHP.

J'essaie de vérifier si l'utilisateur dispose d'un jeton de paiement ou d'une autre valeur qui confirme qu'il a effectué un paiement.

Je veux rediriger la page si le statut de paiement est vide 9ils n'ont pas encore effectué de paiement).

J'ai essayé:

<?php 
if(get_post_type()=="sfwd-lessons"){
$lesson_id=get_the_ID();
}else{
$lesson_id=get_post_meta(get_the_ID(),'lesson_id',true);
}
$value = get_field( "new_field", $lesson_id );
$user_status=get_wpmg_woocommerce_payment_tokens($user_id,'token_id',true);
//$user_status='';
if(!empty($value) && empty($user_status)){
header('Location: https://xx/checkouts/checkout-page/');
exit;
?>

mais je ne pense pas que "get_wpmg_woocommerce_payment_tokens" soit un appel valide

y a-t-il un autre appel get_ que je peux faire pour vérifier si le token_id de paiement est vide pour cet utilisateur ?

ou existe-t-il un moyen sur la page de remerciement de woo commerce d'écrire un nouveau champ "payment_status" complet à user_meta_data

Merci


Solution du problème

Ce crochet woocommerce_thankyouse déclenchera chaque fois que vous actualiserez la page de remerciement.

add_action('woocommerce_thankyou', 'after_order_placed', 10, 1);
function after_order_placed($order_id) {
if (!$order_id)
return;
$order = wc_get_order($order_id);
if ($order->get_date_paid()) {
// Order is paid - Do something
} else {
// Order is NOT paid - Do something else
}
}

Le meilleur crochet pour envoyer des données à un tiers lorsque le paiement de la commande est terminé est woocommerce_payment_complete.

add_action('woocommerce_payment_complete', 'after_payment_complete');
function payment_complete_callback($order_id) {
if (!$order_id)
return;
$order = wc_get_order($order_id);
if ($order->get_date_paid()) {
// Order is paid - Do something
} else {
// Order is NOT paid - Do something else
}
}

Aucun commentaire:

Enregistrer un commentaire

Comment utiliseriez-vous .reduce() sur des arguments au lieu d'un tableau ou d'un objet spécifique&nbsp;?

Je veux définir une fonction.flatten qui aplatit plusieurs éléments en un seul tableau. Je sais que ce qui suit n'est pas possible, mais...