SaaS

SaaS için kripto ödemeleri

Bir SaaS şirketi kriptoyu nasıl kabul edebilir: kayıtlı kart yerine dönem başına fatura, yenileme akışı, kısmi ödemeler, dolar bazlı muhasebe ve müşterilere ne vaat edilmemeli.

Abonelik yazılımı, otomatik olarak çekilen kayıtlı bir kart etrafında kurulur. Kripto böyle çalışmaz: müşteri her ödemeyi kendisi gönderir. Bu bir sorun gibi görünür, ancak birçok SaaS şirketi kartla ödeme yapamayan ya da yapmak istemeyen müşterilere satış yapıyor ve işleyen model basit: her faturalama dönemi için bir fatura. Bu rehber onu nasıl kuracağınızı, ne bekleyeceğinizi ve kartlı faturalamadan nerede ayrıldığını gösteriyor.

SaaS şirketleri neden kripto ekler

Kart varsayılandır, bu yüzden kripto eklemek için bir neden gerekir. Olağan nedenler:

  • Kart altyapısının yetersiz kaldığı müşteriler. İşlemcinizin çalışmadığı ülkelerdeki ekipler veya kartları sınır ötesi yazılım için reddedilenler yine de dolar stablecoin ile ödeyebilir.
  • Yıllık ve büyük faturalar. Büyük bir yıllık fatura ödeyen müşteri çoğu zaman karta göre havaleyi tercih eder ve stablecoin transferi, banka kesim saati olmadan kesindir.
  • Chargeback yok. Göndereni geri alamaz; bu yüzden kartın hazır bulunmadığı bir abonelikte «dostane dolandırıcılık» bir endişe değildir.
  • Gizliliğe önem verenler ve kripto yerlileri. Geliştirici araçları, altyapı ve barındırma hizmetlerinin kullanıcıları çoğunlukla stablecoin tutar ve onlarla ödemeyi sever.

Sınırı net tutun: kripto bu müşteriler için bir ödeme yöntemi ekler. Geri kalanlar için kartlı faturalamanın yerini almaz.

Model: dönem başına bir fatura

Kartlı faturalama, kayıtlı bir kartı bir takvime göre çeker. Kripto ödemesini müşterinin başlatması gerekir; bu yüzden doğal model ön ödemeli faturalardır:

  1. Bir dönem bitmeden kısa süre önce sisteminiz sonraki dönem için bir fatura oluşturur.
  2. Müşteri, ödeme bağlantılı faturayı alır, barındırılan ödeme sayfasını açar, bir varlık ve ağ seçer ve öder.
  3. Ödeme tamamlandığında sisteminiz faturayı ödendi işaretler ve aboneliği uzatır.

Kayıtlı ödeme yöntemi ve otomatik tahsilat yoktur. Qvard, yinelenen faturalama veya abonelikleri ürün olarak sunmaz; yenileme mantığı, hatırlatmalar ve ek süre sizin tarafınızdadır. Birçok B2B ve geliştirici aracı için bu yeterlidir ve yıllık planlar zaten genellikle böyle ödenir. Faturalama tarafının ayrıntıları için B2B SaaS için kripto faturalama yazısına bakın.

Bir fatura için ödeme oluşturma

Her fatura için arka ucunuzdan https://api.qvard.com/api/v1/payment adresine tek bir POST ile ödeme oluşturun. İstek, anahtarınızı Authorization: Bearer başlığında ve şu alanları içeren bir JSON taşır:

  • id: fatura numaranız, string olarak. Webhook'ta geri gelir, bu yüzden bulabileceğiniz bir değer kullanın.
  • price: ABD doları cinsinden tutar.
  • paymentSystemId (isteğe bağlı): sayfanın belirli bir varlık ve ağla açılmasını istiyorsanız projenizden bir ödeme yöntemi.

Yanıt, barındırılan ödeme sayfasının adresi olan redirectUrl ile 201 olur. Bu bağlantıyı fatura e-postasına ve müşterinin faturalama sayfasına koyun. Aynı ödeme yöntemi için aynı id ile iki kez istek gönderilirse mevcut ödeme döner; böylece yeniden denenen bir görev kopya oluşturmaz.

Planlarınızın fiyatını dolar olarak belirleyin. Müşteri seçtiği varlıktaki karşılığını bir saat sabitlenen kurla öder.

Yenileme akışı, baştan sona

Bir yenileme için aşağıda gösterilen iki küçük kod parçası gerekir: faturayı ve ödemeyi oluşturan bir görev ve ödendiğinde tepki veren işleyici.

İşleyen bir zaman çizelgesi:

  • Bitişten yedi gün önce: faturayı oluşturun ve bağlantıyı e-postayla gönderin.
  • Üç gün önce ve son gün: hâlâ açıksa hatırlatma gönderin.
  • Bitişten sonra: hesabı sizin seçeceğiniz kısa bir ek süre boyunca aktif tutun, sonra planı düşürün veya askıya alın. Bu sizin politikanızdır, ağ geçidinin bir özelliği değil.
  • Webhook geldiğinde: faturayı ödendi işaretleyin ve aboneliği ödeme tarihinden değil, önceki dönemin bitişinden itibaren uzatın; böylece erken ödeyenler gün kaybetmez.

Webhook, ödeme tamamlandığında gönderilir. Uç noktanız tam olarak HTTP 200 yanıtlamalı (aksi halde yeniden denenir: yaklaşık altı dakikada beş deneme) ve iki kez çalışmaya karşı güvenli olmalıdır; örnekteki markPaidIfOpen adımı bunu halleder. X-Qvard-Signature imzasını (gizli anahtarınızla HMAC-SHA256) doğrulayın; bkz. kripto ödeme webhook'ları nasıl güvenli hale getirilir.

Node.jsrenew.js
// Called by your billing job a few days before a subscription period ends.
async function createRenewalInvoice(sub) {
  const invoice = await db.invoices.create({ subscriptionId: sub.id, amountUsd: sub.planPriceUsd, status: 'open' });

  const res = await fetch('https://api.qvard.com/api/v1/payment', {
    method: 'POST',
    headers: { Authorization: 'Bearer ' + process.env.QVARD_API_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ id: String(invoice.id), price: invoice.amountUsd })
  });
  const { redirectUrl } = await res.json();

  await mailer.send(sub.email, 'Your renewal invoice', 'Pay here: ' + redirectUrl);
}

// Called from the webhook handler when status is "completed".
async function onPaid(invoiceId) {
  const invoice = await db.invoices.markPaidIfOpen(invoiceId); // null if already paid
  if (invoice) await db.subscriptions.extend(invoice.subscriptionId, '1 month');
}

Kısmi ödemeler, plan değişiklikleri ve muhasebe

Gerçek faturalamanın uç durumları vardır. Bunları yayına almadan önce kararlaştırın:

  • Kısmi ödeme. Tam tutardan az gelirse durum partial olur ve tamamlanma webhook'u gönderilmez. Faturayı açık tutun, müşteriye ne kadar eksik olduğunu söyleyin ve kalanı göndermesine izin verin ya da iptal edip iade edin. Kısmi ödemeyle aboneliği uzatmayın.
  • Plan yükseltme ve düşürme. Orantılı hesaplama sizin mantığınızdır. En basiti fark için yeni bir fatura kesmek ya da değişikliği sonraki dönemden uygulamaktır.
  • İadeler. Kripto ödemesi geri çekilemez, bu yüzden iade sizin göndereceğiniz bir transferdir. Kuralı şartlarınıza yazın.
  • Muhasebe. Geliri fatura tutarı üzerinden dolar olarak kaydedin ve mutabakat için ödemenin id değerini faturayla birlikte saklayın. Kripto tahsilatların vergi ve muhasebe işlemini kendi danışmanlarınızla netleştirin.

Fatura durumlarını az ve net tutun: açık, ödendi, iptal.

Müşterilere ne söylenmeli, neler vaat edilmemeli

Fiyatlandırma veya faturalama sayfanızda kriptoyu dürüstçe anlatın:

  • her dönemi bir fatura ve ödeme bağlantısıyla kendiniz ödersiniz;
  • hangi varlık ve ağları kabul ettiğiniz (desteklenen paralar sayfasına bakın) ve ödemenin ödeme sayfasında seçilen ağda yapılması gerektiği;
  • erişimin, müşteri ödediğini söylediğinde değil, ödeme tamamlandığında uzatıldığı;
  • iade kuralınız tek satırda.

Otomatik yenileme, kayıtlı kripto cüzdanları veya kart tarzı yeniden denemeler vaat etmeyin; bu modelde hiçbiri yok. Çalışanı vaat edin: net bir fatura, bir ödeme sayfası ve ödeme tamamlanır tamamlanmaz uzatma.

Maliyeti ve bugün neyin hazır olduğu

Ağ geçidi için abonelik ücreti yoktur. Komisyon projenize özeldir ve fiyatlandırma sayfasına göre %1'den başlar, %0,1'e kadar inebilir. Bakiyenizi kendi cüzdanınıza çekmek yalnızca ağ ücretine mal olur; fiat banka hesabına çekim mevcut değildir.

Entegrasyon API üzerinden yapılır ve bir geliştirici gerektirir; hazır bir faturalama eklentisi henüz yok ve müşteriler ödemeden sonra siteye kendi başlarına döner, bu yüzden onlara gerçek fatura durumunu gösteren bir faturalama sayfası verin. SaaS kullanım senaryosuna, geliştirici belgelerine ve bir demo faturaya bakın.

FAQ

Qvard yinelenen veya otomatik abonelik faturalamasını destekliyor mu?

Hayır. Kripto ödemesini her seferinde müşteri gönderir. İşleyen model, yenileme mantığı, hatırlatmalar ve ek süre sizin tarafınızda olmak üzere her faturalama dönemi için bir faturadır.

Müşterinin ödediğini nasıl anlarım?

Qvard, ödeme tamamlandığında gönderdiğiniz fatura kimliği ve durumla webhook'unuzu çağırır. Faturayı yalnızca completed durumunda ödendi işaretleyin ve işleyiciyi iki kez çalışmaya karşı güvenli yapın.

Müşteri faturanın yalnızca bir kısmını öderse ne olur?

Ödeme partial durumunu alır ve tamamlanma webhook'u gönderilmez. Faturayı açık tutup kalanı isteyin ya da iptal edip iade edin. Aboneliği uzatmayın.

Planlarımın fiyatını dolar olarak belirleyebilir miyim?

Evet. Fiyat ABD doları olarak belirlenir ve müşteri seçtiği varlık ve ağdaki karşılığını bir saat sabitlenen kurla öder.

İlgili makaleler

İlgili makaleler