مشکلات درگاه پرداخت برای وبسایتهایی که کاربران از فیلترشکن (VPN) استفاده میکنند، یک چالش رایج است. در این مقاله، روشی برای نمایش پیغام هشدار به کاربران در صفحه تسویه حساب ووکامرس، در صورت فعال بودن VPN، ارائه میشود. این کد با تشخیص IP کاربر، مشخص میکند که آیا از VPN استفاده میکند یا خیر و در صورت مثبت بودن، پیام هشداری نمایش میدهد.
نحوه استفاده از کد:
کد ارائه شده را در فایل functions.php قالب ووکامرس خود قرار دهید. با این کار، هنگامی که کاربر با IP خارجی (ناشی از VPN) وارد صفحه تسویه حساب شود، پیغام هشداری را مشاهده خواهد کرد.
مزایای استفاده:
آگاهسازی کاربران از مشکلات احتمالی پرداخت
کاهش نرخ خطا در تراکنشها
بهبود تجربه کاربری
با این روش ساده، میتوانید کاربران خود را از مشکلات ناشی از استفاده از VPN در هنگام پرداخت آگاه کرده و تجربه کاربری بهتری را ارائه دهید.
function isUserFromIran() {
$userIP = $_SERVER['REMOTE_ADDR'];
$ch = curl_init();
$geolocationAPI = "http://ip-api.com/json/$userIP";
curl_setopt($ch, CURLOPT_URL, $geolocationAPI);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$response = curl_exec($ch);
if ($response === false) {
exit();
}
curl_close($ch);
$data = json_decode($response);
if ($data->country == "Iran") {
return true;
}
return false;
}
add_action('woocommerce_before_checkout_form', 'displayVPNMessage');
function displayVPNMessage() {
if (!isUserFromIran()) {
echo '
به نظر میرسه VPN شما روشنه. لطفاً برای جلوگیری از خطا در فرآیند پرداخت VPN خود را خاموش کنید و سپس پرداخت را انجام دهید
';
}
}