Ejemplo n.º 1
0
        public IActionResult CheckTheSavedCreditCard(CreditCardHashedDto paymentHasedDto)
        {
            var result = _creditCardService.CheckTheSavedCreditCard(paymentHasedDto);

            if (result.Success)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
        public IDataResult <FromBankCreditCard> CheckTheSavedCreditCard(CreditCardHashedDto paymentHashedDto)
        {
            var getCardToCheck = _creditCardDal.GetByUser(paymentHashedDto.UserId);

            if (getCardToCheck is null)
            {
                return(new ErrorDataResult <FromBankCreditCard>("Kayıtlı olan kart bilgileri hatalı. Lütfen kart bilgilerinizi güncelleyin."));
            }

            var cardNumberStatus     = HashingHelper.VerifySavedCardNumberHash(paymentHashedDto.CardNumberHash, getCardToCheck.CardNumberHash);
            var expirationDateStatus = HashingHelper.VerifySavedCardExpirationDateHash(paymentHashedDto.ExpirationDateHash, getCardToCheck.ExpirationDateHash);
            var cvvStatus            = HashingHelper.VerifySavedCardCvvHash(paymentHashedDto.CvvHash, getCardToCheck.CvvHash);

            if (!cardNumberStatus || !expirationDateStatus || !cvvStatus)
            {
                return(new ErrorDataResult <FromBankCreditCard>("Kayıtlı olan kart bilgileri hatalı. Lütfen kart bilgilerinizi güncelleyin."));
            }

            return(new SuccessDataResult <FromBankCreditCard>(getCardToCheck, "Ödeme işlemi başarılı."));
        }