enisgurkann/EPAYMENT

PayTR Ödeme Tutarı

detmach opened this issue · 2 comments

image

Yani çekilmesi gereken tutar 205,19
PayTR için bir türlü convert edemedim açıkcası.

ne denediysem hata veriyor.

Hatayı detaylandırabilirmisin, açıkcası çok kısa bir title ile açmışsın daha detaylı bir hata mesajıyla açarsan inceleme yapabilirim

Hata aslında şu. Modele tutar gönderiyorum. 205.10

Çekim ekranında 2051 TL çekmeye çalışıyor. decimal olarak değilde int olarak vermişsin tutar kısmını int olarak gönderdiğimde

PayTRProvider 28. satırda 100 ile çarpıyor

// Tahsil edilecek tutar. 9.99 için 9.99 * 100 = 999 gönderilmelidir.
int payment_amountstr = int.Parse(request.TotalAmount.ToString()) * 100;

burada 205.10 yada küsürat ne gönderirsem gönderiyim yüksek tutar çekmeye çalışıyor.

ama TotalAmount decimal olarak değiştirip bu şekilde düzeltme uygulanırsa sorun kalkacaktır. Kendi projemde aşağıdaki şekilde düzelttim.
// Tahsil edilecek tutar. 9.99 için 9.99 * 100 = 999 gönderilmelidir.
int payment_amountstr = int.Parse(request.TotalAmount.ToString("N2").Replace(".", "").Replace(",", ""));