Ana içeriğe geç

Callback Sistemi

MVPAY callback sistemi ile deposit ve withdraw işlem durumu güncellemelerini gerçek zamanlı alın.

Callback bildirimleri yalnızca HTTP 200 OK yanıtını başarılı kabul eder. 200 dışındaki tüm yanıtlar yeniden deneme tetikler.

Nasıl Çalışır?

İşlem durumu değiştiğinde MVPAY, belirlediğiniz callback URL'lerine HTTP POST isteği gönderir.

Callback Türleri

  • Deposit Callback — /api/updateCallbackUrlDeposit ile URL güncellenir
  • Withdraw Callback — /api/updateCallbackUrlWithdraw ile URL güncellenir

Teslimat Politikası

  • Timeout: 15 sn
  • Başarı Kriteri: HTTP 200 OK
  • Tekrar Deneme: 5 kere
  • Aralıklar: 5s → 10s → 20s → 40s → 80s (exponential backoff)
  • Maksimum Süre: ≈155 sn (≈2.5 dk)

Örnek Callback Payload

{
"amount": 100,
"userID": "2",
"name": "test_user",
"userName": "2",
"processID": "TEST-PROCCESS-ID-T1",
"trackingID": "WD2509100038039988",
"type": "withdraw",
"status": "success",
"hash": "9252c360abc7e6c5509ec72dc3b79404"
}

Payload Alanları

AlanTipÖrnekAçıklama
hashstring"9252c360abc7e6..."processID|amount|userID|type|apiKey MD5 hex değeri (gövdede gönderilir).
amountnumber100İşlem tutarı. Hash oluştururken string olarak birleştirilir.
userIDstring"2"Entegrasyondaki kullanıcı ID’niz. Hash içinde kullanılır.
namestring"test_user"Kullanıcı adı/adı-soyadı bilgisi.
userNamestring"2"Kullanıcı kullanıcı adı/rumuzu.
processIDstring"TEST-PROCCESS-ID-T1"İşlem referansı. Hash içinde kullanılır; idempotency için eşlemede kullanın.
trackingIDstring"WD2509100038039988"MVPAY tarafındaki takip numarası.
typestring"withdraw"İşlem tipi. Örn: "deposit", "withdraw". Hash içinde kullanılır.
statusstring"success"İşlem sonucu. Tipik olarak "success" veya "failed".
  • hash alanı, processID|amount|userID|type|apiKey şeklinde oluşturulan string’in MD5 değeri olup gövdede (body) gönderilir.
  • trackingID, MVPAY tarafındaki takip numarasıdır.
  • Hash doğrulama ve güvenlik önerileri için bkz: Callback Güvenliği.

URL Yapılandırma

Deposit URL Güncelleme

bilgi
const fetch = require("node-fetch");

const response = await fetch("https://app.mvpay.xyz/api/updateCallbackUrlDeposit", {
method: "PUT",
headers: {
mvpayApiToken: "YOUR_API_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({ callback_url: "https://yoursite.com/deposit-webhook" }),
});

const data = await response.json();
console.log(data);

Withdraw URL Güncelleme

bilgi
const fetch = require("node-fetch");

const response = await fetch("https://app.mvpay.xyz/api/updateCallbackUrlWithdraw", {
method: "PUT",
headers: {
mvpayApiToken: "YOUR_API_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({ callback_url: "https://yoursite.com/withdraw-webhook" }),
});

const data = await response.json();
console.log(data);