Ok, so you create the basket again from the order and use a flag "use order 10".
No. Just use the info from already placed (but not paid) order.
ajhvdb wrote:
What will happen to orders created as guest?
Not decided yet
tokens.Add(new Token("Order.OrderGuidURLForCustomer", string.Format("{0}orderdetailsguid/{1}", _webHelper.GetStoreLocation(false), order.OrderGuid)));
@using (Html.BeginForm("Details", "Order", FormMethod.Post))
{
if (Model.OrderStatus.Contains("Oczekuje") || Model.OrderStatus.Contains("Pending"))
{
<tr>
<td colspan="2" style="border: solid red 3px; margin: 10px; padding: 20px;" align="center">
<b><a href="@Url.RouteUrl("PayForOrder", new { orderId = Model.Id })" target="_blank" class="reorderbutton">Pay for Order</a>
<text>
<br />
<br />
To zamówienie jest nieopłacone. Jeśli chcesz zapłacić przez PayPal or Kartą Płatniczą kliknij "Pay for Order".<br />
<i>This order is not yet paid for. To pay now with PayPal or Credit Card click the "Pay for Order" button.</i>
<br />
</text>
</b>
</td>
</tr>
}
}
routes.MapRoute("OrderDetailsGuid",
"orderdetailsguid/{orderGuid}",
new { controller = "Order", action = "DetailsGuid" },
//new { orderGuid = @"[a-z0-9-]" },
new[] { "Nop.Web.Controllers" });
[NopHttpsRequirement(SslRequirement.Yes)]
public ActionResult DetailsGuid(string orderGuid)
{
var order = _orderService.GetOrderByGuid(new Guid(orderGuid));
if (order == null || order.Deleted /*|| _workContext.CurrentCustomer.Id != order.CustomerId*/)
return new HttpUnauthorizedResult();
var model = PrepareOrderDetailsModel(order);
return View(model);
}
[NopHttpsRequirement(SslRequirement.Yes)]
public ActionResult PayForOrder(int orderId)
{
var order = _orderService.GetOrderById(orderId);
//FK: this is a security problem TODO: do this right ...
if (order == null || order.Deleted /*|| _workContext.CurrentCustomer.Id != order.CustomerId*/)
return new HttpUnauthorizedResult();
var model1 = PrepareOrderDetailsModel(order);
ProcessPaymentRequest processPaymentRequest = new ProcessPaymentRequest();
processPaymentRequest.Customer = _workContext.CurrentCustomer;
processPaymentRequest.PaymentMethodSystemName = order.PaymentMethodSystemName;
var postProcessPaymentRequest = new PostProcessPaymentRequest();
postProcessPaymentRequest.Order = order;
_paymentService.PostProcessPayment(postProcessPaymentRequest);
return View("Details", model1);
}