2016-05-29 83 views
1

我在電子商務網站上遇到了問題,我正嘗試在用戶在與SecurePay支付網關簽出時添加其他購物車物品的地方。在結帳困境期間添加額外的購物車物品

當用戶點擊「立即付款」按鈕時,它們被重定向到網站的SecurePay付款頁面,在那裏他們輸入他們的信用卡信息。在支付信息已經發送到支付網關而沒有我能夠檢測到之後,用戶可以打開另一個頁面並添加/取消購物車項目。購物車是一個數據庫購物車,其中一個cookie用作記錄用戶的唯一標識符。

問題在於,沒有輸入字段可以將SecurePay表單中的任何產品數據發送到支付網關,您只能指定有關訂單的有限信息,即訂單的總金額(包括運費(甚至不能單獨發送運費總額),參考號碼(發票號碼)和貨幣類型(AUD),附加費百分比等。因此,我必須在訂單成功後根據用戶購物車處理所有內容,並且他們將重定向回我的網站。如果用戶在現場付款時添加/取消購物車項目,那麼當我生成發票並在訂單完成頁面上進行購買時,它會反映出來。

我只是不知道如何解決這個問題。

我可能的場景:

我鎖上車當用戶點擊結賬頁面,然後再將其解鎖,如果他們打任何其他頁面比結帳頁面。儘管如此,如果不將用戶完全退出結帳流程,就不可能進行任何促銷,我還擔心任何可能出現的情況,即如果用戶返回該網站,他們的購物車可能仍會被鎖定。另外,也許這似乎有點混亂/解決方案的黑客?

我測試了幾個隨機電子商務網站,並且還可以在結賬過程的「立即付款」階段從另一個頁面添加更多購物車項目,而不檢測其他購物車項目,除非您實際上手動刷新頁面。雖然我沒有通過實際支付項目來驗證,但我看不出我的問題會有什麼不同。

有沒有人有任何建議?

回答

0

如果您可以發送參考號碼,爲什麼不使用它來生成訂單?無論何時用戶付款,都可以使用購物籃中的物品創建訂單並將該號碼發送給SecurePay。付款完成後,將該訂單標記爲已付款。如果他們更改了籃子的內容,那麼舊的參考號碼仍然會參考籃子中原來的產品,如果他們再次退房,將會創建一個新訂單,其中包含正確的物品。

+0

對不起,我不明白你的意思是有一箇舊的參考號碼?當用戶開始結帳過程時,我會生成一個臨時訂單和發票號碼,我將發票號碼作爲參考發送給SecurePay,這樣我可以在用戶重定向到該網站時指向訂單。 SecurePay只允許一個參考號碼。也許我可以更新臨時訂單,並在用戶付款時將購物籃內容和數量存儲爲數組,然後只需循環訪問數組即可在訂單成功時獲取產品和數量,而不是通過用戶購物籃循環購買 – Bezzzo

0

可能有一個選項 - 當用戶重定向到您的網站時 - 該安全支付可能會傳回一些信息,包括收費金額。然後你可以檢查並確認這個數字與購物車中的任何東西。

或者 - 我在尋找安全薪酬開發者頁面,他們有兩種不同的方法,客戶永遠不會離開您的網站。 https://www.securepay.com.au/developers/products-and-services/accepting-e-commerce-payments/

你在澳大利亞 - 如果是的話,你也可以看看條紋,它可能是更容易https://stripe.com/au/pricing

0

我最初認爲這種行爲是一個錯誤,直到我瞭解到向上銷售。所以我的解決方案(如果我需要的話)是確保每個結賬過程都是新訂單,而不是更新。然後添加一個掛鉤,讓用戶瞭解新訂單,並給出一個選項來放棄(清除)當前在購物車中的物品。

+0

也嘗試讀這個

+0

感謝您的評論。我提出的解決方案是在'orders'表中創建一個名爲'product_array'的列,並在用戶單擊'pay now'時將購物車的內容保存爲帶分隔符的字符串。如果付款成功,那麼我將該字符串分解成數組並處理從那裏的訂單,而不是購物車。這樣,如果用戶在進入托管支付頁面後試圖從另一個選項卡操縱購物車,則它變得不合適 – Bezzzo

相關問題