iyzico / iyzipay-dotnet Goto Github PK
View Code? Open in Web Editor NEWiyzipay api .net client
License: MIT License
iyzipay api .net client
License: MIT License
Under v4.5.2, we need to download project and rebuild in our version.
Could you please add other version builds to nuget.
Merhabalar,
Sand-box ortamında test ederken hiçbir sorunla karşılaşmıyorum,bütün sonuçları düzgün alabiliyorum.Fakat
gerçek api ve secretkeyi girip base-url'e kendi sitemin urlsini girdiğimde aşağı daki hatayı alıyorum base-url: options.BaseUrl = "https://www.ornek.com";
hata :
An exception of type 'Newtonsoft.Json.JsonReaderException' occurred in Newtonsoft.Json.dll but was not handled in user code
Additional information: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
.net core destekleyen official surumunuz var mı?
3D ile ödeme işlemi yapmak istediğimizde eğer kredi kartı fraud korumasına takılırsa (Fraud suspect hatası geri dönerse) FraudStatus değeri boş geliyor. Normalde 0, 1 veya -1 olması gerekmiyor mu ?
Selam arkadaşlar,
CreateCheckoutFormInitializeRequest içerisinde PaidPrice veya Price için Türkçe ondalık ayracı olan virgül ile ondalık bir değer yolladığımızda "geçersiz istek" hatası alıyoruz.
Bu durumun Locale farklılığından ötürü olduğunu tespit ettik. Varsayılan nokta ayraç kullanıldığında sorun yok.
Mevcut durumda aynı request içerisinde "locale" adında bir parametre de gönderiliyor. Dokümantasyonunuzdan okuduğum kadarıyla da bu parametre "istek sonucunda dönen metinlerin dilini ayarlamak için" kullanılıyor, yani genel olarak kültürü belirlemiyor.
Ancak belirlerse daha güzel olabilir. Böylece biz de nokta mı virgül mü gereksiz kasmak zorunda kalmayız:
request.PaidPrice =ShoppingCart.GrandTotal.ToString(new NumberFormatInfo() {NumberDecimalSeparator="." });
Öneridir.
Teşekkürler
Onur
Merhabalar
iyzipay-dotnet kütüphanesi alternatifi yeni bir kütüphane yapıyorum. Taksit sorgulama için aşağıdaki bilgileri post ediyorum. Bu da giden header bilgileri :
HEADERS
POST https://sandbox-api.iyzipay.com/payment/iyzipos/installment
Authorization: IYZWS sandbox-afXhZPW0MQlE4dCUUlHcEopnMBgXnAZI:KGS7m4CDQA40g6r7zjRK+RaDOwM=
x-iyzi-rnd: 270420191009585715
Accept: application/json
Content-Type: application/json; charset=utf-8
Host: sandbox-api.iyzipay.com
Content-Length: 98
Expect: 100-continue
{"binNumber":"554960","price":"100.0","locale":"tr","conversationId":"123456789","currency":"TRY"}
SORUN
Authorization için kullandığım PKI string bu dizilimde olunca taksitleri veriyor :
[locale=tr,conversationId=123456789,binNumber=554960,price=100.0,currency=TRY]
Bu dizilimde gidince yani key sırası değişince :
[binNumber=554960,price=100.0,locale=tr,conversationId=123456789,currency=TRY]
api'nin yanıtı şu şekilde oluyor :
{"status":"failure","errorCode":"1000","errorMessage":"Geçersiz imza","locale":"tr","systemTime":1556392201687,"conversationId":"123456789"}
sorun nerede acaba?
After initializing subscription checkout form, https://api.iyzipay.com//v2/subscription/checkoutform/initialize
https://api.iyzipay.com//v2/subscription/checkoutform/ call has to be invoked in order to check payment result.
But no method defined for call: https://api.iyzipay.com//v2/subscription/checkoutform/
Selam Arkadaşlar,
Model altında PaymentStatus enum değerleri mevcut değil. Dokümantasyonunuzdan gördüğüm kadarıyla olası değerler şöyle:
SUCCESS, FAILURE, INIT_THREEDS, CALLBACK_THREEDS, BKM_POS_SELECTED, CALLBACK_PECCO
Bu değerler güncel mi?
Enum olarak eklerseniz süper makbule geçer. Keza bizler de kendi kodlarımızda hard coded kullanmak zorunda kalmayız, güncelliğinden de emin oluruz.
Bilginize, Teşekkürler
Onur
Selamlar,
Pazaryeri entegrasyonu için .NET üzerinde gerçekleştirdiğim işlemde 2000 - Bu servis sadece pazaryeri müşterilerine açıktır hatası alıyorum.
Api Key ve Secret sandbox hesabımdan aldığım kodlar biçiminde, BaseUrl'i ise https://sandbox-api.iyzipay.com olarak gönderiyorum.
Neden böyle bir hata ile karşılaşıyorum yardımcı olabilir misiniz rica etsem?
Teşekkürler
Hi,
Could you add commercial parameter to the response of installment and bin check services.
Api returns this information but it is not possible to get it on .net.
Thanks
This is raw response of bin service
{
"binNumber": "542119",
"cardType": "CREDIT_CARD",
"cardAssociation": "MASTER_CARD",
"cardFamily": "World",
"bankName": "Vakıfbank",
"bankCode": 15,
"commercial": 0,
"status": "success",
"locale": "tr",
"systemTime": 1596634385507,
"conversationId": "123456789"
}
After developments done on the backend side,
There is some other libraries that can steal sensitive information of user's apps.
You may report them and remvoe from NuGet, Most of people can use other libraries by mistake. And that libraries can steal sensitive data by sending to their owners before sending iyzico.
Iyzipay.Model.V2.Subscription namespace altındaki PaymentInterval enumunda sadece 2 değer var haftalık ve aylık,
Yıllık ve diğerleri yok.
UpdatePaymentItemRequest.cs dosyasında SubMerchantPrice'ı Append etmişsiniz. Buranın AppendPrice olarak düzeltilmesi gerekiyor.
Biz kendi library'mizde aşağıdaki şekilde fix ettik.
armutcom/iyzipay-dotnet-client#10
Bilginize.
Canlıda kullandığımız eski sürümümüzde bir async-await problemi yasıyoruz. Çok kısa bir süre önce yeni bir versyion cıkmıssınız ancak versiyonlarınızda hic bir sürüm notu yok. Gözümüzü baglayıp son sürüme gecmek istemiyoruz. Sürüm notları paylasmayı düşünüyor musunuz ya da paylastıgınız ve bizim goruntuleyebileceğimiz bir adres var mıdır?
3dsiz ödeme için
CreatePaymentRequest request = new CreatePaymentRequest();
başta aldığım instance da bazı ödemelerde "Object reference not set to an instance of an object." alıyorum.Diğer ödemelerin çoğunda başarılı olarak geçiyor...
Mevcut versiyondaki RestHttpClient objesi her request için yeniden bir HttpClient yaratıyor.
public T Post<T>(String url, WebHeaderCollection headers, BaseRequest request)
{
HttpClient httpClient = new HttpClient();
foreach (String key in headers.Keys)
{
httpClient.DefaultRequestHeaders.Add(key, headers.Get(key));
}
HttpResponseMessage httpResponseMessage = httpClient.PostAsync(url, JsonBuilder.ToJsonString(request)).Result;
return JsonConvert.DeserializeObject<T>(httpResponseMessage.Content.ReadAsStringAsync().Result);
}
HttpClient objesi bir kere oluşturup çok sefer kullanmak için tasarlanmış bir nesne olmasından dolayı kullanıcıların canını sıkacak durumlar oluşabilir diye düşünüyorum. Bu konuda aşağıdaki linkler değerlendirilebilir.
Improper Instantiation antipattern
HttpClient per call in a Web API client
Ayrıca HttpClient'ın async fonksyionları Task.Result kullanılarak çağıran threadi bloklayacak şekilde kullanılmış. Buna alternatif olarak async/await kullanılması ASP.NET kullanıcılarına faydalı olacaktır diye düşünüyorum.
Async Programming : Introduction to Async/Await on ASP.NET
Accessing the property's get accessor blocks the calling thread until the asynchronous operation is complete; it is equivalent to calling the Wait method.
I like to think of “await” as an “asynchronous wait”. That is to say, the async method pauses until the awaitable is complete (so it waits), but the actual thread is not blocked (so it’s asynchronous).
adds pos order id to payment resource
I want to query all payments (pendingApproval,approved,disapproved etc.) in a specific time interval like on the iyzico merchant panel. I couldn't find any method related with this subject in iyzipayClient.
The reason why i ask this, i have to see all the pending approval transactions made by Alo-tech.
It is really hard to find Alo Tech's requests merchant panel, I want to approve those payments on my admin panel instead of Iyzico Merchant Panel.
Thanks.
RequestFormatter içinde FormatPrice metodunda parametre olarak örn:35.5 gönderilince sonuna .0 ekliyor ilk baştaki kontrol sebebi ile. Bu nedenle de Request "Geçersiz imza" hatası alıyor.
if (!price.ToString().Contains(","))
{
return price + ".0";
}
Merhaba,
Dil ayarı olarak "tr" ile ödeme yapmaya çalıştığımda, "mesaj: Geçersiz istek" ve "hata grubu: null" ile "hata kodu: 11" alıyorum. "en" olarak değiştirdiğimde işlem başarıyla işleniyor.
Ne yazık ki, yukarıdaki hata dokümantasyonda hata kodlarının altında listelenmiyor, bu yüzden ne anlama geldiğine dair hiçbir fikrim yok, yardımcı olabilirseniz sevinirim.
Şimdiden teşekkürler.
adding enabledInstallment parameter in BKMInitialize
hello,
how to implement the call to the standard form for iyzico payments, from asp.net page, and retrieve the payment notification state?
thanks
In order to use iyzipay-dotnet in our .net core web api project, iyzipay should support .net standard 1.6 minimum.
Guncelleme yaparken references'tan dll'i kaldiriyor ancak yerine yeni dll'i vermiyor. Packages altinda guncel versiyonu gorebiliyorum.
Framework 4.5.2
Json 9.0.1
Ödeme alınmasına rağmen ilgili CheckoutForm Response değerlerinde status FAILURE olarak geliyor.
Verdiğiniz örnek ve dökümantasyon tam bir fiyasko.
Teşekkürler tembelliğiniz için!!!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.