WooCommerce - 在允许优惠券之前检查 Mailchimp 订阅者

WooCommerce - Check Mailchimp subscribers before allowing coupon

我想解决有关 MailChimp 和 WooCommerce 集成的难题,我们的情况是这样的,我们使用 MailChimp 发送静态优惠券,由于我们内部的 CRM,它们是静态的。发送静态优惠券后,人们就可以在我们的网站上使用它,但是,没有任何措施可以防止与尚未注册的人共享此代码,因此我们希望在您使用特定的优惠券,它会根据 Mailchimp 检查您在网站上使用的电子邮件地址,如果您在列表中,则优惠券适用,否则不适用,我只是想看看这是否可能,如果可能的话如何?

我们在这方面迷路了,所以可以在这里使用社区的帮助,我们觉得这个线程将来也可能对其他人有用,感谢它是特定的,但以后可能会用于安全性。

非常感谢!

使用 Drewms Mailchimp wrapper 或类似的方法,您可以执行以下操作,不要忘记包含您的 MailChimp API 密钥和列表 ID。

include 'Mailchimp.php';
use \DrewM\MailChimp\MailChimp;
$MailChimp = new MailChimp('your**api***key');

function emailExistsMc($subscriberMail, $list_id){
    global $MailChimp;
    $subscriber_hash = $MailChimp->subscriberHash($subscriberMail);
    $result = $MailChimp->get("lists/$list_id/members/$subscriber_hash");
    if($result['status'] == 'subscribed') {
     return true;
    } else {
     return false;
    }

}    

add_action('woocommerce_checkout_process', 'my_themes_guest_email_checker');

    function my_themes_guest_email_checker() {
        global $woocommerce;

        $list_id = <list id here>;

        // Check checkout email address against MC list, if exists proceed
        if ( emailExistsMc($_POST['billing_email'], $list_id) ) {

        } else {
          $woocommerce->add_error( __('This coupon is not valid') );
        }

    }