Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Laravel’da Hızlı EU KDV Doğrulama Kuralı Nasıl Oluşturulur
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Laravel’da Hızlı EU KDV Doğrulama Kuralı Nasıl Oluşturulur

Yazılım

Laravel’da Hızlı EU KDV Doğrulama Kuralı Nasıl Oluşturulur

teknomers
Son güncelleme: 12 Mart 2026 16:10
teknomers
Paylaş
Paylaş

Bir B2B SaaS veya Avrupa’da bir e-ticaret platformu geliştiriyorsanız, sonunda aynı sorunla karşılaşacaksınız: AB KDV doğrulaması.

<p>Reverse charge mekanizmasını (0% KDV) yasal olarak uygulamak için, müşterinizin KDV numarasının geçerli olduğunu Avrupa Komisyonu'nun VIES sistemi üzerinden doğrulamanız gerekmektedir. Ancak resmi VIES API'sı ile doğrudan entegrasyon yapmak genellikle zordur:</p>

<ul>
    <li>API sık sık düşer veya zaman aşımına uğrar.</li>
    <li>Senkrondur ve yavaş çalışır, bu da ödeme dönüşüm oranınızı olumsuz etkiler.</li>
    <li>Eşzamanlı istekleri sınırlar.</li>
</ul>

<p>Karmaşık geri dönüş mantığı ve önbellekleme mekanizmaları yazmak yerine, VIES verilerini hızlı yanıtlar için önbellekleyen sunucusuz bir proxy olan <a href="https://vatflow.net" target="_blank" rel="noopener noreferrer">VatFlow</a> kullanarak temiz ve sağlam bir Laravel Özel Doğrulama Kuralı oluşturalım.</p>

<h3>
    <a name="prerequisites" href="#prerequisites"></a>
    Gereksinimler
</h3>

<ul>
    <li>Bir Laravel uygulaması (v9, v10 veya v11).</li>
    <li>RapidAPI üzerinden ücretsiz bir VatFlow API Anahtarı.</li>
</ul>

<h3>
    <a name="step-1-install-the-sdk" href="#step-1-install-the-sdk"></a>
    Adım 1: SDK'yı Yükleyin
</h3>

<p>VatFlow, kutudan çıkar çıkmaz otomatik yeniden denemeleri yöneten resmi, bağımsız bir PHP sarmalayıcısı sağlar. Kaynak kodunu <a href="https://github.com/Baptiste-Pignol/vatflow-php" target="_blank" rel="noopener noreferrer">GitHub'da</a> bulabilirsiniz (⭐ bırakmayı unutmayın!).</p>

<p>Kurulumu Composer ile yapın:<br/></p>

<div class="highlight js-code-highlight">
    <pre class="highlight shell"><code>composer require quicreatdev/vatflow-php</code></pre>
</div>

<h3>
    <a name="step-2-configure-your-api-key" href="#step-2-configure-your-api-key"></a>
    Adım 2: API Anahtarınızı Yapılandırın
</h3>

<p>RapidAPI anahtarınızı <code>.env</code> dosyanıza ekleyin:<br/></p>

<div class="highlight js-code-highlight">
    <pre class="highlight plaintext"><code>VATFLOW_API_KEY=your_rapidapi_key_here</code></pre>
</div>

<p>Ardından, Laravel'in ona kolayca erişebilmesi için <code>config/services.php</code> dosyanızda haritalayın:<br/></p>

<div class="highlight js-code-highlight">
    <pre class="highlight php"><code>// config/services.php

return [
// … diğer hizmetler
‘vatflow’ => [
‘key’ => env(‘VATFLOW_API_KEY’),
],
];

<h3>
    <a name="step-3-create-the-custom-validation-rule" href="#step-3-create-the-custom-validation-rule"></a>
    Adım 3: Özel Doğrulama Kuralını Oluşturun
</h3>

<p>Laravel, özel kurallar oluşturmayı son derece kolay hale getirir. Aşağıdaki artisan komutunu çalıştırın:<br/></p>

<div class="highlight js-code-highlight">
    <pre class="highlight shell"><code>php artisan make:rule ValidEuVat</code></pre>
</div>

<p>Şimdi, oluşturulan <code>app/Rules/ValidEuVat.php</code> dosyasını açın ve VatFlow istemcisini kullanarak mantığı uygulayın. Yanıt sürelerini garanti altına almak için önbelleklenen verileri (maksimum 7 gün) kullanacak şekilde yapılandıracağız.<br/></p>

<div class="highlight js-code-highlight">
    <pre class="highlight php"><code><?php

namespace App\Rules;

use Closure;
use Illuminate\Contracts\Validation\ValidationRule;
use VatFlow\VatFlowClient;
use Illuminate\Support\Facades\Log;

class ValidEuVat implements ValidationRule
{
/ 

  • Run the validation rule.
    */
    public function validate(string $attribute, mixed $value, Closure $fail): void
    {
    // 1. Anahtarı ile istemciyi başlat
    $apiKey = config(‘services.vatflow.key’);

    if (!$apiKey) {
    $fail(‘The VatFlow API key is missing.’);
    return;
    }

    $client = new VatFlowClient($apiKey);

    // 2. API’yi çağır (maksimum önbellek yaşı: 7 gün, otomatik denemeler: true)
    $response = $client->validate($value, 7, true);

    // 3. Ağ veya API hatalarını yönet
    if (!$response[‘success’]) {
    // Hata kaydediyoruz, ancak onaylamayı başlatmıyoruz.
    Log::warning(‘VAT Validation Service Unavailable: ‘ . $response[‘error’]);
    return;
    }

    // 4. KDV’nin gerçekten geçerli olup olmadığını kontrol et
    if (!$response[‘data’][‘is_valid’]) {
    $fail(‘The provided EU VAT number is invalid or inactive.’);
    }
    }
    }

<h3>
    <a name="step-4-use-it-in-your-controller-or-form-request" href="#step-4-use-it-in-your-controller-or-form-request"></a>
    Adım 4: Kontrolcü veya Form İsteğinizde Kullanın
</h3>

<p>Artık yeni kuralınızı, herhangi bir yerleşik Laravel kuralı gibi kullanabilirsiniz!</p>

<p>Diyelim ki bir şirket kayıt formunuz var:<br/></p>

<div class="highlight js-code-highlight">
    <pre class="highlight php"><code><?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Rules\ValidEuVat;

class CheckoutController extends Controller
{
public function store(Request $request)
{
$validated = $request->validate([
‘company_name’ => [‘required’, ‘string’, ‘max:255’],
‘vat_number’ => [‘required’, ‘string’, new ValidEuVat],
]);

    // Kod buraya ulaştıysa, KDV numarası %100 geçerlidir!
    // Kullanıcı oluşturma ve %0 KDV faturası ile devam edin...

    return response()->json(['message' => 'Company registered successfully!']);
}

}

<h3>
    <a name="wrapping-up" href="#wrapping-up"></a>
    Sonuç
</h3>

<p>KDV doğrulamasını Özel Kural içine taşıyarak ve VatFlow gibi önbellek proxy'si kullanarak, kontrolcülerinizi son derece temiz tutabilirsiniz ve ödeme işleminiz Avrupa Komisyonu'nun sunucuları zorlandığında bile oldukça hızlı kalır.</p>

<p><strong>Bonus ipucu:</strong> API yanıtı, şirketin resmi adı ve adresini de döner. Laravel Doğrulama Kuralları, İstek verilerini değiştirmek için tasarlanmadığından, bu verileri müşteri profilinizi otomatik doldurmak için kullanmak istiyorsanız, doğrulamadan hemen sonra kontrolcünüzde veya özel bir Eylem sınıfında <code>VatFlowClient</code>'ı doğrudan çağırabilirsiniz!</p>

<p>Denemek isterseniz, ücretsiz bir API anahtarı alabilir ve belgeleri <a href="https://vatflow.net" target="_blank" rel="noopener noreferrer">VatFlow web sitesinde</a> kontrol edebilirsiniz. PHP paketini ise <a href="https://packagist.org/packages/quicreatdev/vatflow-php" target="_blank" rel="noopener noreferrer">Packagist'te</a> bulabilirsiniz.</p>

<p>Laravel projelerinizde VIES API'si ile hiç sorun yaşadınız mı? Düşüncelerinizi yorumlarda paylaşın!</p>

Kaynak: Orijinal Makale

Bagisto ile Çoklu Satıcı Pazar Yeri Oluşturma: Bölüm 4 – Siparişler, Komisyonlar ve Satıcı Ödemeleri
Offset Sayfalamayı Bırakın: Laravel’i İmleç ile Ölçeklendirin
Laravel’de idempotentlik, TTL kullanıcı niyetine uyduğunda daha iyi çalışır
FormFlow’a Katıl ve Katkıda Bulun
Rust için Laravel benzeri bir Web Framework’u Geliştirdim
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Google Haritalar’da AI Destekli Yeni Özellikler Geliyor
Sonraki Makale Google Maps’te Yeni “Sohbet” Dönemi: Gemini’nin Gücüyle Tanışın!

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Constantin Koehncke Kullanıcılarla Her Gün İletişimde Kalıyor
Liste
Veritabanı Çökmesini Önleyin: Laravel’de Okuma/Yazma Ayrımı
Yazılım
Newegg, Ryzen 5 9600X ve 16GB DDR5’i 520$’a sunuyor
Donanım
Diablo 4 Güncellemesi ile Mythic Eşyalara Ulaşım Kolaylaşıyor
Oyun
Nintendo’nun Konuşan Çiçeği Fiyatı Düştü!
Liste
Tianwen-2 Uzay Aracı, Dünya’nın Yarı-Ayı Kamo’oalewa ile Buluştu!
Genel
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?