MRNPay entegrasyonu
Talep bağlantısı oluşturma, sonucu doğrulama ve bağlantı hatasında güvenle tekrar deneme adımları.
Talep bağlantısını oluşturun
İsteği kendi sunucunuzdan gönderin. Siteye özel API anahtarını ortam değişkeninde tutun. Müşteri tutarı talep ekranında girer.
JavaScriptSunucu tarafı
const response = await fetch(
'https://api.yasfinans.com/api/v1/checkout/payment-links',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Api-Key': process.env.MRNPAY_SITE_API_KEY,
},
body: JSON.stringify({
orderReference: order.reference,
idempotencyKey: order.paymentAttemptId,
currency: 'TRY',
customerReference: customer.id,
}),
signal: AbortSignal.timeout(15_000),
},
);
if (!response.ok) throw new Error(`MRNPay: ${response.status}`);
const { checkoutUrl } = await response.json();
return new Response(null, { status: 303, headers: { Location: checkoutUrl } });Kendi sipariş ve müşteri kayıtlarınızı kullanın. Dönen bağlantıyı olduğu gibi kullanın ve bağlantı token’ını günlüklerde maskeleyin.
Sonuç bildirimini doğrulayın
X-Finbex-Timestamp · X-Finbex-Signature
Bu iki başlığı ham istek gövdesini ayrıştırmadan önce kontrol edin. İmzalanan içerik zaman damgası, nokta ve ham gövdeden oluşur.
- Site ayarlarındaki anahtarla HMAC-SHA256 imzasını doğrulayın.
- Sonucu kendi sipariş ve müşteri kayıtlarınızla eşleştirin.
- Benzersiz bildirim kimliğini kaydedin ve aynı güncellemeyi bir kez uygulayın.
- Kayıt tamamlandıktan sonra başarılı HTTP yanıtı verin.
Ağ hatasında aynı denemeyi yineleyin
Aynı denemede istek gövdesini ve idempotencyKey değerini koruyun. Yeni bir deneme için yeni anahtar oluşturun.
Test ve canlı ortamı ayırın
Test hesabı ve test kayıtları kullanın. Canlı ortamda ilgili sitenin anahtarını ve bildirim adresini tanımlayın.
Demo isteyin