【问题标题】:PayPal Digital Goods: How to get item number after purchase made?PayPal 数字商品:购买后如何获取商品编号?
【发布时间】:2013-01-11 19:57:29
【问题描述】:

我有一个简单的数字商品结账功能,可以在沙盒模式下工作。我有一个“使用 PayPal 付款”按钮,我可以单击该按钮弹出一个用于登录 PayPal 的窗口。之后它会将我重定向到我的purchasemade.php 脚本,然后我可以从那里成功下载文件。

我的问题是,我要在我的网站上销售很多产品,所以我需要知道他们在完成购买后要下载哪些产品。每个产品都有一个唯一的 ID,所以我想我会将该 ID 作为 HTML 表单中的项目编号作为名为“item_number”的隐藏字段传递。但是,一旦到达purchasemade.php,我不知道如何读取该值。

如何读取以原始形式通过 POST 传递的值?否则,识别产品的最佳方法是什么?我使用 PHP 作为这个项目的脚本语言。

【问题讨论】:

  • 您是否将产品 ID 放入会话(或购物篮)中?如果是这样,当 Paypal 指示用户支付成功时,在清除会话之前使用会话的内容来确定用户可以下载的内容。
  • 奇怪的是,我尝试了会话,但它们不起作用。出于某种原因,一旦我从 PayPal 返回我的网站,SESSION 就会重置
  • 这将是你这边的一个错误。不同站点上的(支付)站点无法清除您自己域上的会话。

标签: php paypal


【解决方案1】:

如果您要坚持使用Payments Standard,我建议您使用IPN 来交付您的数字商品。您可以使用 PDT(与 IPN 非常相似)将订单数据发送回用户被重定向到的页面,但是,即使在您的 PayPal 帐户中启用了自动退货,也不能保证他们会在此处进行。

或者,您可以使用Express Checkout API 代替付款标准。此方法可确保用户在完成付款之前将其返回您的网站。这将允许您利用会话变量,以便您可以在感谢/回执页面上向用户展示下载内容。

不过,我认为无论您采用哪种方式,IPN 都是您最好的选择。您可以使用它实时自动交付数字商品、发送一般电子邮件通知、更新您的数据库、访问第三方网络服务等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-05
    • 2012-07-25
    • 1970-01-01
    • 2016-05-28
    • 1970-01-01
    • 2019-05-29
    • 2012-01-30
    • 1970-01-01
    相关资源
    最近更新 更多