MetropolCard for WooCommerce
MetropolCard vPos-OTP payment gateway for WooCommerce — kart no + SMS OTP ile checkout içinde ödeme, cüzdan seçimi, iptal/iade, HPOS uyumlu
by Eray Usta · github.com/erayusta/metropolcard-for-woocommerce · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/erayusta/metropolcard-for-woocommerce/archive/refs/heads/master.zipWooCommerce için MetropolCard vPos-OTP ödeme yöntemi. Müşteri, checkout sayfasında MetropolCard kart numarasını girer; telefonuna SMS ile gelen tek kullanımlık şifreyi (OTP) girerek ödemeyi sayfadan ayrılmadan tamamlar. İptal ve iadeler WooCommerce sipariş ekranından yapılır.
Bu eklenti resmi bir MetropolCard ürünü değildir. Kullanmak için MetropolCard'dan üye işyeri hesabı ve API kimlik bilgileri almanız gerekir.
Özellikler
- ✅ Checkout içinde inline OTP akışı — kart no → "Kod Gönder" → SMS şifresiyle öde (yönlendirme yok)
- ✅ Cüzdan desteği — kartta birden çok cüzdan/ürün varsa müşteri seçer, tekse otomatik
- ✅ İptal/iade — WooCommerce'in standart iade ekranından; aynı gün + tam tutar otomatik "iptal", diğer durumlar "iade" olarak gönderilir
- ✅ HPOS uyumlu (WooCommerce custom order tables)
- ✅ Test modu — tek tıkla test API'sine geçiş
- ✅ Güvenlik: kart numarası hiçbir yerde saklanmaz/loglanmaz (yalnızca
637578******4386maskesi), OTP bağlamı 10 dakikalık geçici kayıtta tutulur, sepet tutarı değişirse ödeme reddedilip yeni kod istenir - ✅ Türkçe hata mesajları (API hata kodları kullanıcı diline çevrilir)
- ✅ İsteğe bağlı debug logu (WooCommerce → Durum → Loglar,
metropolcardkaynağı; kartlar maskeli)
Kurulum
- Releases sayfasından zip'i indirin veya bu repoyu
wp-content/plugins/metropolcard-for-woocommerceolarak klonlayın. - Eklentiyi etkinleştirin.
- WooCommerce → Ayarlar → Ödemeler → MetropolCard bölümünde MetropolCard'ın size ilettiği bilgileri girin:
- ConsumerId, ConsumerName (UserName), RefNo
- AccessKey ve AES Anahtarı (SaltKey)
- İş Yeri Kodu (MerchantCode) ve Terminal Kodu (TerminalCode)
- Test modunda deneyin, sonra test modunu kapatıp canlı API adresinizi doğrulayın.
Nasıl çalışır?
Müşteri kart no girer ──▶ "Kod Gönder"
│ │
│ GenerateToken (AES-256-CBC şifreli, 50 dk önbellek)
│ │
│ UsableWalletList + SendOtp(sepet tutarı) ──▶ SMS
▼ ▼
OTP'yi girer ──▶ Siparişi Ver ──▶ SaleWithOtp ──▶ payment_complete()
│
İade ekranı ◀── process_refund ◀── Return (iptal/iade otomatik seçilir)
Gereksinimler
- WordPress 6.0+, WooCommerce 7.0+ (klasik checkout)
- PHP 7.4+ (
openssleklentisi)
Sık sorulanlar
Kart numaraları saklanıyor mu? Hayır. Kart numarası yalnızca API isteği sırasında bellekte tutulur; veritabanına ve loglara yalnızca ilk 6 + son 4 hanesi yazılır.
Blok (Gutenberg) checkout destekleniyor mu? Şimdilik klasik checkout ([woocommerce_checkout]) desteklenir.
Sepet tutarı OTP istendikten sonra değişirse? Ödeme reddedilir ve müşteriden yeni kod istemesi istenir — OTP hangi tutar için üretildiyse tahsilat da o tutar için yapılır.
Lisans
GPL v2 veya üzeri — bkz. LICENSE.