我有一個電子商務網站與UCommerce構建。在結帳過程中,用戶將被重定向到支付入口。UCommerce阻止用戶在結帳時添加新項目
我想阻止用戶在購物籃中添加新項目,而用戶在付款門戶中。我目前的解決方案是在將用戶重定向到付款門戶之前將籃子保存到會話。
Session["checkoutOrder"] = TransactionLibrary.GetBasket(!TransactionLibrary.HasBasket()).PurchaseOrder;
我如何覆蓋與一個在Session付款後,當前籃?這是爲了在付款前將購物籃歸還原來的狀態。
我嘗試這樣做:
[HttpPost]
public ActionResult ExecutePayment()
{
var order = Session["checkoutOrder"] as PurchaseOrder;
order.Save();
...
}
但我對order.Save()得到一個錯誤:
Batch update returned unexpected row count from update; actual row count: 0; expected: 1
的支付總額進行確認時,從支付門戶網站的用戶的回報,讓您得到如果籃子總數大於支付的金額,則籃框不會轉換爲定單。 – lasseeskildsen
嗨@lasseeskildsen,我知道在結帳pipeline.But ValidatePaymentsMadeAgainstOrderTotal但我不希望用戶在支付門戶付款後出現錯誤。由於用戶的卡已經被扣除,這將使該過程複雜化。我更願意將採購訂單恢復到其原始狀態,以便只檢出付款項目。 – Romeo
這很有道理。也許您可以添加新的訂單狀態(「等待付款」),並將用戶重定向到付款門戶時的狀態更改爲?如果用戶在付款門戶處添加東西到籃子,那麼會創建一個新籃子?唯一的問題是,如果任何結賬流水線中存在任何需要狀態爲「購物籃」 – lasseeskildsen