考虑一下这种情况:在电子商务网站上,由于某种原因,一些用户在填写所有必要信息(“仅”支付缺失)后未能完成订单。
为了不丢失自定义,网站希望在24小时内向每个用户发送提醒电子邮件,其中包含订单摘要和PayPal链接,以便他们完成交易。< / p>
答案 0 :(得分:1)
普通的电子邮件并不是最安全的地方,所以我建议不要放入其中: - PayPal链接 - 完整的订单详情
但可以做的是存储有关会话的所有信息,并通过“安全应用程序的简单链接”检索它,然后可以生成一个新的Paypal交易页面:
<a href="https://yourapp.com/retrieve-transaction?id=ENCRYPTED_ID">...</a>
点击链接后,您需要要求用户登录。即使交易本身不存在风险(需要独立支付),链接本身也会暴露交易内容;认为药品或其他敏感或机密的购买。出于同样的原因,您不希望将这些详细信息放在邮件中,您不希望通过单击只来访问它们。
然后,您将从登录中创建一个有效的会话,这将允许访问帐户信息,订单历史记录等。通过添加ENCRYPTED_ID中的信息,您可以向会话注入“冻结”购买会话中的所有信息。
现在,您拥有了使用PayPal链接重新创建快速订购页面所需的一切。
最后,您应该在预设时间之后和交易完成后提供链接失效,以防用户(或其他人)再次点击同一链接。
如果付款通过,则删除冻结会话
每小时(比方说),您检查是否有超过48小时的未完成冻结会话。这些已过期并删除它们。
如果有超过24小时但超过48小时的其他会话,则没有“已发送邮件”!标记,您发送带有该会话链接的电子邮件,并设置标记。
在收到该链接的点击后,您请求登录(并提醒如果该链接超过24小时,则无法正常工作)。