我正在使用Website Payments Standard
集成而在PDT
我很困惑,如果由于某些事情导致交易失败,我会在return
页面向客户显示消息,但我无法直接将消息作为回复来自Paypal
,而不是我得到的代码。我正在考虑创建一个将代码作为参数并返回错误消息的函数。我去了here并阅读了payment_status
变量。当我看到同一个变量可以在一个地方将11个值设置为11并且在另一个地方关闭3时,我感到困惑。在我的场景中它究竟会返回什么? 1关3或1关11?
修改
请参阅此link中的Mass Pay Variables
和Payment Information Variables
下的该变量。
答案 0 :(得分:0)
根据txn_type,payment_status会有各种各样的东西。这就是为什么他们在这样的类别中分开的原因。如果你得到一个txn_type的masspay,那么payment_status只会是那3个中的一个。大多数txn_type都有一个payment_status,它在你提到的11个列表中。如果您使用的是标准按钮,则通常会按照“付款信息变量”部分中的信息进行操作。
另外请注意,请确保您没有使用PDT来处理任何后付款处理,例如更新数据库,发送电子邮件通知等。即使启用了自动返回功能,也无法保证用户可以使用返回您的返回网址,如果他们不知道,该代码将永远无法运行。
相反,您应该使用IPN来处理此类处理,这与PDT非常相似,只是它与结帐流程完全分开。只要您的帐户发生任何交易,PayPal的服务器就会将有关该交易的数据发布到您的IPN侦听器网址。数据与您使用PDT查看的内容相同,但无论用户是否将其恢复到您的网站,都会始终触发IPN。
IPN还允许您正确处理在交付产品之前需要清除的电子支票,欺诈过滤器等待处理付款等事项。您可以在待处理付款时获得IPN,并在付款更新完成,失败或其他任何情况时获得另一个IPN。
IPN还允许您根据退款,纠纷等自动执行任务。它是一个非常强大的工具,同样,它绝对是推荐而不是PDT。