Dijital Ürün Satışında Kripto Ödeme ve Otomatik Lisans
Dijital ürün satışında kripto ödeme nasıl kurulur? Yazılım, lisans anahtarı ve e-kitap satıcıları için USDT/TRX ile otomatik teslimat rehberi.

Dijital ürün satışında kripto ödeme, yazılım lisansı, e-kitap, şablon, eklenti ya da online kurs satan işletmeler için giderek daha çekici bir seçenek. Dijital ürünler anında teslim edilebildiği için hızlı onaylanan TRC20 ödemeleriyle çok iyi uyum sağlar: müşteri öder, ödeme yaklaşık bir dakikada kesinleşir ve lisans anahtarı otomatik olarak gönderilir.
Bu rehberde dijital ürün satıcılarının kripto ödemeyi neden tercih ettiğini, uçtan uca otomatik teslimat akışının nasıl kurulacağını ve dikkat edilmesi gereken noktaları anlatıyoruz.
Dijital ürün satıcıları neden kripto ödeme kabul ediyor?
Dijital ürünlerin kendine özgü bazı ihtiyaçları vardır ve kripto ödeme bunların birçoğuna iyi cevap verir:
- Uluslararası müşteriler: Yazılım ve dijital içerik genellikle dünyanın her yerine satılır. USDT (TRC20) ile ödeme, farklı ülkelerdeki müşterilerin aynı yöntemle ödeme yapmasını sağlar.
- Hızlı kesinleşme: TRON ağında ödeme 20 blok onayından sonra, genellikle yaklaşık bir dakikada bakiyenize yazılır. Anında teslimat bekleyen dijital ürünler için idealdir.
- Geri alınamaz işlemler: Blokzincir ödemeleri müşteri tarafından tek taraflı olarak geri çekilemez. Bu, kart ödemelerinde yaşanabilen ters ibraz (chargeback) süreçlerinden farklı bir yapı sunar. İade politikanızı yine de net şekilde belirtmelisiniz.
- Düşük maliyet: MercanPay'de komisyon %0,4'ten başlar. USDT faturalarında 1 USDT'lik ağ ücretini müşteri öder.
- Otomasyona uygunluk: API ve imzalı webhook'lar sayesinde ödeme ile teslimat arasında insan müdahalesi gerekmez.
Kimler için uygun?
| Ürün tipi | Tipik akış | Kripto ödemeye uygunluk |
|---|---|---|
| Yazılım lisansı | Ödeme → lisans anahtarı üretimi → e-posta | Çok uygun, tamamen otomatik |
| SaaS abonelik | Her dönem için fatura → hesap uzatma | Uygun, dönemlik fatura ile |
| E-kitap / şablon / tema | Ödeme → indirme linki | Çok uygun |
| Online kurs | Ödeme → kurs erişimi açma | Çok uygun |
| Oyun içi dijital içerik | Ödeme → hesaba tanımlama | Uygun, meşru kullanım koşuluyla |
Abonelik tabanlı hizmetler için oyun, VPN ve hosting sektörlerinde kripto ödeme yazımızda dönemsel faturalama akışını ayrıca ele aldık.
Otomatik lisans teslimatı: uçtan uca akış
Dijital ürün satışında kripto ödemenin asıl gücü otomasyondadır. Tipik bir akış şöyle işler:
- Müşteri sitenizde ürünü seçer ve "Kripto ile öde" der.
- Sunucunuz MercanPay API ile bir fatura oluşturur ve müşteriyi
payment_urladresine yönlendirir. - Müşteri ödeme sayfasında QR kodu tarar ya da adresi kopyalayıp ödemeyi gönderir. Sayfa, ödeme zincirde görüldüğü anda "ödeme algılandı · onaylanıyor" durumunu gösterir.
- 20 blok onayı tamamlanınca sunucunuza imzalı bir
invoice.paidwebhook'u gelir. - Sunucunuz imzayı doğrular, lisans anahtarını üretir ve müşteriye gönderir.
- Müşterinin tarayıcısı
success_urladresine yönlendirilir ve teşekkür sayfasında lisansını görür.
Önemli: Lisansı tarayıcı yönlendirmesine göre değil, doğrulanmış webhook'a göre teslim edin. Yönlendirme adresi taklit edilebilir, imzalı webhook ise edilemez.
Fatura oluşturma (PHP)
<?php
require 'vendor/autoload.php'; // composer require mercanpay/mercanpay-php
$zp = new \MercanPay\MercanPay('https://mercanpay.com', getenv('MERCANPAY_API_KEY'));
$invoice = $zp->createUsdInvoice('29.00', [
'order_id' => 'lic-10482',
'description' => 'Pro Lisans (1 yıl)',
'success_url' => 'https://magazam.com/siparis/lic-10482/tesekkurler',
'metadata' => ['product' => 'pro-yearly', 'customer_id' => 731],
]);
header('Location: ' . $invoice['payment_url']);
metadata alanı müşteriye gösterilmez, webhook'ta size aynen geri döner. Hangi ürünün satıldığını ya da hangi müşteriye ait olduğunu burada taşıyabilirsiniz.
Webhook ile lisans teslimi (PHP)
<?php
use MercanPay\MercanPay;
$body = file_get_contents('php://input');
if (!MercanPay::verifyWebhook(getenv('MERCANPAY_WEBHOOK_SECRET'), $body, $_SERVER['HTTP_X_MERCANPAY_SIGNATURE'] ?? '')) {
http_response_code(401);
exit;
}
$event = json_decode($body, true);
if (in_array($event['type'], ['invoice.paid', 'invoice.overpaid'], true)) {
$inv = $event['data']['invoice'];
// Aynı olay birden fazla gelebilir: bu sipariş için lisans zaten verildiyse tekrar üretmeyin
deliverLicenseOnce($inv['order_id'], $inv['metadata']['product']);
}
http_response_code(200);
deliverLicenseOnce sizin uygulamanızın fonksiyonudur. Önemli olan, aynı order_id için ikinci kez lisans üretmemesidir, çünkü webhook'lar yeniden deneme mekanizması nedeniyle birden fazla kez gelebilir. İmza doğrulamanın ayrıntıları için webhook imzası nasıl doğrulanır yazımıza, kütüphanenin tamamı için PHP ile kripto ödeme entegrasyonu rehberimize bakabilirsiniz.
WooCommerce veya başka bir platform kullanıyorsanız
MercanPay'in şu an için hazır bir WooCommerce veya benzeri bir e-ticaret eklentisi yoktur. Entegrasyon REST API ya da resmi PHP ve Python kütüphaneleri üzerinden yapılır. PHP kütüphanesi, kendi eklentinizi ya da mevcut sisteminize özel bir ödeme modülünü geliştirmek için sağlam bir temel sunar. Yukarıdaki iki dosya çoğu durumda entegrasyonun büyük kısmını oluşturur.
Dikkat edilmesi gereken noktalar
- Eksik ödemeler: Müşteri eksik gönderirse fatura "partial" olur ve kalan tutar için ek süre tanınır. Lisansı yalnızca
invoice.paidveyainvoice.overpaidolayında teslim edin. İsterseniz 0–20% arasında bir eksik ödeme toleransı tanımlayabilirsiniz. Ayrıntılar eksik, fazla ve geç ödemeler yazımızda. - Fiyatlandırma: Katalog fiyatlarınızı USD olarak tutmak ve müşteriye TRX ya da USDT seçimi bırakmak çoğu satıcı için en pratik yoldur. Kur kilidinin nasıl çalıştığını kripto ödemede kur riski yazısında anlattık.
- Minimum tutar: Minimum fatura tutarı 10 USD'dir. Daha düşük fiyatlı ürünleri paket halinde satmayı düşünebilirsiniz.
- İade politikası: Kripto ödemeler zincir üzerinde geri alınamaz. İade yapmanız gerekirse bunu ayrı bir transferle yaparsınız. Politikanızı satın alma öncesinde açıkça belirtin.
- API anahtarı güvenliği: Anahtarı yalnızca sunucuda, ortam değişkeninde tutun. Fatura oluşturan anahtara yalnızca
invoicesyetkisi verin.
Sık sorulan sorular
Müşteri ödeme yaptıktan ne kadar sonra lisansını alır?
Ödeme zincirde görüldükten sonra 20 blok onayı gerekir. Bu genellikle yaklaşık bir dakika sürer. Onay tamamlanınca webhook gelir ve otomatik teslimat akışınız devreye girer.
Aynı sipariş için iki kez lisans üretilmesini nasıl önlerim?
Webhook'lar yeniden deneme nedeniyle birden fazla kez gelebilir. Olay kimliğini (id) ya da order_id'yi kaydedin ve daha önce işlenmiş bir siparişi tekrar işlemeyin. Ayrıca aynı order_id ile fatura oluşturma isteği yeni fatura açmaz, mevcut faturayı döndürür.
Hazır bir WooCommerce eklentisi var mı?
Şu an yok. Entegrasyon API veya PHP kütüphanesi ile yapılır ve bu kütüphane üzerine bir eklenti geliştirilebilir.
Hangi coinlerle ödeme alabilirim?
TRON ağı üzerinde TRX ve USDT (TRC20). Başka ağlar şu an desteklenmemektedir.
MercanPay ile başlayın
Dijital ürünlerinizi TRX ve USDT ile satın, lisansları imzalı webhook'larla otomatik teslim edin. Satıcı hesabınız için başvurun ve dokümantasyonu inceleyerek ilk faturanızı oluşturun.


