Closed leventsumaksau closed 3 years ago
Merhaba, Yakın zamanda daha gelişmiş bir örnek proje oluşturacağım.
Teşekkürler.
Merhaba Sadece yapıkredi için çalışmanız varmı
@fetullahyldz merhaba proje kodları içerisinde Yapikredi entegrasyonu mevcut.
Evet Denedim Ama Çalışmadı Galiba Sorun Yapı kredi kaynaklı sürekli ip değişiyor ve çok uğraştırıyor.
Öncelikle local ortamda bankadan alacağınız test bilgileriyle başarılı işlem geçmeniz ve sonrasında canlı bilgilerini bankadan isteyip canlı ortamda 1 liralık gerçek işlem geçin. Tabi canlıya geçerken sunucu ip adresini mutlaka bankaya iletin. Bazı bankalarda ip kısıtlaması varken bazılarında böyle bir sorun yok.
Localde de ip hatası veriyor ben Nopcommerce için sadece yapı kredi bankası için modül oluşturdum tabi nopcommerce xml serialize etmiyor o yüzden biraz farklı metod denedim ancak sürekli ip hatalı görüştüm banka tarfıyla ordaki destek veren arkaş çok kafa karştıryor. ilerliyemedik bir türlü yapı kredi 3 defa istek yaptırıyor .
Merhaba Localde Test Etiğimde Hata Alıyorum
System.AggregateException
HResult=0x80131500
İleti=One or more errors occurred. (Bilinen böyle bir ana bilgisayar yok)
Kaynak=System.Private.CoreLib
StackTrace:
at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) in C:\A\1\11\s\src\mscorlib\src\System\Threading\Tasks\future.cs:line 498 at Nop.Plugin.Payments.ThreeDPayment.ThreeDPaymentPaymentProcessor.<ThreeDGatewayRequest>d__16.MoveNext() in C:\Users\Fatih\Desktop\New-NopCommerce_4.10_\Plugins\Nop.Plugin.Payments.ThreeDPayment\ThreeDPaymentPaymentProcessor.cs:line 218 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() in C:\A\1\11\s\src\mscorlib\src\System\Runtime\ExceptionServices\ExceptionDispatchInfo.cs:line 132 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) in C:\A\1\11\s\src\mscorlib\src\System\Runtime\CompilerServices\TaskAwaiter.cs:line 155 at System.Runtime.CompilerServices.TaskAwaiter
1.GetResult() in C:\A\1\11\s\src\mscorlib\src\System\Runtime\CompilerServices\TaskAwaiter.cs:line 376
at Nop.Plugin.Payments.ThreeDPayment.ThreeDPaymentPaymentProcessor.
İçteki Özel Durum 1: HttpRequestException: Bilinen böyle bir ana bilgisayar yok
İçteki Özel Durum 2: SocketException: Bilinen böyle bir ana bilgisayar yok
Merhaba, Projede bir bağlantı yapmaya çalışıyor fakat adres geçersiz görünüyor.
Sizin istek yapınız 3DS' mi. 3DS istek için sanal postn 3Ds tanımımı olmalıdır.
public string CreatePaymentFormHtml(IDictionary<string, object> parameters, Uri actionUrl, bool appendSubmitScript = true) { if (parameters == null || !parameters.Any()) throw new ArgumentNullException(nameof(parameters));
if (actionUrl == null)
throw new ArgumentNullException(nameof(actionUrl));
var formId = "PaymentForm";
var formBuilder = new StringBuilder();
formBuilder.Append($"<form id=\"{formId}\" name=\"{formId}\" action=\"{actionUrl}\" role=\"form\" method=\"POST\">");
foreach (var parameter in parameters)
{
formBuilder.Append($"<input type=\"hidden\" name=\"{parameter.Key}\" value=\"{parameter.Value}\">");
}
formBuilder.Append("</form>");
if (appendSubmitScript)
{
var scriptBuilder = new StringBuilder();
scriptBuilder.Append("<script>");
scriptBuilder.Append($"document.{formId}.submit();");
scriptBuilder.Append("</script>");
formBuilder.Append(scriptBuilder.ToString());
}
return formBuilder.ToString();
}
BURAYA DEBUG ETİĞİMDE DEĞERLER NULL GELİYOR VE O YÜZDEN HATA VERİYOR LÜTFEN BAKARMISINIZ YAPI KREDİ İÇİN
Merhaba Sonunda Bankaya Giti ancak forum alnında CallbackUrl geri dönmüyor direk sipariş tamamlandı kısmına düşüyor 3d şifre doğrulama ekranı gelmiyor
var paymentForm = _paymentProviderFactory.CreatePaymentFormHtml(paymentGatewayResult.Parameters, paymentGatewayResult.GatewayUrl); bu kısmda datallar geliyor ancak dediğim gibi CallbackUrl urleyde gitmiyor 3d ekran açılmıyor
Bazı bankaların test ortamında sms sayfası açılmayıp başarılı sayfasına yönlendirme yapıyor. Bu sebepten dolayı olabilir. Size dönen değerleri kontrol ettiğinizde başarılı ise canlıda da aynı şekilde çalışacak demektir.
Anladım Yarın Test Edeceğim İp Değiştiği İçin şuan test yapmadım canlıda sms sayfası açılacak yani sms için bankanın ortak sms sayfasınmı gidecek yoksa popup şeklindemi açılacak
CreatePaymentFormHtml buraya datalar geliyor ama forumu post etmiyor bunun yapan javascriptmi var anlamadım
Sanırım javascript var entegrasyon dokumanı içerisinde bu şekilde bir ibare mevcut.
Bende Nop Commerce'e Yapı Kredi için eklenti yazacağım sanırım baya bi uğraşacağız.
Javascript ile ekstra birşey yazmanız gerekmiyor aslında. Sayfa yönlendirmesi yapmak veya Modal olarak açmak sizin tercihiniz.
Buraya kadar datalar geliyor ama buradan sonra bankaya post işlemi olmuyor 2 haftadır banka ile birlikte işlem yapıyorum her şey tamam ama bankaya gitmiyor.
var ForumPost = CreatePaymentFormHtml(paymentGatewayResult.Parameters, paymentGatewayResult.GatewayUrl); _httpContext.HttpContext.Response.Redirect(ForumPost);
Html olarak dönen veriyi redirect edemezsiniz. Örnek projeyi incelerseniz, onu model olarak view'a gönderip html olarak sayfaya basıyorum ve formu javascript ile otomatik submit ediyorum.
@fetullahyldz Aşağıdaki satırları incelemenizi öneririm. PaymentController.cs#L87 ThreeDGate.cshtml#L14
ThreeDGatewayRequest içinde
string responseContent = await response.Content.ReadAsStringAsync(); burdan sonra benim post complete düşürüyor ama debug etiğimde devam ediyor nasıl çözeğimi anlamdım bir türlü
string requestXml = $@"<?xml version=""1.0"" encoding=""utf-8""?>
Örnek projeyi yeniledim ve tam olarka çalışır hale getirdim. Tüm aşamaların daha anlaşılır hale geldiğini düşünüyorum.
örnek projede kredi kartı yapıştırma javascript ile kapatılmış. test işlemini çok uzattığı için kredi kartı no yapıştırma özelliğini açar mısınız?
Merhaba c# tarafında oluşturulan forum hiddenlar da hmtl head ve body etiketleri oluşturulamamış javascripleri head kısmında oluşturdum o kısmı geçti ancak localde test için yapı kredi gerçekten problem testleri gerçek sunucuda yapmamız gerektiğini söylediler. gerçek ortamda test edeceğim localde https olması lazım bundan dolayıda galiba banka izin vermiyordur. tüm yöntemleri deniyorum
asp.net core ile geliştirme yapıyorsanız local ortamda ssl kullanabilirsiniz. Projeye bazı değişiklikler yaptım yeni örneği incelemenizi öneririm. Yapıkrediyi de test edebilirsniz.
Aslında Şöyle ben bunun nopcommerce uyarladım modül yazdım nopcommerce için nop ta ssl yok yeni sürümü incliyeyim teşekür ederim
Merhabalar. Elinize sağlık.
Sample projesindeki hatalar çok fazla ve işleyişi tam olarak bilmediğim için müdahale edemiyorum. O kısımlar için yapabileceğiniz bir şey var mıdır?