Merhaba, sanal pos entegrasyonu sırasında basit ama saçma bir hata ile karşılaştım. Bankaya sorgu gönderilirken fiyat değeri integer olarak gönderilmeli. Fiyat verisini ödeme sayfasına post ediyorum. Fiyatlar veritabanında 99,90 tarzı kayıtlı olduğu için veritabanından çekerken string olarak alıp virgülü siliyorum ve int haline getirip post ediyorum. ( Banka 1.00₺'lik ödeme için gönderilen fiyatın 100 olmasını talep ediyor. ) Sorun şu ki ben fiyatı ne yaparsam yapayım kabul etmiyor. Şöyle örnek vereyim.
$fiyat = 100; // 1₺ olarak gidiyor ve bu fiyat bilgisiyle ödeme başarılı tamamlanıyor.
$fiyat = isset($_POST['fiyat']) ? $_POST['fiyat'] : null; // Fiyat verisini böyle çekiyorum, int olarak post etmeme rağmen string oluyor.
$fiyat = (int) $fiyat;
$fiyat = intval($fiyat);
settype($fiyat, 'integer');
// Bu üç yolu da tek tek denedim.
echo gettype($fiyat)."-> $fiyat"; // Çıktısı : integer -> 100 Fakat banka bu veri ile işlem yapılmaya çalıştığında hata veriyor. Aynı işlemi ilk satırdaki gibi $fiyat = 100 olarak tanımlarsam işlem gerçekleşiyor.
Veriyi Session'dan çekerek de denedim, sonuç yine aynı. Neden kaynaklanıyor, nasıl çözeceğim bir fikrim yok bilgisi olan varsa yardımcı olabilirse teşekkür ederim.