两个个人账户之间转账的Notify_url


notify_url on transfer between two personal accounts

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

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

  <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="paypal@SELLERSBUSINESS.com">
     <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是否被调用?

IPN可用于任何类型的帐户。你绝对肯定它实际上没有得到张贴,但你的脚本有一个问题,所以你看不到结果吗?

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

如果PayPal的IPN历史没有显示任何东西,那么你知道IPN根本没有被发送。如果它显示200 OK,您就知道它正在发送,并且您的服务器正在返回一个成功的响应,表明脚本已完成,没有错误。如果你看到的不是200 OK,你就知道你的脚本发生了错误。你可以检查你的web服务器日志来找到确切的错误。

您还可以自己构建一个简单的测试表单,其中包含与您期望从PayPal获得的内容相匹配的隐藏变量。将此表单的动作设置为您的IPN侦听器并直接发布它。这样您可以在屏幕上看到结果,这可以帮助您解决问题。

请记住,当以这种方式测试时,数据不是来自PayPal,因此,验证将失败。为了测试的目的,您可以调整代码来处理这个问题。