2

使用phpprobid软件在拍卖网站上工作,并最终为买家整合贝宝付款以向卖家支付物品。表格就像下面的代码,我可以看到钱从买家转移到卖家,但notify_url回调没有运行。notify_url(用于将项目标记为已付费和其他数据库操作)是可访问的,而不是 在localhost. 是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="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;博士...如果贝宝交易是在两个个人帐户之间进行的,被notify_url调用了吗?

4

1 回答 1

1

IPN 可用于任何类型的帐户。您是否绝对确定它实际上并没有被 POST,但您的脚本有问题,所以您看不到结果?

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

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

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

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

于 2013-01-21T00:40:11.357 回答