Kripto-native lisanslama

Lisans, cüzdanın kendisidir.

Tarayıcı eklentinizi, plugin veya masaüstü uygulamanızı hesap sistemi kurmadan kriptoyla satın. Alıcı cüzdanıyla öder ve o cüzdan lisansın kendisi olur — başka bir cihazı ücretsiz bir mesaj imzalayarak açar. E-posta yok, kaybolacak lisans anahtarı yok, chargeback yok.

Bu neden var

Chrome Web Store ödemeleri Şubat 2021'de kapandı; artık her eklenti geliştiricisinin harici bir ödeme katmanına ihtiyacı var. Pazardaki lider seçenek Stripe hesabı zorunlu kılıyor ve bu, Türkiye, Pakistan, Nijerya, Bangladeş, Endonezya, Mısır ve daha birçok ülkedeki geliştiricileri doğrudan dışarıda bırakıyor.

Kripto ödeme geçitleri "ödeme alındı" noktasında durur. Size lisans değil, bir webhook verirler: yetki kaydı yok, SDK yok, cihazlar arası doğrulama yok. İşin zor yarısını kendiniz yazmak zorunda kalırsınız. Bu kit, tam olarak o yarıdır.

Karşılaştırma

                        ExtensionPay   Paddle / LS   Kripto gecitleri  XPayr Kit
komisyon                5% + Stripe    5% + 50c      0.5-1%            2.9% flat
Stripesiz calisir       hayir          kismen        evet              evet
lisans katmani          evet           kismi         hayir             evet
chargeback              evet           evet          yok               yok
kayitli satici          hayir          evet          hayir             hayir

Kayıtlı satıcı (merchant of record) değiliz: vergilerinizi kendiniz beyan edersiniz. Paddle ve Lemon Squeezy'nin daha yüksek komisyonu tam da bunu satın alır; seçim yapmadan önce anlamaya değer gerçek bir ödünleşmedir.

Hızlı başlangıç

Merchant panelinizden bir ürün oluşturup ürün kodunu alın, sonra SDK'yı bağlayın. host_permissions gerekmez; bu yüzden eklentiniz kurulurken veri erişimi uyarısı çıkmaz.

Kurulum

npm install @xpayr/extension-kit

# or copy src/index.js into your extension —
# zero dependencies, no build step, MV3-ready

manifest.json

{
  "manifest_version": 3,
  "permissions": ["storage", "alarms"],
  "externally_connectable": { "matches": ["https://xpayr.com/*"] }
}

background.js

import XPayrKit from '@xpayr/extension-kit';

const xpayr = XPayrKit('prod_my_extension');
xpayr.startBackground();          // required: token delivery + daily refresh

xpayr.onLicenseChanged.addListener(user => {
  console.log(user.licensed ? 'unlocked' : 'locked');
});

Bir özelliği kilitleme

const user = await xpayr.getUser();

if (user.licensed) {
  enableProFeatures();
} else {
  showUpgradeButton(() => xpayr.openCheckout());
}

Entegrasyonun tamamı bu. Alıcı akışı — ağ seç, öde, imzala, kilidi aç — xpayr.com/buy/{product_code} adresinde bizde barındırılır.

user nesnesi

Alan Tip Anlamı
licensed boolean Özelliklerinizi buna göre kilitleyin. Yerel olarak doğrulanmış bir token'dan cevap verir; anında çalışır ve çevrimdışıyken de çalışır.
plan 'lifetime' | 'prepaid_year' | null Alıcının satın aldığı plan.
wallet string | null Lisansın bağlı olduğu cüzdan — ödemeyi yapan cüzdan.
paidAt Date | null Lisansın verildiği zaman.
expiresAt Date | null Süreli planlarda bitiş tarihi; ömür boyu planlarda null.
source 'cache' | 'network' Bu cevabın nereden geldiği.
staleSince Date | null 30 günlük çevrimdışı tolerans süresi içinde eskimiş bir token ile çalışılırken dolar.

API

Metot Açıklama
startBackground() Service worker içinde bir kez çağırın. Token teslimatını ve günlük yenileme alarmını bağlar.
getUser() Önce-çevrimdışı lisans kontrolü. Önbellekteki ES256 token'ını yerel olarak doğrular — sıcak yolda ağ gidiş-dönüşü yok.
openCheckout() Barındırılan ödeme sayfasını yeni sekmede açar. Alıcı, etkinleştirdiğiniz ağ ve tokenlardan istediğini seçer.
openRestore() "Zaten satın aldım" — başka bir cihazı cüzdan imzasıyla açar. E-posta yok, lisans anahtarı yok.
refresh() Çevrimiçi yeniden doğrulamayı zorlar. İadeleri ve iptalleri anında yakalar.
getPlans() Herkese açık ürün bilgisi: fiyat, plan tipi, izin verilen ağlar.
onLicenseChanged Lisans durumu her değiştiğinde tetiklenir.

Doğrulama nasıl çalışır

  1. Alıcı, barındırılan ödeme sayfasında cüzdanından öder.
  2. XPayr, yetkiyi ödemeyi yapan cüzdan adresine kaydeder.
  3. Alıcı, o cüzdanı kontrol ettiğini kanıtlayan ücretsiz ve tek kullanımlık bir mesaj imzalar. Hiçbir fon hareket etmez.
  4. XPayr, ürününüze özel ve 7 gün geçerli, ES256 ile imzalanmış bir token döndürür.
  5. Eklentiniz bu token'ı her getUser() çağrısında WebCrypto ile yerel olarak doğrular ve günde bir kez sessizce yeniler.

Bir süre çevrimdışı mı kaldınız? Lisans, token süresi dolduktan sonra 30 gün daha çalışmaya devam eder, ardından yeniden bağlanma isteğiyle yumuşak kilide geçer — kimse uçuş ortasında kilitlenmez. Müşteriye iade mi yaptınız? Panelden iptal edin: yenileme anında başarısız olur ve token 7 gün içinde ölür.

Fiyatlandırma

İlk 300 $'lık lisans satışınızdan hiç komisyon alınmaz. Sonrasında sabit %2,9: ödemeyle aynı zincir işleminde ayrılır — fatura yok, sonradan tahsil edilecek bir şey yok. Sabit ücret yok, aylık ücret yok, chargeback yok. Ağ gas ücreti ayrıdır ve alıcı öder.

14 $ lisans, ücretsiz katman içinde  ->  eline geçen 14,00 $14 $ lisans, ücretsiz katmandan sonra  ->  eline geçen 13,59 $  (komisyon 0,41 $)

Webhook'lar

Webhook'lar isteğe bağlıdır — Kit, sizin tarafınızda hiçbir sunucu olmadan lisansı verir ve doğrular. Yine de sunucu tarafı olay isterseniz, diğer tüm XPayr webhook'larıyla aynı imza şemasını kullanırlar (bkz. imza rehberi) ve artan bekleme süreleriyle yeniden denenirler. Idempotency için event_id kullanın.

Olay Ne zaman
license.issued Bir ödeme lisans üretti. Cüzdanı, ürün kodunu, planı ve işlem hash'ini taşır.
license.revoked Panelden bir lisansı iptal ettiniz, genellikle bir iadenin ardından.
payment.pending Bir ödeme oturumu oluşturuldu.
payment.processing Ödeme zincirde ve onay bekliyor.
payment.completed Ödeme zincirde doğrulandı.
payment.failed Gönderilen işlem, oturuma karşı doğrulanamadı.
payment.expired Oturum ödenmeden süresi doldu.

Yapay Zeka Ajanı ve MCP Lisanslama (@xpayr/mcp-server)

Resmi XPayr MCP Sunucusunu (`xpayr_issue_wallet_license`) kullanarak Claude Desktop, Cursor, VS Code Copilot veya otonom yapay zeka destek ajanları üzerinden doğrudan ES256 cüzdan yazılım lisansları düzenleyin ve yönetin.

MCP Araç Çağrısı (xpayr_issue_wallet_license)

{
  "name": "xpayr_issue_wallet_license",
  "arguments": {
    "product_id": "prod_my_extension",
    "buyer_wallet": "0x71C...89A",
    "plan": "lifetime",
    "tx_hash": "0x9f8e...3b2a"
  }
}

Doğrulanmış İş Ortağı Rozetleri ve Gömülebilir Komisyon Hesaplayıcı Widget'ı

Dinamik SVG güven rozetlerini (partner-badge.php) veya sıfır bağımlılıklı %0.5 Komisyon ve Tasarruf Hesaplayıcı widget'ını (xpayr-fee-widget.js) eklenti README dosyanıza, dokümantasyon portalınıza veya ajans açılış sayfanıza gömün.

Dinamik SVG İş Ortağı Rozeti ve Gömülebilir Hesaplayıcı

<!-- Official Dynamic SVG Trust Badge -->
<a href="https://xpayr.com?utm_source=partner_badge" target="_blank" rel="noopener">
  <img src="https://xpayr.com/partner-badge.php?type=powered_by&theme=dark" alt="Powered by XPayr — 0.5% Non-Custodial Crypto Checkout" height="28">
</a>

<!-- Interactive 0.5% Fee & Savings Calculator Widget -->
<div data-xpayr-fee-widget data-volume="100000" data-invoice="250" data-rate="1.0"></div>
<script src="https://xpayr.com/public/sdk/xpayr-fee-widget.js" async></script>

ExtensionPay'den geçiş

ExtensionPayXPayr Lisans Kiti
ExtPay('extension-id') XPayrKit('prod_code')
extpay.startBackground() xpayr.startBackground()
user.paid user.licensed
user.email user.wallet
openPaymentPage() openCheckout()
openLoginPage() openRestore()
onPaid.addListener onLicenseChanged.addListener
getPlans() getPlans()

Tek yapısal fark kimlikte: ExtensionPay müşteriyi e-postayla tanır, Kit ise cüzdanla. Bu, magic-link gidiş-dönüşünü ortadan kaldırır ve bir lisansın cüzdan paylaşmadan paylaşılamaması anlamına gelir.

Dürüst sınırlamalar

  • İstemci tarafı lisanslama bir caydırıcıdır, DRM değil. Kararlı bir kullanıcı yerel kontrolü yamalayabilir — bu, bizimki dahil bu kategorideki her kütüphane için geçerlidir.
  • Kayıtlı satıcı değiliz. Vergi beyanınızdan siz sorumlusunuz.
  • Alıcının bir cüzdanı olmalı. Kripto-native kitlelerde bu sorun değildir; genel tüketiciler için bunun yanında bir fiat rayı da çalıştırın.
  • Otomatik çekimli abonelik yok. Kriptoda kayıtlı kart yoktur; bu yüzden v1 ömür boyu ve ön ödemeli yıllık lisansları destekler.

Başla

Resmi NPM SDK'ları (v0.2.0) ve Uzak MCP Sunucusu

Resmi XPayr Paketleri ve Kurulumsuz MCP ile Daha Hızlı Entegre Olun

Kurulum: @xpayr/node-sdk (v0.2.0), @xpayr/payment-evidence (v0.2.0), @xpayr/extension-kit (v0.2.0)veya @xpayr/mcp-server (v1.0.0) paketlerini NPM'den yükleyin veya şu araçla canlı JSON-RPC 2.0 çağrıları yürütün: POST https://xpayr.com/api/mcp.

Canlı MCP Oyun Alanı (/tools/mcp-playground) ES256 Lisans Doğrulayıcı YZ Ajan Politikası Simülatörü HMAC-SHA256 Webhook Test Aracı mcp.xpayr.com docs.xpayr.com api-docs.xpayr.com