public ActionResult UsePaymentMethod(IPaymentMethod paymentMethod, int PaymentTypeID = 0) { try { // Check for redirect payment type : 999 = Ideal if (PaymentTypeID == 999) { var ideal = paymentMethod.As<Ideal>(); PropertyBag.PaymentMethod = ideal; PropertyBag.PaymentTypeID = 999; PropertyBag.IsRedirectPayment = true; Exigo.PropertyBags.Update(PropertyBag); } else { var message = ""; if (paymentMethod.CanBeParsedAs<CreditCard>()) { var creditCard = paymentMethod.As<CreditCard>(); PropertyBag.PaymentMethod = creditCard; PropertyBag.IsRedirectPayment = false; Exigo.PropertyBags.Update(PropertyBag); if (creditCard.IsExpired) { message = "Please enter a card that is not expired before proceeding."; return new JsonNetResult(new { success = false, message = message }); } if (!creditCard.IsComplete) { message = "Please enter a card that is complete before proceeding."; return new JsonNetResult(new { success = false, message = message }); } //if (paymentMethod.IsValid) //{ // PropertyBag.PaymentMethod = paymentMethod; // Exigo.PropertyBags.Update(PropertyBag); //} } } return new JsonNetResult(new { success = true }); } catch (Exception ex) { return new JsonNetResult(new { success = false, message = ex.Message }); } }