我使用 PDT ,当 payment_status 已完成时,我更新了我的数据库并将金额兑换为赠送金额。例如,30美元到30分钟的服务。
我担心有人付款并且payment_status待定,在这种情况下,我的应用程序将无法执行此交换。那么,付款最终完成后会发生什么?
另一方面,如果我的应用程序将丢失并且无法处理PayPal付款,那么会有什么方法告诉PayPal"嘿,我已经处理了付款,保存它"?
感谢。
答案 0 :(得分:2)
使用IPN,它与PDT非常相似,不同之处在于PayPal的服务器只是将数据发送到您提供的侦听器URL而不是返回URL。
每次PayPal交易都会触发IPN,无论用户是否将其返回到您的返回网址(这是首先使用它而不是PDT的另一个原因)。
如果付款最初处于待处理状态,您将获得一个处于待处理状态的payment_status的IPN,因此您可以更新数据库并相应地发送电子邮件通知。
当付款清除(或失败)时,您将获得具有相同txn_id的另一个IPN,但是新的payment_status,因此您的IPN脚本可以采取相应的行动。