c# kodları içinde yazdırma kodu olmadan direkt option yazıldığı için yapıyor büyük ihtimalle.
<option>Bir ürün seçiniz</option> satırını print("<option>Bir ürün seçiniz</option>"); şeklinde güncellerseni düzelecektir.
Tabii diğer satırları da düzenlemeniz gerekiyor..
Merhaba, şu ana kadar 3 banka ile sanal pos olarak çalışma fırsatım oldu. Deniz Bank, Ziraat ve KuveytTürk
İlk soru için hem evet hem hayır.. Banka API olarak link, kullanıcı adı ve şifre veriyor (Tam olarak kullanıcı adı ve şifre olmasa da o mantıkta) sen o linke, kullanıcı adını, şifreni, fiyatı, müşterinin kart bilgilerini, olumlu dönüş linki, olumsuz dönüş linki, hash'i vb gibi bir çok parametre iletiyorsun. Oradan dönen yanıta göre de, müşteriye uygun sayfayı (Ödeme başarılı, kart bilgileri hatalı vb. Hatalı durumda bankadan hata sebebi dönüyor zaten) gösteriyorsun.. Github 'da yapılmış class'lar var (Sadece banka ile aradaki iletişimi sağlıyor, geri kalan gene senin elinde) onları da kullanabilirsin..
İkinci sorunun yanıtını bilmiyorum, lakin sanal pos ile giren her para için fatura kesme zorunluluğu var.. Firma da e-fatura'ya tabii olduğu için manuel olarak da e-fatura kesebilirsin.
Üçüncü soru için ise biraz karışık.. Kuveyt, Deniz, Ziraat problem etmeden Let's Encrypt SSL ile verdi sanal POS 'u (Ziraat kart bilgilerini POST almak yerine, iframe ile ben alırım dedi sadece) Akbank ise EV sertifikalı SSL istedi.
Ziraat 'den 1 kere red yedik, WP kullanıyordu site, WooCommerce.. Açık kaynak bir proje olduğu için, saldırıya uğrama tehlikesine karşın vermedi. Özel yazılıma geçince verdi.
Son sorumuza gelirsek, ben SiparisID olarak bir hash oluşturup onu gönderiyorum, dönen yanıta göre (Ödeme alındı, alınmadı) eğer ödeme alınmışsa, veri tabanında o hash'e ait siparişe gidip, ödemesi alındı olarak değiştiriyorum. Dolayısıyla benzersiz bir SiparisID oluşturmak yararınıza olacaktır.. Bir zorunluluğu yok, $siparisid = Time(); bile verebilirsiniz..