【问题标题】:paypal - notify_url on transfer between two personal accountspaypal - notify_url 在两个个人帐户之间转移
【发布时间】:2013-01-03 19:44:16
【问题描述】:

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

这个过程在沙盒中运行,所以我知道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;dr...如果贝宝交易是在两个个人帐户之间进行的,是否会调用 notify_url

【问题讨论】:

  • 您好,能否确认一下paypal交易是在两个个人账户之间进行的,是否调用了notify_url?

标签: php paypal paypal-ipn


【解决方案1】:

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

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

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

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

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

【讨论】:

  • 感谢您的回答安德鲁。我能够检查一个帐户的 ipn 历史记录,状态确实是200。事实证明,probid 的贝宝脚本包含 cmd=_notify-validate last 而不是 first 所以收到的实际响应既不是 VERIFIED 也不是 INVALID 所以脚本没有输出。再次感谢。
猜你喜欢
  • 2012-01-07
  • 1970-01-01
  • 1970-01-01
  • 2011-09-01
  • 2016-08-12
  • 1970-01-01
  • 2021-08-04
  • 1970-01-01
  • 2015-12-01
相关资源
最近更新 更多