2010-01-13 60 views
4

从PayPal的文档: “贝宝返回相关的变量为每一种IPN消息并不是所有的变量都为每种类型的交易的返回。”您如何记录PayPal IPN消息?

我最初计划在数据库中创建一个带有消息字段的表,但是现在读完这个消息之后,它不再是一个好主意了(特别是我在他们的IPN文档中看到很多字段)。

我有一些想法(例如,使用选项卡和新行字符分隔字段和值。或者,在保存XML的整个事情在数据库中),但只是想知道你如何处理通过登录IPN消息?

回答

7

我要做的就是把它保存到数据库表与该是一个“原始”列一起对我很重要的信息栏。我使用表单参数集合并将其序列化为查询字符串并将其推入。这样,如果我需要它,所有原始信息都可用,但我的数据库模式仍然很简单,并反映了对我而言很重要的信息。

+1

如何大做才能让你的原始列? – 2010-06-12 22:47:48

+0

+1明智的建议。如果是我,那么我会使用SQL Server 2008 R2,因此会将原始列设置为“VARCHAR(MAX)”。如果你没有可变的存储空间,那么我想你需要记录其中几个的长度,看看它们有多大。 – 2011-11-23 15:43:36

0

我与以前的评论表示赞同。 IPN消息可能相当多变,每次提交可能大约有40-50个字段。只需将您的应用程序所需的几个字段(金额,客户信息等)拖放到XML或TEXT字段中,以备日后需要时使用。

0

我面临着同样的挑战,当我融入贝宝自适应支付。我做的最快的方法是将IPN详细信息(当PayPal调用我所做的IPN处理程序时)存储到静态变量中,以便可以显示值而不管我使用的浏览器如何。