问题描述
现有的 umbraco/ucommerce 商店。成功结帐后,我想将用户重定向到感谢页面的外部 URL 以进行跟踪——而不是默认的 umbraco 页面,同时仍然触发订单确认电子邮件。我该如何实现?
当前 umbraco 订单确认页面:
@using xxx.xxx.Ucommerce.Models.viewmodels
@using xxx.xxx.Ucommerce.Utilities;
@using xxx.xxx.Core.Controllers;
@using xxx.xxx.Ucommerce.Controllers;
@using xxx.xxx.Core.Models;
@using UCommerce.Runtime;
@using xxx.HelixLinear.Ucommerce.Models;
@model Confirmviewmodel
@{
var basket = SiteContext.Current.OrderContext.GetBasket();
var purchaSEOrder = basket.PurchaSEOrder;
}
<section id="cart" class="section cart">
<div class="container">
<div class="row">
<div class="col-sm-12 m-b-40">
<h5>Order Confirmation</h5>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="table-responsive">
<table class="table table-bordered cart-table">
<tbody>
<tr>
<th class="hidden-xs"></th>
<th>Item Description</th>
<th>Unit Price</th>
<th>Quantity</th>
<th>Total</th>
<th></th>
</tr>
@foreach (var orderLine in purchaSEOrder.OrderLines)
{
var product = ProductUtilities.GetProduct(orderLine.Sku);
<tr class="cart-row">
<td class="hidden-xs">
<input class="orderLineId" type="hidden" value="@(orderLine.OrderLineId)" />
@if (product.MainImage == null)
{
<img class="img-responsive" src="/images/No_image_available.png" alt="@Html.Raw(product.Name)">
}
else
{
<img src="@product.MainImage.Url" alt="cart-image" alt="@Html.Raw(product.Name)">
}
</td>
<td>
@Html.Raw(orderLine.ProductName)
</td>
<td>$@orderLine.Price.ToString("0,0.00")</td>
<td>
@(orderLine.Quantity)
</td>
<td>$@(orderLine.Total.Value.ToString("0,0.00"))</td>
<td></td>
</tr>
}
</tbody>
</table>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-5"></div>
<div class="col-sm-5 col-sm-offset-2">
<div class="shop-Cart-totalBox">
<h5>Order Totals</h5>
<table class="table table-striped table-border checkout-table">
<tbody>
<tr>
<th>Subtotal :</th>
<td>$@(purchaSEOrder.SubTotal == null ? "0.00" : purchaSEOrder.SubTotal.Value.ToString("0,0.00"))</td>
</tr>
<tr>
<th>Shipping Total :</th>
<td>$@(purchaSEOrder.ShippingTotal == null ? "0.00" : purchaSEOrder.ShippingTotal.Value.ToString("0,0.00"))</td>
</tr>
<tr class="shop-Cart-totalprice"><th>Total :</th><td>$@(purchaSEOrder.OrderTotal == null ? "0.00" : purchaSEOrder.OrderTotal.Value.ToString("0,0.00"))</td></tr>
</tbody>
</table>
@using (Html.BeginUmbracoForm<CheckoutController>("HandleConfirm",null,new { @class = "" },FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.HiddenFor(m => m.Email)
@Html.HiddenFor(m => m.Name)
<button type="submit" class="btn btn-lg btn-block btn-cal-default">
<i class="ion-android-cart"></i> Place Order
</button>
}
</div>
</div>
</div>
</div>
</section>
解决方法
您实际上可以从后台在支付提供商上设置外部重定向 URL。
您转到“设置”>“订单”>“付款方式”,然后选择您想要的一种。
看起来像这样:
如果您有任何其他问题,可以将他们发送至 support@ucommerce.net。
我希望这对您有所帮助。
一切顺利,
卡马尔
客户成功代理 - .Net 开发人员
电子商务。