2013-01-20 70 views
2

使用phpprobid软件在拍卖网站上工作,并开始为买家付款以支付卖家的付款。表单就像下面的代码,我可以看到钱从买方转移到卖方,但notify_url回调没有运行。 notify_url(用于标记物品已付费和其他数据库操作)可访问,而不是localhost。在两个个人帐户之间是否拨打notify_url?所有文件只会谈论个人与商业交易;这是否意味着允许用户出售物品并通过贝宝接受付款,他们需要一个商业账户?paypal - notify_url关于两个个人账户之间的转账

这个过程在沙箱中工作,所以我知道在notify_url脚本没有错误,但那里你需要一个模拟的商业帐户,所以这不是一个问题。我已经添加了一些mail()调用通知脚本,所以我可以看到它实际上并没有运行。传输工作和return网址出现后也是如此。

<form action="https://www.paypal.com/cgi-bin/webscr/" method="post" id="form_paypal"> 
    <input name="submit" type="submit"> 
    <input type="hidden" name="cmd" value="_xclick"> 
    <input type="hidden" name="bn" value="wa_dw_2.0.4"> 
    <input type="hidden" name="business" value="Business Name"> 
    <input type="hidden" name="receiver_email" value="[email protected]"> 
    <input type="hidden" name="amount" value="SOME_AMOUNT"> 
    <input type="hidden" name="currency_code" value="A_VALID_CURR_CODE"> 
    <input type="hidden" name="return" value="OURSITE/RETURN_URL"> 
    <input type="hidden" name="cancel_return" value="OURSITE/FAILED_URL"> 
    <input type="hidden" name="item_name" value="DESCRIPTION_OF_ITEM"> 
    <input type="hidden" name="custom" value="VALUE_TO_BE_SPLIT_FOR_SPECIFIC_DATA"> 
    <input type="hidden" name="notify_url" value="OURSITE/CALLBACK_SCRIPT_URL"> 
    </form> 

TL;博士...如果PayPal交易是两个人的账户之间,是notify_url叫什么?

+0

嗨,你可以确认一个贝宝交易是否在两个个人账户之间,是否叫做notify_url? – afro360

回答

1

IPN可以与任何类型的帐户一起使用。你确定它确实没有被发布,但你的脚本有问题,所以你看不到结果?

您需要通过检查您的PayPal IPN历史记录和您的Web服务器日志来确认。

如果PayPal IPN History没有显示任何内容,那么您知道IPN根本没有被发送。如果它显示200 OK,那么您知道它正在发送,并且您的服务器正在返回脚本无误地完成的成功响应。如果您看到200以外的任何其他内容,则表明您的脚本发生了错误。您可以检查您的Web服务器日志以查找确切的错误。

您也可以使用与您期望从PayPal获得的隐藏变量创建一个简单的测试表单。将此表单的操作设置为您的IPN侦听器并直接进行POST。这样你可以在屏幕上看到结果,这可以帮助解决你的问题。

请记住,当以这种方式测试数据不是来自PayPal,因此,验证将失败。您可以调整您的代码以进行相应的处理以进行测试。

+0

感谢您的回答安德鲁。我能够检查一个帐户的ipn历史记录,状态确实是'200'。事实证明,probid的贝宝脚本最后包含'cmd = _notify-validate',而不是第一个,因此收到的实际响应既不是'VERIFIED'也不是'INVALID',所以脚本没有输出。再次感谢。 –