【问题标题】:Paypal IPN check if payment is onholdPaypal IPN 检查付款是否暂停
【发布时间】:2018-08-22 07:26:48
【问题描述】:

我有一个运行良好的 PayPal IPN。如果有人在我的主页上购买了产品,他会收到一封包含产品密钥的电子邮件。到目前为止,一切都很好。 但现在我有一个问题。有时付款是暂停的,不能直接使用。问题通常是,人们购买了产品然后退还了钱。我丢失了产品密钥(是的,我需要为此投资)和钱 + 我需要支付费用..

但我有一个想法。如果有一个变量来检查支付是否成功并且我有钱,或者它是否被贝宝持有,我可以制作一个脚本。如果它处于等待状态,productkey 将从数据库中删除并使用变量

保存在另一个数据库中
$_POST['parent_txn_id'];

那么,如果钱在我的账户上,IPN 应该会再次触发,对吧? 然后我只是询问是否存在带有 parent_txn_id 的条目,如果是,那么我发送另一个数据库的内容,而不是主数据库。 我知道这听起来令人困惑,但每次,如果我的贝宝账户上有一些操作,IPN 应该被触发,对吧?所以我可以检查 parent_txn_id。

现在我使用这个变量:

if (strcmp($readresp, "VERIFIED") == 0) {

}

我找到了变量“payment_status”。有值“COMPLETED”和“PENDING”。 PENDING 是我需要使用的变量吗?我调查了可能的pending_reason,但没有理由称为“因为贝宝的保护而持有”..

那么如何检查我的帐户中的钱是否被扣留或成功?

谢谢你:)

【问题讨论】:

    标签: php paypal paypal-ipn


    【解决方案1】:

    是的 “PENDING”是任何因任何原因被暂停的交易的状态

    无论如何,除非状态为“已完成”,否则您不想发送产品密钥,所以如果产品密钥已完成,只需发送产品密钥

    【讨论】:

      【解决方案2】:

      如果您设置了 IPN,如果付款处于“暂停”状态,您应该会收到一个带有 payment_status="PENDING" 的 IPN 当状态“PENDING”出现时。变量“pending_reason”也应该包括在内。

      您可以参考这里:https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNandPDTVariables/

      【讨论】:

        猜你喜欢
        • 2014-01-18
        • 2014-04-18
        • 2014-01-23
        • 2012-11-07
        • 2016-01-05
        • 2011-11-24
        • 1970-01-01
        • 2014-07-15
        • 2015-07-01
        相关资源
        最近更新 更多