Wix'te VakıfBank 3D Secure Entegrasyonu: Güvenli Ödemenin Temel Taşı
Wix VakıfBank 3D Secure entegrasyonu sayesinde müşteriler bankanın doğrulama ekranlarıyla güvenli şekilde ödeme yapabiliyor.
3D Secure Neden Bu Kadar Kritik?
E-ticaret dünyasında ödeme güvenliği, işletmenizin başarısını doğrudan etkileyen en önemli faktörlerden biridir. Müşterileriniz online alışveriş yaparken en büyük endişelerinden biri, kredi kartı bilgilerinin güvenliğidir. İşte tam bu noktada VakıfBank'ın 3D Secure sistemi, hem sizin hem de müşterilerinizin koruyucusu olarak devreye girer. Wix sitenizde VakıfBank Sanal POS kullanıyorsanız, 3D Secure entegrasyonunun doğru yapılması, sahte işlemlerden korunmanın ve müşteri güveni kazanmanın anahtarıdır.
VakıfBank GET 7/24 Sistemi: Güvenli E-Ticaretin Temeli
VakıfBank, 3D Secure sistemini 2007 yılında "GET 7/24" (Güvenli Elektronik Ticaret 7/24) adı altında hizmete sunmuştur¹. Bu sistem, Visa ve MasterCard tarafından geliştirilen güvenlik protokollerini temel alır ve online alışverişlerin güvenliğini artırmak için tasarlanmış en gelişmiş yapılardan biridir². Visa kredi kartları için "Verified by Visa", MasterCard kredi kartları için ise "SecureCode" olarak bilinen bu sistem, ayrıca BKM'nin "Güvenli Ödeme" protokolü ile TROY logolu kartları da destekler¹.
3D Secure'un Üç Boyutu
Sistemin adı olan "3D" ifadesi, ödeme sürecindeki üç temel aktörü temsil eder: kart sahibi, internet sitesi (üye işyeri) ve banka³. Bu üç taraf arasındaki bilgi akışının özel şifreler ve anahtarlar ile doğrulanması, sistemin temelini oluşturur. Müşteriniz kart bilgilerini girdikten sonra, VakıfBank'ın doğrulama ekranına yönlendirilir ve bankası tarafından cep telefonuna gönderilen SMS onay kodu ile kimliğini doğrular². Bu sayede kartın gerçek sahibi olmayan birinin ödeme yapması engellenir.
Geleneksel sanal POS sistemlerinde ödeme işlemi e-ticaret sitesinin kendi sisteminde gerçekleşir ve sadece provizyon için arka planda banka ile bağlantı kurulur. Ancak 3D Secure sisteminde kredi kartı doğrulama bilgileri doğrudan bankanın sunduğu ekranda gerçekleşir⁴. Başka bir deyişle, ödeme bankada yapılır ve bu da güvenliği katmerleştirir.
Wix Entegrasyonunda Callback URL Yapılandırması
Wix platformunda VakıfBank 3D Secure entegrasyonunun en kritik adımlarından biri, callback URL (geri dönüş adresi) yapılandırmasıdır. Müşteri bankada 3D doğrulamayı tamamladıktan sonra, VakıfBank sistemi müşteriyi sizin belirlediğiniz URL adresine geri yönlendirir ve işlem sonuçlarını bu adrese POST eder⁵.
Callback URL'lerin Tanımlanması
Wix Velo backend'inizde HTTP functions kullanarak callback endpoint'leri oluşturmanız gerekir. Genellikle iki ayrı URL tanımlanır: başarılı işlemler için success URL ve başarısız işlemler için fail URL⁵. Bu URL'ler şu formatta olabilir:
Success URL: https://siteniz.wixsite.com/
_functions/vakifbankCallback/success
Fail URL: https://siteniz.wixsite.com/
_functions/vakifbankCallback/fail
Bu adresleri VakıfBank'a bildirirken dikkatli olmalısınız çünkü bankadan gelen tüm dönüş verileri bu URL'lere POST edilecektir. Callback URL'lerinizin HTTPS protokolü ile korunması ve SSL sertifikanızın geçerli olması zorunludur¹. Ayrıca, bu endpoint'lerin sürekli erişilebilir durumda olması kritik önem taşır - eğer callback URL'niz yanıt vermezse, işlem askıda kalabilir ve müşteri deneyimi olumsuz etkilenir.
Callback Endpoint'inde Veri İşleme
Velo backend'inizde tanımladığınız callback fonksiyonu, VakıfBank'tan gelen parametreleri yakalamalı ve işlemelidir. Örnek bir callback fonksiyon yapısı şu şekilde olabilir:
import { ok, badRequest } from 'wix-http-functions';
export async function post_vakifbankCallbackSuccess(request) {
try {
const formData = await request.body.formData();
const transactionData = {
orderId: formData.OrderId,
status: formData.Status,
pares: formData.PARes,
eci: formData.ECI,
cavv: formData.CAVV,
transId: formData.TransId
};
// Doğrulama işlemleri
const isValid = await validateTransaction(
transactionData
);
if (isValid) {
await updateOrderStatus(
transactionData.orderId,
'paid'
);
return ok({
redirect: '/order-confirmation'
});
}
} catch (error) {
console.error('Callback error:', error);
return badRequest({ error: error.message });
}
}
Bu fonksiyonda dikkat edilmesi gereken nokta, gelen verilerin mutlaka doğrulanması gerekliliğidir. VakıfBank'tan dönen her parametre kontrol edilmeli ve işlemin gerçekliği teyit edilmelidir.
Hash Kontrolü: Güvenliğin İlk Katmanı
VakıfBank 3D Secure entegrasyonunda güvenliğin en önemli unsurlarından biri hash kontrolüdür. Hash, temel olarak verilerinizin matematiksel bir parmak izini oluşturur ve verinin yolda değiştirilip değiştirilmediğini anlamanızı sağlar⁶. VakıfBank sisteminde hash hesaplaması genellikle SHA-1 veya SHA-256 algoritmaları kullanılarak yapılır.
Hash Hesaplama Süreci
İşlem başlatıldığında, belirlenen parametreler birleştirilerek bir string oluşturulur ve bu string üzerinde hash algoritması çalıştırılır. Örneğin, sipariş numarası, tutar, para birimi ve güvenlik anahtarı birleştirilerek hash değeri oluşturulabilir:
import crypto from 'crypto';
function calculateHash(orderId, amount, currency, secretKey) {
const dataString = orderId + amount + currency + secretKey;
const hash = crypto
.createHash('sha1')
.update(dataString)
.digest('hex')
.toUpperCase();
return hash;
}
Callback aşamasında ise VakıfBank'tan gelen hash değerini kendi hesapladığınız hash ile karşılaştırmalısınız. Eğer iki değer eşleşiyorsa, verinin manipüle edilmediğinden emin olabilirsiniz⁶. Bu kontrol olmadan ödeme sürecine devam etmek ciddi güvenlik riskleri yaratır.
PARes ve VERes: Doğrulama Mesajlarının Kalbi
VakıfBank GET 7/24 sisteminde iki kritik mesaj türü vardır: VERes (Verification Response) ve PARes (Payer Authentication Response)⁷. Bu mesajlar, 3D Secure sürecinin farklı aşamalarında oluşturulur ve işlemin güvenli bir şekilde tamamlanabilmesi için hayati öneme sahiptir.
VERes Mesajı: Kartın 3D Secure Kaydı
İşlem başlatıldığında, ilk olarak VEReq (Verification Request) mesajı Visa/MasterCard dizin sunucusuna gönderilir. Bu mesaj, kullanılan kartın 3D Secure programına kayıtlı olup olmadığını sorgular⁷. Dizin sunucusu VERes mesajı ile cevap verir.
VERes mesajındaki "Status" alanı üç farklı değer alabilir⁷:
Y (Yes): Kart 3D Secure programına kayıtlı, işleme devam edilebilir
N (No): Kart kayıtlı değil, işletme isterse "half secure" olarak devam edebilir
U (Unable): Kartın durumu belirlenemedi, işlem sonlandırılmalı
Status değerinin "Y" olması durumunda süreç PARes aşamasına geçer. Eğer "N" veya "U" dönerse, işletme kendi risk politikasına göre işleme devam edip etmemekte serbest olsa da, VakıfBank böyle işlemlerde doğrulama yapmadığı için olası itirazlarda sorumluluk üye işyerindedir⁷.
PARes Mesajı: Kimlik Doğrulama Sonucu
VERes Status değeri "Y" olduğunda, müşteri kartı çıkaran bankanın ACS (Access Control Server) sunucusuna yönlendirilir⁷. ACS, müşteriden SMS ile gönderilen tek kullanımlık şifreyi girmesini ister. Müşteri bu şifreyi girdiğinde, ACS sunucusu PARes mesajını oluşturur ve üye işyerine döner.
PARes mesajındaki "Status" alanı da kritik öneme sahiptir⁸:
Y (Yes): Kimlik doğrulama başarılı, provizyon işlemine geçilebilir
A (Attempted): Doğrulama denenmiş ancak tam başarılı olmamış, riskli
N (No): Doğrulama başarısız, işlem sonlandırılmalı
U (Unable): Doğrulama yapılamadı, işlem sonlandırılmalı
E (Error): Hata oluştu, işlem sonlandırılmalı
VakıfBank'ın önerisi açıktır: PARes Status değeri "Y" veya "A" dışında bir değer olması durumunda, işlemin provizyon aşamasına gönderilmemesidir⁸. Çünkü bu durumda 3D Secure süreci tam olarak başarılı tamamlanmamış demektir ve müşteri itirazlarında sorumluluk işletmeye ait olacaktır.
ECI ve CAVV: Provizyon Mesajının Kritik Parametreleri
3D Secure sürecini başarıyla tamamladıktan sonra, provizyon (authorization) mesajınızı VakıfBank'a gönderirken iki önemli parametreyi mutlaka eklemeniz gerekir: ECI (Electronic Commerce Indicator) ve CAVV (Cardholder Authentication Verification Value)⁸.
ECI (Electronic Commerce Indicator)
ECI, işlemin güvenlik seviyesini belirten bir koddur. Farklı kart şemaları için farklı ECI değerleri kullanılır. Örneğin, Visa kartları için tam 3D Secure işlemlerde ECI değeri "05" olurken, MasterCard için "02" olur⁸. Bu değer, bankanın işlemi nasıl değerlendireceğini etkiler.
Wix backend'inizde PARes mesajını işlerken, doğru ECI değerini çıkarmalı ve provizyon isteğinize dahil etmelidir:
function determineECI(pares, cardType) {
const paresStatus = pares.Status;
if (cardType === 'VISA') {
if (paresStatus === 'Y') return '05';
if (paresStatus === 'A') return '06';
} else if (cardType === 'MASTERCARD') {
if (paresStatus === 'Y') return '02';
if (paresStatus === 'A') return '01';
}
return null; // İşlem reddedilmeli
}
CAVV (Cardholder Authentication Verification Value)
CAVV, kart sahibi kimlik doğrulaması sonucunu içeren şifrelenmiş bir değerdir. PARes mesajında GET 7/24 MPI tarafından iletilmişse, bu değeri provizyon mesajınıza eklemelisiniz⁸. CAVV, bankanın işlemin gerçekten 3D Secure sürecinden geçtiğini doğrulamasını sağlar.
Önemli bir not: Eğer PARes Status değeri "Y" veya "A" değilse, CAVV değeri olmayabilir veya geçersiz olabilir. Bu durumda provizyon mesajı göndermemelisiniz⁸.
İşlem Numarası Eşleşmesi: Takip ve Mutabakat
VakıfBank 3D Secure sürecinde her işlem benzersiz bir işlem numarası (TransactionID) ile tanımlanır⁹. Bu numara, işlemin başından sonuna kadar tüm aşamalarda kullanılır ve farklı sistemler arasında işlemin takibini mümkün kılar.
TransactionID'nin Yaşam D öngüsü
İşlem başlatıldığında Wix backend'inizde bir TransactionID üretirsiniz. Bu ID genellikle zaman damgası ve rastgele bir string'in kombinasyonundan oluşur:
function generateTransactionID() {
const timestamp = Date.now();
const random = Math.random()
.toString(36).substr(2, 9);
return `VAKIF_${timestamp}_${random}`;
}
Bu TransactionID, VakıfBank'a gönderdiğiniz ilk istek mesajında yer alır. 3D Secure süreci boyunca bu ID korunur ve callback aşamasında size geri döner. Callback'te aldığınız TransactionID'yi kendi veritabanınızda sakladığınız ID ile eşleştirerek, hangi siparişe ait olduğunu tespit edersiniz⁹.
Mutabakat ve Sorun Giderme
İşlem numarası eşleşmesi sadece sipariş takibi için değil, aynı zamanda mutabakat ve sorun giderme için de kritiktir. Müşteri "ödeme yaptım ama sipariş oluşmadı" dediğinde, VakıfBank panelinden işlem numarasını sorgulayarak gerçekten ödemenin gelip gelmediğini kontrol edebilirsiniz¹⁰. Eğer ödeme gelmiş ama Wix'te sipariş oluşmamışsa, callback sürecinde bir sorun olduğunu anlarsınız.
Aynı şekilde, tekrarlayan ödeme denemeleri durumunda aynı TransactionID'nin birden fazla kullanılmamasını sağlamalısınız. Aksi takdirde VakıfBank sistemi işlemi reddedebilir veya karışıklıklar yaşanabilir⁹.
Provizyon Yanıtı Doğrulama: Son Kontrol
Callback aşamasında tüm doğrulamalar başarılı olduktan sonra, VakıfBank'tan gelen provizyon yanıtını da kontrol etmelisiniz. Provizyon yanıtı, işlemin bankaca onaylanıp onaylanmadığını belirtir.
Yanıt Kodlarının Anlamı
VakıfBank, provizyon yanıtında bir response code (yanıt kodu) gönderir. "00" kodu başarılı işlemi temsil eder, diğer tüm kodlar ise çeşitli ret nedenlerini belirtir⁹. Örneğin:
00: Başarılı
01: Kartı veren banka ile bağlantı kurulamadı
05: Yetkisiz işlem
12: Geçersiz işlem
51: Yetersiz bakiye
54: Kartın son kullanma tarihi geçmiş
Wix backend'inizde bu kodları değerlendirmeli ve müşteriye uygun mesajı göstermelisiniz:
function interpretResponseCode(code) {
const messages = {
'00': 'Ödemeniz başarıyla tamamlandı.',
'51': 'Yetersiz bakiye. Lütfen başka bir kart deneyin.',
'54': 'Kartınızın son kullanma tarihi geçmiş.',
'05': 'İşlem reddedildi. Lütfen bankanızla iletişime geçin.'
};
return messages[code] ||
'İşlem başarısız. Lütfen tekrar deneyin.';
}
Hata Durumlarında Geri Bildirim
Eğer provizyon yanıtı başarısız ise, müşteriye net ve yardımcı bir mesaj göstermelisiniz. "İşlem başarısız" gibi genel bir mesaj yerine, mümkünse spesifik sorunu belirtin (yetersiz bakiye, kart süresi dolmuş vb.). Bu, müşteri deneyimini iyileştirir ve destek çağrılarını azaltır.
Ayrıca, başarısız işlemleri loglayın ve periyodik olarak inceleyin. Sürekli aynı hata kodunu alıyorsanız, entegrasyonunuzda bir sorun olabilir¹⁰.
Sahte İşlem Risklerinin Azaltılması
VakıfBank 3D Secure entegrasyonunun doğru yapılması, sahte işlem (fraud) risklerini önemli ölçüde azaltır. Bunun birkaç nedeni vardır.
Kart Sahibi Doğrulaması
İlk ve en önemli neden, müşterinin bankası tarafından doğrulanmasıdır². Geleneksel sanal POS'larda sadece kart numarası, son kullanma tarihi ve CVV kodu yeterlidir. Ancak 3D Secure'da bunlara ek olarak, müşterinin cep telefonuna gönderilen tek kullanımlık şifre de gereklidir. Bu, kartı çalmış veya bilgilerini kopyalamış birinin ödeme yapmasını neredeyse imkansız hale getirir².
Chargeback Koruması
3D Secure ile yapılan işlemlerde, müşteri "bu işlemi ben yapmadım" diyerek itiraz ettiğinde, banka işlemin 3D doğrulama sürecinden geçtiğini görür ve itirazı reddeder¹¹. Çünkü müşterinin cep telefonuna gönderilen şifreyi sadece kendisi bilebilir. Bu sayede "ben yapmadım" itirazlarından kaynaklanan chargeback (geri ödeme) riski bankaya geçer ve işletme korunmuş olur¹¹.
3D Secure kullanmayan işyerlerinde ise durum farklıdır. Müşteri itiraz ettiğinde, işletmenin işlemin kendisi tarafından yapıldığına dair kanıt sunması gerekir. Genellikle böyle bir kanıt olmadığı için banka tutarı müşteriye iade eder ve işletmeden geri alır¹¹.
Fraud Detection Sistemleri
VakıfBank GET 7/24 sistemi, arka planda gelişmiş fraud detection algoritmaları çalıştırır. Cihaz bilgisi, işlem tutarı, kullanıcı davranışı ve geçmiş ödeme alışkanlıkları gibi birçok veriyi değerlendirerek işlemin şüpheli olup olmadığını belirler. Şüpheli görünen işlemlerde ek kontroller uygular veya doğrudan reddeder¹².
Müşteri Deneyimi ve İşlem Tamamlama Oranları
3D Secure entegrasyonunun doğru yapılması sadece güvenlik açısından değil, müşteri deneyimi açısından da kritiktir. Müşteriler bankanın kendi ekranını gördüklerinde kendilerini daha güvende hissederler ve alışverişi tamamlama konusunda daha rahat olurlar³.
Güven Faktörü
Araştırmalar gösteriyor ki, Visa Avrupa tarafından Almanya, İspanya ve İngiltere'de yapılan bir çalışmada, Verified by Visa tarafından sağlanan güvenlik, internet üzerinden alışveriş yapmayan kişilerin %47'sini alışveriş yapmaya, sık alışveriş yapmayan kişilerin ise %56'sını daha fazla alışveriş yapmaya teşvik etmektedir¹³. Bu rakamlar, güvenliğin müşteri davranışını doğrudan etkilediğini gösterir.
Müşterileriniz ödeme aşamasında VakıfBank'ın logosunu ve tanıdık doğrulama ekranını gördüklerinde, sitenizin güvenilir olduğunu düşünürler. Özellikle Türkiye'de VakıfBank gibi köklü bir bankanın adını görmek, müşteri güvenini artırır.
Sorunsuz Deneyim İçin Dikkat Edilmesi Gerekenler
3D Secure süreci müşteri için ekstra bir adım olduğu için, bu adımın mümkün olduğunca hızlı ve sorunsuz geçmesi önemlidir. Bazı ipuçları:
Pop-up Kullanmayın: VakıfBank entegrasyon kılavuzunda açıkça belirtildiği üzere, 3D Secure akışında pop-up pencere kullanımı kesinlikle önerilmemektedir⁷. Çünkü tarayıcıların pop-up engelleyici araçları bu pencereyi kapatabilir ve müşteri işlemi tamamlayamaz. Bunun yerine aynı sekmede veya yeni bir tab'de yönlendirme yapın.
Mobil Uyumluluk: Müşterilerinizin büyük çoğunluğu mobil cihazlardan alışveriş yapıyor. VakıfBank'ın doğrulama ekranının mobilde düzgün görüntülendiğinden ve SMS kodunun kolayca girilebileceğinden emin olun.
Hata Mesajları: Eğer müşteri SMS kodunu yanlış girerse veya zaman aşımı olursa, net ve yardımcı hata mesajları gösterin. "Tekrar dene" butonu sunun ve müşterinin kart bilgilerini tekrar girmesini gerektirmeyin.
Loading İndikatörleri: Callback aşamasında işlem sonuçlarını işlerken müşteriye bir loading indikatörü gösterin. Aksi takdirde müşteri sayfanın donduğunu düşünüp tarayıcıyı kapatabilir.
Sonuç: Güvenli ve Güvenilir E-Ticaret
Wix'te VakıfBank 3D Secure entegrasyonunun doğru yapılması, modern e-ticaretin vazgeçilmez bir unsurudur. Bu entegrasyon, callback URL yapılandırmasından hash kontrolüne, PARes mesajlarının doğrulanmasından provizyon yanıtlarının işlenmesine kadar birçok teknik adımı içerir. Her adımın dikkatli bir şekilde uygulanması gerekir çünkü en küçük bir hata bile ödeme sürecinin başarısız olmasına neden olabilir.
Entegrasyonu tamamladığınızda elde ettiğiniz değer ise çok açıktır: sahte işlem riskleri minimal seviyeye iner, chargeback kayıplarından korunursunuz, müşteri güveni artar ve işlem tamamlama oranlarınız yükselir. VakıfBank'ın güvenilir altyapısı ve GET 7/24 sisteminin gelişmiş özellikleri sayesinde, işletmeniz güvenli ve profesyonel bir ödeme deneyimi sunabilir.
Unutmayın, 3D Secure sadece bir güvenlik önlemi değil, aynı zamanda müşterilerinize verdiğiniz bir güven mesajıdır. Onlara "ödeme bilgileriniz güvende" dediğinizde, bunu VakıfBank'ın doğrulaması ile destekliyorsunuz. Ve bu güven, uzun vadede müşteri sadakati ve tekrar eden satışlar olarak size geri döner.
Kaynakça
VakıfBank. "Sanal POS Entegrasyon Kılavuzu". Erişim: https://vbassets.vakifbank.com.tr/ticari/pos-uye-is-yeri-hizmetleri/vakifbank-sanal-pos-entegrasyon-dokumani-2.4-versiyon.pdf
Gurmehub. (2024). "WooCommerce VakıfBank Sanal Pos Entegrasyonu Nasıl Yapılır?". Erişim: https://gurmehub.com/en/woocommerce-vakifbank-virtual-pos/
FinansalKredi. (2025). "Vakıfbank 3D Secure Kapatma". Erişim: https://finansalkredi.com/vakifbank-3d-secure-kapatma/
Webimonline. "VakıfBank Sanal Pos Modülü Entegrasyonu". Erişim: https://www.webimonline.com/vakifbank-sanal-pos-modulu
İdeasoft. (2025). "Vakıfbank Sanal Pos Kurulum Kılavuzu". Erişim: https://www.ideasoft.com.tr/yardim/vakifbank-sanal-pos-kurulum-kilavuzu/
Akıllı Ticaret. (2025). "Vakıfbank Sanal Pos Entegrasyonu". Erişim: https://akilliticaret.com/konu/vakifbank-sanal-pos-entegrasyonu
Bereket Sigorta. "GET 7/24 MPI ve VPOS 7/24 Entegrasyon Kılavuzu". Erişim: https://fileapi.bereket.com.tr/api/v1/file/public/5235cfd97a614c25a82b7932d32cffab..pdf
Arif Ünal. "Bir İşlemin 3D Secure seviyesi nasıl belirlenir?". Erişim: https://unalarif.com/yazi/bir-islemin-3d-secure-yari-3d-ya-da-non-3d3dsiz-oldugu-nasil-belirlenir/
Yapı Kredi. "POSNET XML Servisleri Entegrasyon Dokümanı". Erişim: https://m.yapikredipos.com.tr/_assets/pdf/sanal-pos-entegrasyon-dokumanlari/
Brihaspati Tech. (2025). "Custom Wix Payment Gateway Development: A Complete Guide". Erişim: https://www.brihaspatitech.com/blog/custom-wix-payment-gateway-development-a-complete-guide/
wpmatik. (2025). "VakıfBank WooCommerce Sanal POS". Erişim: https://www.wpmatik.com/urun/vakifbank-woocommerce-sanal-pos
PayTR. (2025). "3D Secure Nedir? Sanal POS Güvenliğinde Rolü". Erişim: https://www.paytr.com/blog/3d-secure-nedir-sanal-pos-guvenliginde-rolu
TEB. "3D Secure ile Sanal Pos Güvende". Erişim: https://www.teb.com.tr/3d-secure-ile-sanal-poslar-guvende/

Blakfy Uzmanı
