我在为我正在开发的 web 应用程序实施定期付款时遇到了一个特殊的问题。我无法使用托管的贝宝订阅按钮,因为付款金额是可变的。因此,我使用了类似这样的非托管解决方案:
<form action="https://www.sandbox.paypal.com/us/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="business" value="business@email.com">
<input type="hidden" name="item_name" value="Some item"/>
<input type="hidden" name="return" value="return_url">
<input type="hidden" name="cancel_return" value="cancel_url">
<input type="hidden" name="notify_url" value="notification_url">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="no_shipping" value="1">
<input type="image" src="http://www.paypal.com/en_US/i/btn/btn_subscribe_LG.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
<input type="hidden" name="a3" value="variable_amount">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="M">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="src" value="1">
<input type="hidden" name="sra" value="1">
<input type="hidden" name="custom" value="planid1,planid2"/>
</form>
现在,我需要每个月使用谁支付的 cron 进行检查,并据此生成内容。
从互联网上的讨论来看,很明显贝宝没有发送订阅的 txn_id。那么,我应该如何检查用户是否在下个月付款?我想到的一件事是 IPN 侦听器,但它可以与非托管按钮一起使用吗?对此完全感到困惑。有人能指出我正确的方向吗?