Merhabalar,
C# Asp.NET Mvc ile proje geliştirme süreçleri konusunda bilgi vereceğim.
öncelikle karşılaştığım süreçteki sorunlar gözden kaçanlardan bahsedeceğim ve bazı sorunlar hk.
İş bankası sanal pos destek hizmetlerinden almış olduğunuz örnek kodları direkt atmanız durumunda bazı sorunlar ve çözümleri:
- öncelikle tarih formatınıza dikkat edin yıl formatı input : Select oluştururken ay(Ecom_Payment_Card_ExpDate_Month) ve yıl(Ecom_Payment_Card_ExpDate_Year) 2'şer karakter olacak yani aa/yy yada mm/yy diyeyim. bundaki sorunu baya sonra fark ettim dikkat etmenizde fayda var.
- isbank sanal pos yardım kısmından indirilen dokümanlarda test ortamı için clientid ve storekey var ancak kullanıcı adı ve şifre yoktu(yada bulamadım) arayarak yada ticket açarak talep edin zaman kaybetmeyin boşuna yada ben bulamadım siz daha detaylı bakın :))
- test post ekranı için gerekli bilgileri yardım dokümanında bulabilirsiniz ama gerçek ortam için onları bulamadım. onlarda şöyle :
ödeme ekranı :https://sanalpos.isbank.com.tr/fim/est3dgate
api post ekranı: https://sanalpos.isbank.com.tr/fim/apii
- Ödeme ekranında clientid, tutar vs. gibi alanların olduğu bilgiler gizli input içinde tutuluyor direkt banka urlsine post edildiği için önceden o bilgileri doldurun.
<input type="hidden" name="clientid" value="@clientId">
<input type="hidden" name="amount" value="@amount">
<input type="hidden" name="oid" value="@oid">
<input type="hidden" name="okUrl" value="@okUrl">
<input type="hidden" name="failUrl" value="@failUrl">
<input type="hidden" name="rnd" value="@rnd">
<input type="hidden" name="hash" value="@hash">
<input type="hidden" name="storetype" value="3d">
<input type="hidden" name="lang" value="tr">
<input type="hidden" name="currency" value="949">- ödeme ekranında api post işleminden önce tls ile ilgili aşağıdaki gibi bir hatayla karşılaşıyorsanız:
-catch (Exception ex)The request was aborted: Could not create SSL/TLS secure channel
alttaki kodu blogu ekleyin
System.Net.ServicePointManager.Expect100Continue = true;
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
| SecurityProtocolType.Tls11
| SecurityProtocolType.Tls12
| SecurityProtocolType.Ssl3;