Paddle Nedir?

Bir süredir çevrimiçi ödeme sistemleri ve dijital ürün satışı ile ilgili çeşitli servisleri inceliyorum. Bilindiği üzere 2016 bu yana PayPal Türkiye'de kullanılamamakta. PayPal'ın kullanım yaygınlığı göz önünde bulundurulduğunda, çevrimi içi işlemlerde ödemelerde ne denli sorunlar yaşandığını öyle ya da böyle deneyimlemiş olmalısınız. Diğer yandan, benim de birkaç başlık altında değindiğim Stripe da yine Türkiye desteği sunmamakta. Elbette, tüm bu engellere rağmen kişiler ve topluluklar özelinde yeni çözümler denenmeye devam ediyor, kimi şirketler de sürece bir şekilde dahil olmaya çalışıyor. İyzico bu seçeneklerden biri, özellikle İyzilink özelliği ile bağlantılar aracılığı ile ürün ve hizmet satışını mümkün kılıyor. Ancak, otomasyon ve farklı servis entegrasyonları gibi ihtiyaçlara cevap veremiyor.

Bir süredir dijital ürün satışını Gumroad aracılığı ile gerçekleştiriyordum ve bu konuda pek çok mesaj aldım. Gumroad PayPal ve Stripe aracılığı ile ödeme işlemlerini gerçekleştiriyor ve maalesef az önce de bahsettiğim gibi bu servisler Türkiye'deki ödeme kanalları (bankalar, vb.) ile entegre değiller. Dolayısıyla, ya destek sunulan ülkelerde fiziksel adresiniz olması ya da birkaç farklı servisi bir arada yürütmelisiniz ve dolayısıyla pek çok kesintiyi de göz önünde bulundurmalısınız. Yakın zaman önce Gumroad üzerindeki ürünleri Paddle adlı başka bir servise taşımaya başladım. Bu geçişin 2 nedeni vardı; kesintiler ve Gumroad'ın beklediğim performansı sunmaması. Bu maddelerin detaylarına bir bakalım.

Paddle Nedir?

Paddle, SaaS (Software as a service) ihtiyaçları göz önünde bulundurularak geliştirilen, Londra merkezli bir gelir dağıtım platformu (revenue-delivery platform)1. Kısaca gelir dağıtımını açıklamak gerekirse; gelir dağıtımı, çevrimiçi olarak ürün ve/veya hizmet satışı ile kazanılan gelirin (bir müşterinin satın alma istekliliğinden bankadaki paraya kadar) kat ettiği yolculuğu optimize ederek ve yeni büyüme fırsatlarına hızlı bir şekilde adapte olmayı sağlayan bir iş stratejisidir2.

Paddle

Paddle tarafından, 2020 yılında paylaşılan verilere göre, son dört yılda şirketin yıllık geliri ortalama yüzde 175'ten fazla arttı. 2017 yılında şirket, bir yazılım geliştirme platformu olan MacPaw’s DevMate ile birleşti ve Notion Capital liderliğindeki bir yatırım turunda 12,5 milyon dolar topladı3. Paddle, yine bu tarihler itibariyle, 245 ülke ve bölgede 2.000'den fazla servise hizmet vermekte.

Paddle

Paddle, odaklandığı bu çözüm çerçevesi temel alındığında, kendi deyimi ile SaaS işletmeleri için satın alma, işlem yineleme ve büyüme/genişleme süreçlerinde sürdürülebilirliği desteklemek için tasarlanmış tek Gelir Dağıtım Platformudur4. Hepsi bir arada platform olan Paddle ile global vergi uyumluluğu, çevrimiçi ödemeler, abonelikler ve para aktarı süreçleri kolaylıkla gerçekleştirilebilmektedir. Paddle tarafından desteklenen ödeme yöntemleri ise Bank/Wire Transfer, PayPal ve Payoneer.

Paddle kullanımı şu an için bir onay süreci gerektiriyor. İş modeli hakkında temel birkaç sorunun cevaplanmasının ardından üyelik başvurusu onaylanıyor.

Paddle

Paddle, erişimiyle birlikte ödeme yönetimi, ödeme işlemi (checkout), abonelik ve vergilendirme işlemlerine hızlı bir şekilde başlamak mümkün. Audience sayfası üzerinden müşteri ve/veya abonelerinizi sisteme entegre edebilir, Catalog bölümünden dijital ürün, abonelik, lisans anahtarı gibi tanımları gerçekleştirebilir, indirim kuponları ve ürün grupları oluşturabilir, Checkout sayfası aracılığı ile ödeme sayfanızı özelleştirebilirsiniz. Ödeme işlemleri SDK, iframe ve özelleştirilmiş sayfa gibi seçenekler aracılığıyla, farklı biçimlerde ve dillerde entegre edilebilmekte.

Paddle Entegrasyonu

Paddle, tek seferlik satın alma ve abonelik işlemleri için özelleştirilebilir enegrasyon olanakları sunmakta5. Her seçenek için ayrı kur ve bu kur ile ilişkili fiyatlandırma, vergilendirme ve indirim tanımları yapılabilmekte. Ek olarak, indirim kuponları da yine ödeme adımında veya haricen uygulanmak üzere ürün ve/veya işlem ile ilişkilendirilebilmekte.

Paddle

İstemci tarafındaki entegrasyonlar için bir JavaScript dosyasının yüklenmesi gerekmekte. Ardından, benzersiz üyelik kimliği ile birlikte ürünleri satın alma sürecine dahil edebilirsiniz.

<script src="https://cdn.paddle.com/paddle/paddle.js"></script>
<script type="text/javascript">
  Paddle.Setup({ vendor: 1234567 }); // benzersiz üyelik kimliği
</script>

JavaScript dosyasının yüklenmesi ve kimliğin belirtilmesinin ardından ilgili ürünleri, JS içerisinde veya data-product özniteliği ile belirterek buton veya iframe aracılığı ile çağırmak mümkün.

<a href="#!" class="paddle_button" data-product="12345">Buy Now!</a>

İlgili işlemi Google Analytics ve benzeri izleme araçları ile enegre etmek için Paddle.Checkout.open() metodunu kullanabilirsiniz.

document.getElementById('buy').addEventListener('click', openCheckout);
function openCheckout() {
  Paddle.Checkout.open({
    product: 520773,
    successCallback: function(data) {
      dataLayer.push({'event': 'checkoutSuccess'});
    },
    closeCallback: function(data) {
      dataLayer.push({'event': 'checkoutClose'});
    }
  });
};

Bu işlemi harici bir fonksiyon yerine Paddle.Setup() içerisinde de ele alabilirsiniz.

Paddle.Setup({
  vendor: 12345,
  eventCallback: function(data) {
    if (data.event === 'Checkout.Complete') {
      dataLayer.push({'event': 'checkoutSuccess'});
    }
    else if (data.event === 'Checkout.Close') {
      dataLayer.push({'event': 'checkoutClose'});
    }
  }
});

purchase etkinlikliğini kullanmak isterseniz successCallback ile ilişkili olarak dataLayer içeriğini şu şekilde oluşturabilirsiniz6.

dataLayer.push({
  'event': 'purchase',
  'ecommerce': {
    'currencyCode': data.checkout.prices.customer.currency, 
    'purchase': {
      'actionField': {
        'id': data.checkout.id,
        'affiliation': 'Your store name',
        'revenue': data.checkout.prices.customer.total, 
        'tax': data.checkout.prices.customer.total_tax, 
        'coupon': data.checkout.coupon.coupon_code
      },
      'products': [{
        'name': data.product.name,
        'id': data.product.id,
        'price': data.checkout.prices.customer.total,
        'brand': 'Your brand name',
        'quantity': data.product.quantity
      }] 
    }
  }
});

İlerleyen zaman içerisinde fonksiyonlarla ilgili eklemeler yapmaya ve servis ile ilgili deneyimlerimi aktarmaya devam edeceğim.