2013-01-11 79 views
1

我有一个简单的数字商品结账工作在沙盒模式。我有一个“Pay with PayPal”按钮,我可以点击它弹出一个窗口登录贝宝。之后,它将我重定向到我的purchasemade.php脚本,并从那里我可以成功下载文件。PayPal数字商品:购买后如何获得商品编号?

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

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

+0

你把产品的ID放在一个会话(或篮子)中吗?如果是这样,当PayPal指示用户付款成功时,使用会话内容确定用户在清除会话之前可以下载的内容。 – halfer

+0

奇怪的是,我试过会议,他们不工作。出于某种原因,一旦我从PayPal返回到我的网站,SESSION将被重置 –

+0

这将是您身边的一个错误。不同网站上的(付款)网站无法清除自己域中的会话。 – halfer

回答

0

如果你要坚持Payments Standard我会建议使用IPN来提供您的数字商品。您可以使用PDT(与IPN非常相似)将订单数据发送回用户重定向到的页面,但即使在您的PayPal帐户中启用了自动返回功能,也无法保证它们会在此处显示。

或者,您可以使用Express Checkout API而不是付款标准。此方法可确保用户在完成付款之前将其返回到您的网站。这将允许您使用会话变量,以便您可以在谢谢/收据页面上向用户呈现下载内容。

尽管如此,我认为无论你走哪条路,IPN都是你最好的选择。您可以使用它实时自动发送数字商品,发送一般电子邮件通知,更新数据库,打击第三方网络服务等。

相关问题