예제 #1
0
        //MerchantPayoutAmount = "788.4875" net fiyat
        //PaidPrice = "810" ÖDenen fiyat
        public ActionResult paymentForm(string token)
        {
            string cid    = TempData["cid"] as string;
            var    result = _iyzico.ContolPayment(token, cid);

            if (result.Status == "success")
            {
                foreach (var item in result.PaymentItems)
                {
                    Guid siparisId = Guid.Parse(item.ItemId);
                    //Ödemeyi kaydet.
                    //Siparişi Güncelle.
                    //Kasaya Giriş yap.

                    SiparisOdeme odeme = new SiparisOdeme()
                    {
                        Kart           = result.CardAssociation,
                        KartTip        = result.CardType,
                        KartBinNumber  = result.BinNumber,
                        KartAile       = result.CardFamily,
                        NetOdemeTutari = item.MerchantPayoutAmount,
                        OdemeTarihi    = DateTime.Now,
                        OdemeTutari    = item.PaidPrice,
                        SonDortHane    = result.LastFourDigits,
                    };

                    _odeme.Insert(odeme);
                    Siparisler siparis = _siparis.Find(siparisId);
                    siparis.OdemeId = odeme.OdemeId;
                    //siparis.Odeme = odeme;
                    _siparis.Update(siparis);
                    _hareket.Insert(new MusteriGirisHareketleri()
                    {
                        IslemTarihi        = DateTime.Now,
                        Islem              = HareketTipleri.Odeme,
                        IslemAciklama      = $"{siparis.Yemek.YemekAdi} yemeğin, {siparis.YemekSayisi} kişilik [sipariş tarihi:{siparis.SiparisTarihi}] siparişini [Kart:{odeme.KartTip} - {odeme.KartBinNumber}***{odeme.SonDortHane} kart bilgisi ile ödediniz.",
                        MusteriId          = siparis.MusteriId,
                        CihazIp            = _client.GetClientIp(),
                        CihazBrowserAnonId = _client.GetClientAnonId(),
                        CihazBrowser       = _client.GetBrowser(_client.GetUserAgent(), _client.GetVersion())
                    });

                    _kasa.InsertSiparisOdeme(siparis);
                }
                return(RedirectToAction("index", "order"));
            }
            else
            {
                return(View(result));
            }
        }