2016-03-03 86 views
0

我知道使用貝寶按鈕的自定義變量的推薦做法是傳遞一個標識符,這是一個數據庫中的一些數據的引用,然後當貝寶返回一個響應時,驗證該id與它的在數據庫中相應的引用,以做額外的處理,貝寶自定義變量唯一標識符

但我的問題是,如果我保存數據庫中的數據時,用戶點擊貝寶按鈕,用戶重定向到貝寶,我將如何知道如果用戶點擊瀏覽器上的後退按鈕,交易從未完成?因爲如果用戶這樣做,我將不會收到貝寶的回覆(已完成或未完成)。如果我沒有貝寶的任何迴應,那麼我無緣無故地將一些數據保存在我的數據庫中。

我應該如何解決這個問題?

我有很多字段的大表格,所以我無法發送自定義變量中的所有數據,因爲存在限制。

請幫忙!

+0

您可以使用臨時表。並在你的情況下,在取消交易的情況下。你應該使用Session從臨時表中刪除數據。 – Deep

+0

您可以保存到緩存(文件緩存,redis,mongo或任何其他存儲),然後在事務完成後刪除並設置cron以刪除olde緩存(可以說,比一天或任何其他時間長)從未完成的交易, – naneri

回答

1

當他們沒有付款時,我會將它們保存爲「掛起」狀態。然後,如果付款永遠不會完成,您將擁有掛單的記錄,您可以跟進這些記錄,嘗試將其轉換爲訂單,或者直接刪除所有待處理訂單進行清理。