Merhaba dostlar, QNB Finansbank Sanal POS Entegrasyonu dökümanını izleyerek sistemime entegre etmeye çalışıyorum.
Test satışı yaptığımda işlem başarılı bir şekilde gerçekleşiyor ama ufak bir eksiklik var.
Eksiğim şu:
Kart bilgilerini girerek 3D Secure doğrualama sayfasına yönlendirildikten sonra, doğrulama kodunu girip işlemi başarılı bir şekilde gerçekleştiriyorum. OkUrl
ve FailUrl
parametrelerine Laravel uygulamamda bulunan payfor3DPayPayment
sayfasını veriyorum. bu sayfayı blade olarak ve düz php olarak ta denedim sonuç aynı oldu.
payfor3DPayPayment
sayfası içerisinde $_POST
globali değişkeni bulunuyor.
<?php
if (($_POST["3DStatus"] == "1")) {
?>
<h2><b>3D Kullanici Dogrulama Basarili</b></h2>
<?php
} else {
?>
<h2><b>3D Kullanici Dogrulama Hatali.</b></h2>
<?php
}
?>
<?php
if (($_POST["ProcReturnCode"] == "00")) {
?>
<h2><b> Odeme Basarili.</b></h2>
<?php
} else {
?>
<h2><b> Odeme Hatali.</b></h2>
<?php
}
?>
kullandığım rotalarım da bu şekilde. rotayı post yapıp route cache'i temizleyip de denedim.
Route::get('payfor3DPay', [PosController::class, 'payfor3DPay'])->name('payfor3DPay');
Route::get('payfor3DPayPayment', [PosController::class, 'payfor3DPayPayment'])->name('payfor3DPayPayment');
bankada işlem başarılı veya başarısız olduğunda banka post requesti ile payfor3DPayPayment adresine yönlendirmesi lazım. Yönlendirmeyi yapıyor ama şu hatayı alıyorum;
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException
The POST method is not supported for this route. Supported methods: GET, HEAD.
https://pestpoint.com.tr/payfor3DPayPayment
Banka yetkilisi ise bu duruma şöyle bir açıklama yaptı:
Merhaba Umut Bey,
Plugin Bulunamadı hatası entegre edilen yazılım diliyle post edilen adresin uyuşmamasından kaynaklanmaktadır. Göndermiş olduğunuz linki gerçek bir link kullanarak deneyebilir misiniz ?
Daha önce QNB Finansbank Pos entegrasyonunu Laravel için uyarlayan arkadaşlardan rica etsem yardımcı olabilirler mi ?