2010-12-14 23 views
0

PayPal IPN有点麻烦。我已经看到这些问题的变体约有一百万次,但不是我正在寻找的答案。像往常一样,这可能是一个问关于错误事情的问题,但我希望有一些超级天才可以帮助。我如何正确地与PayPal IPN进行交互以达到串行生成的目的?

无论如何,我基本上需要设置购买一些现成的软件,并且一旦交易完成,发送给他们一个序列号。有人会认为这很简单,但考虑到标准,它已经证明什么,但。基本步骤如下:

1)在网站上自定义表单输入个人(但不要太= P)信息

2)转发给PayPal网站进行购买

3)一旦成功交易AUTOMATICALLY将它们发送到串行页面和/或发送电子邮件与注册。

我已经看过各种IPN类(使用PHP btw),没有什么看起来很直截了当,似乎贝宝并不喜欢任何类型的自定义变量被传递,也没有似乎自动发送到别处之后此次购买。另外,如果/当流程最终会回来时,我应该查看哪个ID?

也许我需要“专业”帐户?无论如何,请不要假设我对PayPal IPN的知识。我只是喜欢一个类(希望有一个我还没有尝试过),或者至少有一些更直接(简洁)的文档来说明如何实现这一点。

最好。

编辑#1:

有没有人对购买期间启用的数量字段中的任何信息?由于某种原因,它停留在1,不允许更改。我没有通过任何数量atm。

回答

1

贝宝API是有点不为人知的超级用户。这就是说,我已经成功地使用了IPN API,但是,我不确定这是你想要用在你的案例中。 IPN(即时付款通知)为1)用于发送通知至您的服务器。 2。)它与您的服务器进行通信,因此对客户的交易没有任何影响。 3.)不是一直都是即时的。

因此,如果您想将客户发送到某个页面,购买后,您将无法使用IPN完成此操作。您可以先看看Express Checkout API

如果你只是需要一个简单的重定向,Paypal provides a way to do this

您可以在与IPN集成的服务器上设置PHP文件。该文件可以这样工作:

  1. IPN向您的PHP文件发送“事务已完成”通知。
  2. 您的PHP文件读取通知以确保它是“完成的事务通知”,而不是另一个通知(例如“事务失败”等)。
  3. 如果一切正常,您的PHP文件可以生成并通过电子邮件将您需要的任何内容发送给客户。
+0

谢谢。我其实有这么多的工作。我需要的是来自最初“自定义表单”的信息,用于后端。我被告知使用数据库,并简单地生成我需要的响应,而且我确定。但是,我无法找到任何信息作为购买后决定的基础。例如,我希望能够传递一个唯一的交易变量,以便我可以在支付成功后生成适当的序列号。如果我不知道它所匹配的自定义数据,那么在事实之后获取事务ID并不好。 – 2010-12-14 02:57:44

+0

Ezimerchant可以做到这一点。您可以在您的API调用中为其传递一个变量,称为CUSTOM,它会返回您在创建订单时发送给它的同一组值。 – Jason 2010-12-14 03:04:00

+0

谢谢杰森,但我已经预览了ezimerchant演示,它并不感兴趣。正如我所说的,我已经将PayPal部分用于“简单”IPN交易。我只需要进一步去获得自定义项目的工作。 – 2010-12-14 03:08:13

1

我建议你使用ezimerchant - > www.ezimerchant.com

它是免费注册。他们有一个优秀的API,可以让你做到这一切,他们直接与贝宝挂钩,所以你不必费心学习他们复杂的api。

为了让您一开始,你会使用OrderCreate API,一旦你注册了,你可以访问此文件:

https://api.ezimerchant.com/[merchantid]/orders/edit

不要忘记添加您的商家ID。

那么就像提供“RETURNURL”和NOTIFYURL一样简单。 Notify网址是一个php脚本,可以接受订单详细信息,只需检查付款是否成功并通过电子邮件发送出串行代码即可。

我有一些代码在这个东西的PHP,所以让我知道如果你走这条路。