【问题标题】:Easiest way to implement paypal shopping for e-books为电子书实施贝宝购物的最简单方法
【发布时间】:2013-11-14 10:08:25
【问题描述】:

我有一个现有的 django 网站,我想通过它使用 paypal 出售一些 pdf 文件。买家需要能够选择 1 本书或更多书籍,然后转移到贝宝网站以输入付款信息。然后在成功付款后,买家被重定向回我的网站,书籍开始自动下载。

我查看了 django-paypal 和 django-merchent 应用程序,但我不知道如何处理多次下载。据我所知,使用这些应用程序,购买成功后,应用程序会发送成功信号,但不会告诉我订购了哪些书。

使用 django-paypal 应用程序或使用其他方法实现此功能的最佳方法是什么?同样,我正在寻找最简单/最快的解决方案。

谢谢,

【问题讨论】:

  • 这些应用程序不要求您提供重定向网址吗?如果他们这样做了,为这些书创建一个支付链接,将它们发送到带有重定向 url 的 paypal 页面,该 URL 可以包含一些标识您的书的 ID,并在付款完成后将它们发送到 redirect-url。此重定向 url 可以是这些书籍的tar 的下载链接。
  • 我不确定我是否遵循。但我需要一个购物车类型的功能,所以我需要从贝宝返回已购买的书籍列表。
  • 没关系,我想我明白你在说什么。如何保护此重定向 url,使其仅在收到付款成功的信号时下载?
  • 查看这些应用程序是否采用重定向 URL。这是付款完成后贝宝将发送给您的网址。这可以是您可以下载的视图。我会通过在您离开贝宝时为每个付款链接创建 external_ids 来做到这一点。当您从那里回来时,paypal 将点击带有此外部 ID 的重定向链接,您将通过该 ID 知道要下载哪些书籍。我不确定你的安全问题,你能解释更多吗?
  • 所以您建议我创建一个重定向 URL,例如 www.example.com/download=book1&download=book3 对吗?然后,当贝宝重定向到它时,我知道书 1 和 3 已购买。但是,如果有人在没有付费的情况下访问该网址怎么办?

标签: python django paypal django-paypal


【解决方案1】:

相对而言,这个问题有点幼稚,因为购物车和支付处理之间通常是分开的。付款会返回一个二进制结果——要么有效,要么无效。由您的应用程序来回忆所支付的费用。

Paypal API 返回已识别付款的成功或失败; plus 将愉快地使用您提供给它的项目列表,以便向用户显示总金额的明细。但请注意,您是在告诉贝宝支付的费用。它正在使用这些数据,而不是提供它。

所以答案完全取决于您选择的解决方案(django-paypal 或 django-merchant 或其他)。阅读他们的文档。大概有一些方法可以检查最近批准的交易的内容。循环浏览购物车并启用每个下载。

例如,Django-paypal 对购物车中的内容不感兴趣。它只是在支付成功时触发一个信号,并传回交易标识符。您的应用程序必须回忆交易的用途。

通常这并不像您希望的那么容易。

【讨论】:

    猜你喜欢
    • 2014-08-05
    • 2011-09-21
    • 2020-06-21
    • 2012-04-12
    • 2017-11-18
    • 2023-03-04
    • 2017-12-18
    • 2011-11-10
    • 1970-01-01
    相关资源
    最近更新 更多