2012-11-14 44 views
-1

請考慮以下情況:在電子商務網站上,出於某種原因,某些用戶填寫所有必要信息後未能完成訂單(「僅限」付款失蹤)。在付款過程失敗後繼續使用電子郵件中的單個鏈接支付購物車

爲了不遺失自己的習慣,網站希望在24小時內向這些用戶發送提醒電子郵件,並提供他們的訂單摘要和PayPal鏈接,以便他們完成交易。

  • 這條鏈接怎麼構造?
  • 可能會出現什麼問題?
  • 該鏈接將如何處理?

回答

1

一個普通的電子郵件是不是最安全的地方,所以我建議不要只是把它: - 貝寶鏈接 - 訂單飽滿詳情

但是你可以做的是什麼存儲有關會話的所有信息,並通過「簡單的鏈接」到你的安全應用,那麼這可能產生一個新的PayPal交易頁面檢索它:

<a href="https://yourapp.com/retrieve-transaction?id=ENCRYPTED_ID">...</a> 

你需要需要û點擊鏈接後,系統登錄。即使交易本身不會有風險(需要獨立支付),鏈接本身也會暴露交易內容;考慮藥物或其他敏感或保密的購買。出於同樣的原因,您不希望將這些詳細信息放入郵件中,您不希望它們只能通過點擊訪問只需

然後,您將從登錄名創建一個有效的會話,並且可以訪問帳戶信息,訂單歷史記錄等。通過添加來自ENCRYPTED_ID的信息,您可以向「會話」注入「凍結」購買會話中的所有信息。

現在您擁有了使用PayPal鏈接重新創建快速訂購頁面所需的一切。

最後,如果用戶(或其他人)再次點擊同一鏈接,則應在預設時間之後和事務完成之後提供鏈接失效。

可能的工作流程

  • 您之前準備的「凍結會話」 第一PayPal鏈接建議
  • 如果支付獲得通過,你刪除的凍結會話

  • 每隔一小時(說),你檢查是否有超過48小時未完成的冷凍會議。這些是已過期並刪除它們。

  • 如果還有其他會話超過24小時,但比48更高,沒有「發送郵件!」標誌,您發送帶有該會話鏈接的電子郵件,並設置標誌。

  • 在收到對該鏈接的點擊後,您會請求登錄(並提醒您,如果鏈接超過24小時,則不起作用)。

  • 成功登錄後,檢查會話是否存在。
  • 如果不是,「對不起,這是過期 - 你想恢復購物?」
  • 如果存在,重新生成訂單頁面並返回到列表的開頭。誠然,如果您點擊該鏈接,不支付,並退出,另一封電子郵件將發送給您 - 但您需要這樣做的目的。如果濫用的可能性(例如,煩擾某人的密碼已知),請在凍結會話中添加一個計數器(「這是您第三次重新打開此訂單。爲避免潛在的濫用行爲,我們不打算向你發送更多提醒「)。當然,除非你因爲粗心或短暫失憶而出售治療。
相關問題