public MakePaymentDetailsRequest ( PaysonIntegration.Data.PaymentDetailsData data ) : PaysonIntegration.Response.PaymentDetailsResponse | ||
data | PaysonIntegration.Data.PaymentDetailsData | |
Результат | PaysonIntegration.Response.PaymentDetailsResponse |
public ActionResult Returned(string orderGuid) { var state = repository.GetPurchaseState(orderGuid); if (state != null) { var api = new PaysonApi(state.UserId, state.UserKey, ApplicationId, true); var response = api.MakePaymentDetailsRequest(new PaymentDetailsData(state.Token)); if (response.Success) { var status = response.PaymentDetails.PaymentStatus.HasValue ? response.PaymentDetails.PaymentStatus.ToString() : "N/A"; state.Updates[DateTime.Now] = "ReturnUrl: " + status; state.LatestStatus = status; } else { ViewBag.Errors = response.ErrorMessages; return View("Index", GetDefaultPayViewModel()); } } return View("Result", state); }
public ActionResult Returned(string regId) { int registrationId = -1; log.Debug("Returned"); if (!string.IsNullOrEmpty(regId) && !int.TryParse(regId, out registrationId)) { ShowError("regId not in querystring at checkout returned."); } var registration = db.Registreringar.FirstOrDefault(regg => regg.ID == registrationId); if (registration == null) { ShowError("No registration found in db with id: " + registrationId + " in checkout returned."); } log.Debug("Returned. Lagnamn: " + registration.Lagnamn); // If no payment message has been sent (IPN) if (!registration.HarBetalt) { var api = new PaysonApi(CheckoutModel.PaysonUserId, CheckoutModel.PaysonUserKey); #if DEBUG api = new PaysonApi("4", "2acab30d-fe50-426f-90d7-8c60a7eb31d4", ApplicationId, true); #endif var response = api.MakePaymentDetailsRequest(new PaymentDetailsData(registration.PaysonToken)); if (response.Success && (response.PaymentDetails.PaymentStatus == PaymentStatus.Completed || response.PaymentDetails.PaymentStatus == PaymentStatus.Pending)) { if (!registration.HarBetalt) { SetAsPaid(registration); } } else { log.Warn("Deleting temp-registration with id: " + registrationId); // Remove the temporary registration DeleteRegistrering(registrationId); return ShowPaymentError("Error when payment returned.", response.NvpContent, registration); } } return RedirectToAction("Redirect", "Home"); }