2014-07-01 58 views
0

我使用Website Payments Standard一体化和PDT我感到困惑,显示消息客户对return页,如果交易因一些失败,但我不能直接获取消息从Paypal的响应,而我得到的代码。我正在考虑创建一个将代码作为参数并返回错误消息的函数。我去了here并阅读了关于payment_status变量。当我看到同一个变量可以在一个地方设置为1,而在另一个地方关闭3时,我感到困惑。在我的场景中究竟会返回什么? 1关3或1关11?PAYMENT_STATUS在贝宝

编辑Mass Pay VariablesPayment Information Variables下,该变量在此link

回答

0

payment_status根据txn_type不同而不同。这就是为什么他们在类似的分类。如果你得到了一个txn_type的货币支付,那么payment_status只会是那三个中的一个。大部分txn_type的将有一个payment_status落在你提到的11的列表中。如果您使用的是标准按钮,则通常会按照付款信息变量部分中的信息进行操作。

在另一个说明中,请确保您没有使用PDT来处理任何后续处理,例如更新数据库,发送电子邮件通知等。即使启用了自动返回功能,也无法保证用户会将其退回到您的返回网址,如果他们不这样做,该代码将永远不会运行。

取而代之,您应该使用IPN来处理这种处理,这与PDT非常相似,只不过它与结帐流程完全分开。只要您的帐户发生任何交易,PayPal的服务器就会将关于该交易的数据发布到您的IPN监听器URL。数据将与您使用PDT所看到的相同,但无论用户是否返回到您的网站,IPN都将始终被触发。

IPN还将允许您正确处理来自电子支票,欺诈过滤器等的未付款项,这些款项在交付产品之前需要清除。待付款发生时您将获得IPN,并且在该付款更新为已完成,失败或其他任何情况时,您将获得另一个IPN。

IPN还允许您基于退款,争议等自动执行任务。这是一个非常强大的工具,并且再次强调,它通过PDT推荐。