MacellanMacellan SuperApp
Waas

Wallet As A Service

WaaS Entegrasyon Dokümanı

Macellan WaaS (Wallet As A Service), sistemlerinize cüzdan altyapısı sağlamaktadır.

Başlarken bölümünde belirtildiği gibi tüm istekler size iletilen Token ile yapılmalıdır.

Endpointlere ait Postman Collection buradan indirilebilir.

WaaS entegrasyon servisleri, direkt ödeme ve kullanıcı oluşturma gibi kritik işlemler içerdiği için yalnızca tanımlı IP adreslerinden gelen isteklere yanıt verir. Bu servisler istemci uygulamalarından (mobil uygulama, web sitesi vb.) çağrılmamalıdır.

Production ortamına geçmeden önce IP adresleriniz veya IP bloklarınız tarafımıza iletilmeli ve tanımlanmalıdır.

Wallet As A Service Kullanım Yöntemleri

1) iFrame ile Kullanım

Bu yöntemde Macellan SuperApp, uygulamanız içerisinde bir web linkinde açılır ve kullanıcının işlemleri gerçekleştirmesi sağlanır. Bu sayede kullanıcılarınız, cüzdan fonksiyonlarını uygulamanızdan çıkmadan kullanabilir.

PostMessage İletişimi

iFrame içindeki işlemler tamamlandığında, uygulamanıza aşağıdaki olaylar PostMessage olarak iletilir:

DATAAçıklama
{ success: false, event: 'CANCEL_PAYMENT_USER' }Kullanıcı harcama işlemini iptal ettiğinde
{ success: false, event: 'CANCEL_PAYMENT_OPERATOR' }Yetkili harcama işlemini iptal ettiğinde
{ success: true, event: 'COMPLETE_PAYMENT' }Harcama işlemi başarıyla tamamlandığında
{ success: true, event: 'COMPLETE_DEPOSIT' }Bakiye yükleme işlemi başarıyla tamamlandığında
{ success: false, event: 'CANCEL_DEPOSIT_USER' }Kullanıcı bakiye yükleme işlemini iptal ettiğinde
{ success: false, event: 'FAIL_DEPOSIT' }Bakiye yükleme işlemi esnasında hata oluştuğunda
{ success: true, event: 'RETURN_TO_SITE' }Web'de menüdeki "Siteye Dön" butonuna basıldığında
{ success: true, event: 'OPEN_URL', data: { url: value } }Web'de kampanya gibi bileşenler tıklandığında
{ success: false, event: 'INVALID_QR', data: { message } }QR içeriği çözümlenemediğinde veya geçersiz olduğunda

Olaylar, iFrame'den { message: '<JSON string>' } şeklinde iletilir. Bu sebeple event.data.message değeri JSON.parse ile çözümlenmelidir.

React Native WebView kullanıyorsanız (onMessage), aynı JSON string sarmalayıcı olmadan doğrudan iletilir.

// PostMessage dinleyici örneği
window.addEventListener('message', function (event) {
  if (!event.data?.message) return

  const payload = JSON.parse(event.data.message)

  switch (payload.event) {
    case 'CANCEL_PAYMENT_USER':
    case 'CANCEL_PAYMENT_OPERATOR':
      // Harcama iptal edildi işlemleri
      break
    case 'COMPLETE_PAYMENT':
      // Harcama tamamlandı işlemleri
      break
    case 'COMPLETE_DEPOSIT':
      // Bakiye yükleme tamamlandı işlemleri
      break
    case 'CANCEL_DEPOSIT_USER':
    case 'FAIL_DEPOSIT':
      // Bakiye yükleme başarısız işlemleri
      break
    case 'INVALID_QR':
      // payload.data.message ile hata sebebine erişilebilir
      break
  }
})

INVALID_QR olayı, redirect_page: qr_content ile açılan cüzdanda QR içeriği çözümlenemediğinde iletilir. Bu olay dinlenmediğinde kullanıcı, WebView içinde sonuçlanmayan bir yükleme ekranında kalabilir.

2) iFramesiz Kullanım

Bu yöntemde, kullanıcı linkleme ve oluşturma gibi cüzdan fonksiyonu adımları sizin tarafınızdan yapılması gereken entegrasyonlarla gerçekleştirilir. Kısacası, WaaS entegrasyonundaki bazı işlemleri kendiniz oluşturmalısınız.

Cüzdan Uygulamasının Açılması

Bakiye Yükleme İçin Test Kart Bilgileri

BankaKart NoSon K.TarihiCVV3DS ŞifreSanal Pos
AKBANK4748 5447 4854 474512/2023000a
AKBANK4355 0843 5508 435812/2023000a
AKBANK5571 1355 7113 557512/2023000a
AKBANK4355 0843 5508 435812/2026000a
FINANSBANK4155 6501 0041 611101/2050715
FINANSBANK4022 7801 0794 702301/2041759
FINANSBANK4022 7801 9828 315501/2050105
AKBANK5571 1355 7113 557512/2026000aParam
ISBANK4508 0345 0803 450912/2026000aParam
KUVEYTTURK5188 9619 3919 254406/2025929123456Kuveyt Turk
PAYTR4355 0843 5508 435812/2030000PayTR
PAYTR5406 6754 0667 540312/2030000PayTR
PAYTR9792 0303 9444 079612/2030000PayTR
SIPAY4508 0345 0803 450912/2026000aSIPAY
SIPAY5406 6754 0667 540312/2026000aSIPAY
SIPAY4048 0950 1085 752805/202800034020SIPAY
SIPAY4506 3470 2652 371812/202500034020SIPAY
SIPAY5400 6170 0000 490909/202600034020SIPAY

Bu sayfada