我不明白..我在Sandbox模式下测试了订阅按钮,并且它成功运行。测试业务收到了付款,并且notify_url被称为罚款。但是一旦我换出Sandbox模式,业务仍然得到支付,订阅成功设置,但notify_url甚至没有被调用。我在live / sandbox表单之间改变的唯一事情是:
{if $sandbox == TRUE}
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
{else}
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
{/if}
和
{if $sandbox == TRUE}
<input type="hidden" name="hosted_button_id" value="46CVBBYCFHPSY" />
{else}
<input type="hidden" name="hosted_button_id" value="VCL8LGQUWCM5E" />
{/if}
以防万一......其余部分看起来像是:
<input type="hidden" name="cmd" value="_s-xclick" /><input type="image" src="https://www.paypal.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online." />
<input type="hidden" name="custom" value="{$user->user_info.user_id}" />
<input type="hidden" name="return" value="http://www.singlesikhs.co.uk/dev/singlesikhs/payment.php?task=success" />
<input type="hidden" name="notify_url" value="http://www.singlesikhs.co.uk/dev/singlesikhs/payment_paypal.php?action=ipn" />
<input type="hidden" name="cancel_return" value="http://www.singlesikhs.co.uk/dev/singlesikhs/payment.php?task=cancel" />
<img alt="" border="0" src="https://www.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>
为什么哦为什么这不起作用?我正在把头发拉到这里,试图为我的客户解决这个问题。我无法想象事情出了什么问题。请帮助我,我应该尽快为我的客户完成这个。除了这一件事,我还有其他一切100%工作。感谢..
答案 0 :(得分:2)
我在PayPal论坛上问了一下,发现了什么问题。显然,对于订阅,企业帐户必须在其个人资料下手动输入其IPN设置。
答案 1 :(得分:0)
您需要在生产帐户上激活IPN:
https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNSetup/
单击页面右上角的配置文件图标(配置文件菜单)。从Business Profile菜单中,选择Profile and Settings,然后选择My selling tools。 ...
单击接收IPN消息(已启用)以启用侦听器。
答案 2 :(得分:-6)
我认为这是这条线的微小变化。
<input type="hidden" name="notify_url" value="http://www.singlesikhs.co.uk/dev/singlesikhs/payment_paypal.php?action=paypal" />
action = ipn“应该替换为action = paypal”。
试试吧,这可能会有用......
感谢。