MercanPay Blog

Blok Onayı Nedir? Kripto Ödeme Ne Zaman Kesinleşir?

Blok onayı (confirmation) nedir, kripto ödeme ne zaman kesinleşir? TRON ağında 20 onay, yaklaşık 1 dakika ve siparişi doğru anda onaylamanın yolu.

Yayınlanma: 16 Ekim 20265 dk okumaRead in English
Blok Onayı Nedir? Kripto Ödeme Ne Zaman Kesinleşir?

Müşteriniz "gönderdim" dediğinde ödeme gerçekten sizin mi? Kripto ödemelerde bu sorunun cevabı blok onayı kavramında gizlidir. Bu yazıda blok onayının ne olduğunu, bir ödemenin ne zaman kesinleştiğini ve MercanPay'de ödemenin neden 20 onaydan sonra, yani genellikle yaklaşık bir dakikada bakiyenize yazıldığını açıklıyoruz.

Blok onayı (confirmation) nedir?

Blokzincir, ardışık bloklardan oluşan bir kayıt defteridir. Bir işlem gönderildiğinde önce ağdaki düğümlere yayılır, ardından bir bloğa eklenir. İşlemin bulunduğu blok zincire eklendiğinde işlem 1 onay almış olur. Üzerine eklenen her yeni blok, onay sayısını bir artırır.

Onay sayısı arttıkça işlemin geri alınması pratikte imkânsız hâle gelir. Bir işlemi "silmek" için o bloğu ve onu izleyen tüm blokları yeniden yazmak gerekir, bu da her yeni blokla birlikte zorlaşır. Kısaca:

  • 0 onay: İşlem ağda görüldü ama henüz bir bloğa girmedi.
  • 1 onay: İşlem bir bloğa girdi. Büyük olasılıkla kalıcıdır ama henüz kesin değildir.
  • Yeterli onay: İşlem geri dönülemez kabul edilir ve güvenle işlem yapılabilir.

Neden tek bir onay yetmez?

Nadir de olsa ağda kısa süreli ayrışmalar (fork, yeniden düzenleme) yaşanabilir. İki farklı blok aynı anda üretildiğinde ağ kısa bir süre sonra bunlardan birinde uzlaşır ve diğer daldaki işlemler geçersiz kalabilir. Tek onayla siparişi teslim eden bir satıcı, çok küçük de olsa ödemenin geri düşmesi riskini üstlenmiş olur.

Dijital ürünlerde teslimat genellikle anlık ve geri alınamaz olduğu için bu risk göz ardı edilmemelidir. Bu yüzden ödeme altyapıları bir onay eşiği belirler ve ödemeyi ancak bu eşik aşıldıktan sonra "ödendi" olarak işaretler.

TRON'da kesinleşme nasıl çalışır?

TRON, süper temsilci (Super Representative) adı verilen seçilmiş blok üreticilerinin sırayla blok ürettiği bir yapıya (DPoS) sahiptir. Bloklar yaklaşık 3 saniyede bir üretilir. Bir blok, üzerine yeterli sayıda blok eklenip üreticilerin büyük çoğunluğu tarafından dolaylı olarak onaylandığında ağ tarafından kesinleşmiş (solidified) kabul edilir.

MercanPay bu yapıyı esas alır ve bir ödemeyi 20 blok onayından sonra bakiyenize yazar. 3 saniyelik blok süresiyle bu, genellikle yaklaşık bir dakika eder. Bu süre hem güvenli hem de müşteriyi bekletmeyecek kadar kısadır.

Ağlara göre onay süresi karşılaştırması

Ağ Ortalama blok süresi Pratik etkisi
Bitcoin Yaklaşık 10 dakika Birkaç onay beklemek on dakikalar hatta saatler sürebilir
TRON Yaklaşık 3 saniye 20 onay genellikle yaklaşık 1 dakika

Bu değerler ortalamadır ve ağ koşullarına göre değişebilir. Yine de fark açıktır: TRON'da güvenli bir kesinleşme için dakikalar değil, saniyeler seviyesinde beklenir. Bu da TRC20'yi e-ticaret ödemeleri için pratik bir seçenek yapar. Ağ farkları hakkında daha fazlası için USDT nedir? TRC20, ERC20 ve BEP20 farkları yazımıza bakabilirsiniz.

Müşteri tarafında neler görünür?

MercanPay ödeme sayfası, müşterinin sürecin hangi aşamada olduğunu anlaması için tasarlanmıştır:

  1. Ödeme bekleniyor: Sayfada QR kod, ödeme adresi, tutar ve geri sayım bulunur.
  2. Ödeme algılandı · onaylanıyor: Transfer zincirde görüldüğü anda sayfa bu durumu gösterir. Müşteri ödemesinin ulaştığını hemen anlar ve tekrar göndermeye kalkmaz.
  3. Ödendi: 20 onay tamamlandığında fatura ödendi durumuna geçer. success_url tanımladıysanız müşteri mağazanıza yönlendirilir.

Bu ara durum, dönüşüm açısından çok değerlidir. "Gönderdim ama bir şey olmadı" endişesi, desteğe gelen soruların ve mükerrer ödemelerin önemli bir kaynağıdır. Ödeme sayfası ipuçları için kripto ödeme sayfası ve dönüşüm oranı yazımıza göz atabilirsiniz.

Satıcı tarafında: siparişi ne zaman onaylamalısınız?

Kural basittir: Siparişi, onay eşiği tamamlandıktan sonra gönderilen imzalı webhook'a göre onaylayın. MercanPay, 20 onay tamamlandığında sunucunuza invoice.paid (fazla ödemede invoice.overpaid) olayını gönderir. Ödemenin algılandığı ama henüz onaylanmadığı anda sipariş teslim etmeyin. Müşterinin tarayıcısının success_url adresine gelmesine de güvenmeyin, çünkü tarayıcı yönlendirmesi taklit edilebilir.

from mercanpay import verify_webhook

@app.post("/mercanpay/webhook")
def webhook():
    body = request.get_data()
    if not verify_webhook(WEBHOOK_SECRET, body, request.headers.get("X-MercanPay-Signature", "")):
        abort(401)
    event = request.get_json()
    if event["type"] in ("invoice.paid", "invoice.overpaid"):
        # 20 onay tamamlandı: siparişi güvenle teslim edin
        fulfil(event["data"]["invoice"]["order_id"])
    return "", 200

İmza doğrulamanın ayrıntıları için webhook imzası doğrulama yazımıza, entegrasyonun tamamı için Python ile kripto ödeme entegrasyonu rehberine bakabilirsiniz.

Webhook dışında bir işlemi kendiniz sorgulamak isterseniz API'deki GET /v1/chain/transactions/{txid} ucu bir işlemin durumunu döndürür. Python kütüphanesinde bu zp.transaction_status(txid), PHP kütüphanesinde ise $zp->transactionStatus($txid) metoduyla çağrılır.

Kart ödemeleriyle karşılaştırma

Blok onayı kavramını kart ödemeleriyle karşılaştırmak farkı netleştirir. Kart ödemesinde "onaylandı" mesajı aslında bir yetkilendirmedir. Paranın hesabınıza geçmesi günler sürebilir ve müşteri aylar sonra bile ters ibraz (chargeback) başlatabilir. Kripto ödemede ise süreç tersine işler: kısa bir bekleme süresi vardır, ancak onay eşiği aşıldığında ödeme kesinleşmiştir ve tek taraflı olarak geri alınamaz.

Kart ödemesi TRC20 kripto ödeme
İlk bildirim Anında yetkilendirme Saniyeler içinde "ödeme algılandı"
Kesinleşme Günler; ters ibraz riski aylarca sürer 20 onay, genellikle yaklaşık 1 dakika
Geri alınabilirlik Ters ibraz ile mümkün Tek taraflı olarak mümkün değil

Bu nedenle kripto ödemelerde kısa bir onay beklemesi, uzun vadede çok daha öngörülebilir bir nakit akışı demektir. Konunun genel çerçevesi için kripto ödeme sistemi nedir yazımıza da göz atabilirsiniz.

Onay sürecinde karşılaşılabilecek durumlar

  • Müşteri eksik gönderdi: Fatura partial durumuna geçer. Ödeme sayfası kalan tutarı gösterir ve faturaya en az 30 dakika ek süre tanınır.
  • Ödeme süre dolduktan sonra onaylandı: Geç gelen ödemeler de bakiyenize yazılır ve webhook'taki data.payment.late alanı bunu belirtir.
  • Müşteri yanlış ağdan gönderdi: Transfer TRON ağında olmadığı için ödeme adresinde hiç görünmez. Ayrıntılar için yanlış ağa gönderilen kripto yazımıza bakabilirsiniz.

Bu senaryoların tamamı eksik, fazla ve geç ödemeler yazımızda ayrıntılı olarak anlatılıyor.

Sık sorulan sorular

Ödeme neden anında değil de yaklaşık bir dakikada onaylanıyor?

Güvenlik için. İşlemin geri dönülemez kabul edilmesi için 20 blok onayı beklenir. TRON'da bu genellikle yaklaşık bir dakika sürer.

"Ödeme algılandı" gördüğümde siparişi teslim edebilir miyim?

Önerilmez. Algılanan ödeme henüz kesinleşmemiştir. Teslimatı invoice.paid webhook'u geldikten sonra yapın.

Onay sayısını kendim değiştirebilir miyim?

Onay eşiği platform genelinde 20 blok olarak uygulanır ve satıcı bazında değiştirilmez.

Onaylanmış bir ödeme geri alınabilir mi?

Kesinleşmiş bir blokzincir transferi tek taraflı olarak geri alınamaz. Kart ödemelerindeki ters ibraz (chargeback) mekanizması kriptoda yoktur.

MercanPay ile başlayın

Yaklaşık bir dakikada kesinleşen, algılandığı anda müşteriye bildirilen USDT ve TRX ödemeleri alın. Başvurunuzu yapın ve ilk faturanızı oluşturun: satıcı hesabı açın. Teknik ayrıntılar dokümantasyonda.

#Blok onayı#TRON#Kesinleşme#Webhook

İlgili yazılar

Kripto ödemeleri dakikalar içinde almaya başlayın

USDT ve TRX (TRC20) ile ödeme alın. %0,4'ten başlayan komisyon, hazır ödeme sayfası, API ve webhook.