# Revolut Modülü

https://docs.wisecp.com/tr/revolut-modulu

Revolut ile ödeme alın: müşteri ödemeyi Revolut'un kendi sayfasında tamamlar, isterse abonelik başlatır ya da yenilemeler için kart saklar.

## Ekrana Erişim

**Ayarlar → Finansal → Ödeme Ağ Geçitleri** yolunu izleyin, **Tüm Modüller** sekmesini açın ve Revolut kartına tıklayın: `{admin}/modules/payment?module=Revolut`

**Durum** kutusunu işaretleyip kaydettiğinizde yöntem ödeme adımında listelenir. Müşterinin gördüğü sırayı [Ödeme Ağ Geçitleri](https://docs.wisecp.com/tr/odeme-modulleri) ekranından düzenleyin.

## Ekranda Neler Var

Kart; Revolut Merchant API kimlik bilgilerinizi, ortam seçimini ve ortak ağ geçidi ayarlarını taşır.

Müşteri sepetin içinde kısa bir panel görür ve ödemeyi Revolut sayfasında tamamlar; kart bilgileri sitenize hiç ulaşmaz. Revolut sonucu **Callback URL** adresine bildirir.

Yenilenen kalemler, Revolut'un kendi takibinde tuttuğu bir abonelikle de ödenebilir. Kart saklanabilir ve sonra müşteri olmadan çekilebilir. Taksit desteklenmez.

## Ön Koşullar

- Satıcı hesabı tanımlı bir Revolut Business hesabı ve test için ayrı bir sandbox hesabı. İkisi hiçbir şeyi paylaşmaz: anahtarlar, müşteriler ve saklı kartlar ayrıdır.
- Burada yapılandırdığınız ortama ait bir Merchant API gizli anahtarı.
- Aynı satıcı hesabı için kaydedilmiş bir webhook; ödemeler ve abonelik dönemleri böyle bildirilir.
- Revolut'un kabul ettiği bir para birimi. Fiyatlarınız başka bir para birimindeyse **Para Birimi Dönüştürme** alanını doldurun.

## Alanlar

- **Durum**: Modülü açar. Kapalıyken diğer alanlar kilitli kalır ve müşteriye bu yöntem sunulmaz.
- **Gizli API Anahtarı**: Zorunlu. Revolut'a giden her isteği doğrulayan Merchant API gizli anahtarı.
- **Webhook İmza Anahtarı**: Zorunlu. Revolut bunu webhook oluşturulurken bir kez verir. Anahtar olmadan gelen bildirimlerin hepsi reddedilir.
- **API Sürümü**: İsteklerin gönderileceği Revolut API sürümü; tarih biçiminde yazılır. Test ettiğiniz sürümü koruyun.
- **Test Ortamı**: Tüm istekleri Revolut'un test ortamına gönderir; orada para geçmez. Varsayılan kapalı.
- **Abonelik Ücretinin Güncellenmesi**: Hizmet fiyatı değiştiğinde Revolut'taki yinelenen tutarı da aynı hizaya getirir.

Komisyon, para birimi dönüştürme, kabul edilen tutar aralığı ve ülke listeleri her ağ geçidinde aynı çalışır: [Ödeme Ağ Geçitleri](https://docs.wisecp.com/tr/odeme-modulleri). **Callback URL**, **Success URL** ve **Failed URL** alanlarını değiştiremezsiniz; bildirim adresini alanın sonundaki ikonla kopyalayın.

## İşlemler

### Revolut hesabınızı bağlama

1. Sandbox hesabınızda **Merchant overview → … → Merchant API → Generate** yolunu açın ve gizli anahtarı kopyalayın.
2. **Tüm Modüller** altındaki Revolut kartını açın ve **Durum** kutusunu işaretleyin.
3. Anahtarı **Gizli API Anahtarı** alanına yapıştırın ve **Test Ortamı** kutusunu işaretleyin.
4. **Değişiklikleri Kaydet** butonuna tıklayın. Yöntem artık ödeme adımında görünür.

### Bildirim adresini kaydetme

1. Modül kartındaki **Callback URL** adresini kopyalayın.
2. Merchant API üzerinde `POST /api/webhooks` isteğinde adresi `url` olarak gönderin. Aynı hesabın gizli anahtarıyla kimlik doğrulayın.
3. `events` listesine şunları ekleyin: `ORDER_COMPLETED`, `ORDER_AUTHORISED`, `ORDER_CANCELLED`, `ORDER_FAILED`, `ORDER_PAYMENT_DECLINED` ve `ORDER_PAYMENT_FAILED`.
4. Yanıttaki `signing_secret` değerini **Webhook İmza Anahtarı** alanına yapıştırın ve **Değişiklikleri Kaydet** butonuna tıklayın. Bildirimler artık doğrulanabilir.

### Test ödemesi yapma

1. Müşteri olarak küçük tutarlı bir sipariş verin ve ödeme adımında Revolut'u seçin.
2. **Revolut'a Devam Et** butonuna tıklayın ve sandbox test kartıyla ödeyin.
3. Siteye dönersiniz. Fatura ödendi olarak işaretlenir ve sipariş aktifleşir.

### Canlıya geçme

1. Gizli anahtarı üretim Revolut Business hesabınızda üretin ve webhook'u orada da kaydedin.
2. **Gizli API Anahtarı** ve **Webhook İmza Anahtarı** alanlarını üretim değerleriyle değiştirin.
3. **Test Ortamı** işaretini kaldırın ve kaydedin. Testi küçük tutarlı gerçek bir ödemeyle yineleyin.

### Müşterinin abonelik başlatmasına izin verme

1. Müşteri sepetteki panelden yenilenen kalemleri seçer ve tek seferlik ödeme yerine aboneliği seçer. Seçilen kalemlerin faturalama döngüsü aynı olmalıdır.
2. Revolut aboneliği oluşturur, ilk ödemeyi alır ve sonraki dönemleri kendisi çeker.
3. Anlaşma [Abonelikler](https://docs.wisecp.com/tr/abonelikler) ekranında listelenir, iptali de oradan yaparsınız. Yinelenen tutarın hizmet fiyatını izlemesi için **Abonelik Ücretinin Güncellenmesi** kutusunu işaretleyin.

### Saklı kart ve otomatik ödeme sunma

1. [Ödeme Ağ Geçitleri](https://docs.wisecp.com/tr/odeme-modulleri) → **Başlangıç Ayarları → Kart Saklama Modülü** alanında Revolut seçin ve kaydedin.
2. Müşteri kendi hesabından kart ekler ve bilgileri açılan Revolut formuna girer.
3. Müşteri **Kayıtlı Kartlar** bölümündeki kart menüsünden **Otomatik Ödemeyi Aç** seçer. Yenileme faturaları otomatik tahsilata alınabilir.

### İade gönderme

1. Faturayı [Fatura Detayı](https://docs.wisecp.com/tr/fatura-detayina-genel-bakis) ekranından açın.
2. **Özet → Durumu Değiştir** bölümünde **İade Edildi** ve **Ödeme altyapısı ile iade** seçin. **Durumu Güncelle** butonuna tıklayın.
3. Revolut bu fatura için kaydedilen tutarı geri gönderir.

## Dikkat Edilecekler

> **Bildirimler imza anahtarını gerektirir**
> 
> Eksik veya yanlış anahtar webhook bildirimlerini reddettirir. Tarayıcı dönüşü ödemeyi API üzerinden doğrulayabilir, ancak müşteri siteye dönmeyebilir. Abonelik dönemleri için bildirimlerin çalışması gerekir.

> **Sandbox ve üretim iki ayrı hesaptır**
> 
> Sandbox anahtarı para tahsil etmez ve üretimde reddedilir. Sandbox'ta oluşan saklı kartlar ve abonelikler canlı tarafta yoktur. Anahtarı, imza anahtarını ve **Test Ortamı** seçimini birlikte değiştirin.

> **Abonelik tutarını güncelleyin**
> 
> **Abonelik Ücretinin Güncellenmesi** kapalıyken hizmet fiyatı değişse de Revolut eski tutarı tahsil eder. İptali Abonelikler ekranından yönetin.

## Gerekli Yetkiler

Ayarlar için **Ödeme Modülü Ayarları** (`MODULES_PAYMENT_SETTINGS`) gerekir. Fatura değişiklikleri için **Faturalandırma → Düzenleme** (`INVOICES_OPERATION`) gerekir.

## İlgili Makaleler

- [Ödeme Ağ Geçitleri](https://docs.wisecp.com/tr/odeme-modulleri)
- [Fatura Detayı](https://docs.wisecp.com/tr/fatura-detayina-genel-bakis)
- [Abonelikler](https://docs.wisecp.com/tr/abonelikler)
