WebBlocks Memberships
Memberships 0.2.0; ziyaretçi hesaplarını, ücretsiz veya elle atanan üyelik paketlerini, ücretli abonelikleri ve otomatik yenilemeyi tek eklentide sunar. WebBlocks CMS 1.x serisinde 1.100.0 veya üzerini gerektirir. Ücretli abonelikler isteğe bağlı Commerce 0.16.0 ödeme sağlayıcılarını kullanır; ücretsiz ve elle yönetilen üyelikler Commerce olmadan çalışmaya devam eder.
Gereksinimler ve kurulum
Bu rehber Memberships 0.2.0 sürümünü belgeler. PHP 8.4 veya üzeri ve WebBlocks CMS ^1.100.0 gerekir. Ücretli planlar ayrıca Commerce ^0.16 kullanır.
Uyumlu ZIP paketini Memberships katalog sayfasından indirin. Sistem → Eklentiler bölümünden yükleyip etkinleştirin ve eklentinin veritabanı kurulumunun başarıyla tamamlandığını kontrol edin. Ziyaretçileri davet etmeden önce sitenin kanonik alan adını ve CMS'nin giden e-posta ayarlarını yapılandırın. Memberships bölümünü açıp hesaplarını ve paketlerini yöneteceğiniz siteyi seçin.
Üye hesapları
Kayıt, giriş, parola sıfırlama ve üyelikleri görüntüleme için yerel Account bloğunu veya sitenin /plugins/webblocks-memberships/account yolunu kullanın. Paketlere katılım ve yalnızca üyelere açık içerikler için e-posta doğrulaması gerekir. Sitenin kanonik alan adı ve CMS'nin giden e-posta ayarları yapılandırılmış olmalıdır. Doğrulama bağlantıları 24 saat, parola sıfırlama bağlantıları bir saat geçerlidir. GET isteği bir onay formu gösterir; bağlantıyı yalnızca CSRF korumalı POST isteği kullanılmış hale getirir. Parola sıfırlama ve hesabı devre dışı bırakma, mevcut üye oturumlarını geçersiz kılar.
Paketler ve erişim
Site kapsamındaki Memberships paneli, paketleri ve üyelik atamalarını yönetir. Paketler ücretsiz bireysel katılıma izin verebilir veya operatör ataması gerektirebilir. Operatörler başlangıç ve bitiş zamanlarını UTC ya da açık saat dilimi farkıyla belirler; atamayı uzatabilir veya iptal edebilir, hesabı etkinleştirebilir ya da devre dışı bırakabilir. Ziyaretçi hesapları CMS yöneticilerinden ayrıdır.
Panelde bir sayfayı herkese, doğrulanmış üyelere veya seçilen paketin sahiplerine açabilirsiniz. Memberships kullanılamıyorsa korunan sayfalar kapalı kalır; genel aramada, site haritasında ve otomatik sayfa listeleriyle gezinmede yer almaz. İçerik sürümünü geri yüklemek geçerli korumayı kaldırmaz. Kopyalar da korumayı taşır. CMS'yi 1.99.0 altına düşürmek bu yeni kuralları uygulayamaz; böyle bir düşürmeden önce korunan sayfaları yayından kaldırın. Dışa aktarılan korunan sayfalar taslaktır; içe aktarılan paket haklarının erişim sağlaması için yerel bir pakete açıkça yeniden atanması gerekir.
Sayfa erişimi, oluşturulan sayfayı denetler; zaten herkese açık bir dosya URL'sini denetlemez. Gizli medya için genel erişime kapalı, özel bir dosya sistemi diski gerekir. Korunan bir sayfadaki yayımlanmış blokta kullanılan özel medya, aynı üyelik kontrolüyle /plugins/webblocks-memberships/downloads/{page}/{media} üzerinden sunulabilir.
Appointments entegrasyonu
Appointments, Memberships'i isteğe bağlı kullanır. Giriş yapan doğrulanmış üyenin bilgileri müşteri alanlarını önceden doldurabilir ve rezervasyon üyeyle ilişkilendirilebilir. Bir hizmet, doğrulanmış üyelik veya etkin paket gerektirebilir. Memberships yokken normal misafir rezervasyonları çalışır; kısıtlı hizmetler kullanılamaz. Geçmiş rezervasyonlardaki müşteri bilgileri korunur.
API ile yönetim
Internal Content API, memberships.read yetkisiyle /webadmin/api/plugins/webblocks-memberships?site_id=... adresini sunar. POST işlemleri memberships.write ve açıkça belirtilmiş, yetkili bir site_id gerektirir: package, package/{id}, grant, revoke/{id}, member/{id} ve access. Kişisel API tokenları, devredilmiş güncel site kapsamını da karşılamalıdır.
Önceki 0.1.0 sürümü, ücretli faturalama olmadan ücretsiz ve elle atanan üyelikleri destekler. Arayüzün İngilizce kaynak metinleri ve Türkçe çevirileri dil kataloglarında bulunur; diğer kataloglar şu anda İngilizce yedek metin kullanır.
Kayıt sırasında önce ad ve e-posta alınır. Doğrulama POST isteği hesap parolasını belirler ve önceki oturumları geçersiz kılar; böylece e-posta sahipliği kanıtlanmadan seçilmiş bir parola üçüncü kişilerin elinde kalmaz. Bekleyen hesapların parola sıfırlama istekleri bunun yerine bir doğrulama bağlantısı üretir.
Ücretli abonelikler (0.2.0)
Bu aşama Memberships içinde kalır. CMS 1.100.0 ödeme sözleşmesini ve Commerce 0.16.0 sağlayıcı uygulamasını gerektirir. Appointments 0.16.1, mevcut üye dizini üzerinden hem Memberships 0.1 hem de 0.2 ile çalışır.
Ödeme kimlik bilgilerini Commerce içinde bir kez yapılandırın. Memberships bunları kopyalamaz. Memberships panelinde para birimi, sağlayıcı ve tam sayı olarak en küçük para birimi cinsinden fiyat içeren aylık veya yıllık plan oluşturun. EUR 1000, EUR 10.00 anlamına gelir. Aylık aralık sayısı 1–12, yıllık aralık sayısı 1'dir. Mevcut aboneliklerin fiyatları sabit kalır. Yeni bir plan, verilmiş bir ödeme yetkisini sessizce değiştirmez.
Doğrulanmış üye yenilemeye açıkça izin verir. PayPal kendi abonelik onayı ve faturalama akışını kullanır. SumUp, ödeme bileşeni üzerinden onay ve kayıtlı kart tokenı alır; geçici 1 birimlik kurulum ödemesi iade edilir ve üyelik satın almaz. Erişim, sunucu abonelik ödemesini doğruladıktan sonra başlar; mevcut elle atanan haklar bağımsız kalır. Ücretli paket erişimi, ödeme mantığını Appointments içine kopyalamadan kısıtlı hizmetlerde de çalışır.
Sunucudaki Laravel zamanlayıcısını her dakika çalıştırın. Memberships, beş dakikalık mutabakat ve yetkilendirilmiş SumUp yenileme işlemlerini kaydeder. PayPal yenilemeleri PayPal tarafından yürütülür ve yerel kayıtlarla uzlaştırılır. Reddedilen ödeme veya süresi dolan ücretli dönem erişim sağlamaz. Sonucu bilinmeyen istekler körlemesine tekrar tahsil edilmek yerine aynı sağlayıcı referansıyla kontrol edilir. Tamamen kaçırılmış bir SumUp dönemi için yeniden katılım gerekir. İptal, gelecekteki yenileme isteklerini durdurur; önceden gönderilmiş tahsilatlar tamamlanabilir. Harici sözleşmenin iptali doğrulanana kadar iptal beklemede kalır. Ödemesi kesinleşmiş erişim, iade edilen veya tersine çevrilen dönemler hariç, dönem sonuna kadar sürer.
Mevcut Commerce PayPal webhook'una abonelik ve satış konularını ekleyin. SumUp ödemeleri kanonik sitenin Memberships geri çağırımını kullanır. Canlı planları açmadan önce satıcı izinlerini, kayıtlı kart/SCA davranışını ve geri çağırım teslimini aynı satıcının sandbox ortamında doğrulayın. Faturalama eklentilerini veya sağlayıcı ayarlarını kalıcı olarak kaldırmadan önce harici sözleşmeleri iptal edin.
Mevcut API site kapsamı ve memberships.read/memberships.write yetkileri; planları, abonelikleri ve ödeme geçmişini kapsar. POST /plugins/webblocks-memberships/plan plan oluşturur; /stop-plan/{id} planı kapatır ve yenileme iptali ister. POST /plugins/webblocks-memberships/billing/{subscription-uuid}/refresh veya /cancel, sahip olunan site aboneliğini uzlaştırır ya da iptal eder. Tutar, üyenin sahipliği ve paket kapsamı sunucuda denetlenir; kart tokenları ve onay/istek sırları API çıktısına eklenmez.
Sağlayıcı sözleşmeleri: PayPal abonelikleri, PayPal faturalama sıklıkları, SumUp tokenlaştırma, SumUp ödeme ve işlem kanıtı.
Sorun giderme ve ilgili rehberler
Hesap e-postası gelmiyorsa yeni doğrulama istemeden önce CMS'nin giden e-posta ayarlarını ve sitenin kanonik alan adını kontrol edin. Üye kısıtlı sayfayı açamıyorsa e-posta doğrulamasını, hesap etkinliğini, gerekli paketi ve atamanın başlangıç/bitiş zamanlarını denetleyin. Ücretli erişim için ayrıca sağlayıcı tarafından doğrulanmış ödeme kanıtı gerekir; bir planı etkinleştirmek tek başına erişim vermez.
Eklentilere genel bakışa dönün, Commerce rehberiyle ödeme sağlayıcılarını yapılandırın veya isteğe bağlı Appointments entegrasyonunu inceleyin.