- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一些问题,关于贝宝IPN没有被解雇我的一个服务器。下面是场景。
1)我有两个站点站点A(旧)位于服务器X上,站点B(新)位于服务器Y上。这两个站点都具有相同的PayPal Express签出表单提交和IPN代码。
2)站点A运行顺利,PayPal Express签出表单提交,IPN被正确触发。
3)但是对于站点B,虽然我们的表单提交正确并且付款成功,但IPN没有被解雇。
更多信息:
我检查了PayPal的商业账户,看是否有添加IPN所在IP/域所需的任何功能。
我还向PayPal支持人员咨询过,他们说从2014年3月25日起,他们要求将PayPal的API相关IP地址添加到我们的服务器防火墙中。我们已经完成了添加这些IP地址的操作,但仍然无法正常工作。
URL : https://ppmts.custhelp.com/app/answers/detail/a_id/14/related/1/session/L2F2LzEvdGltZS8xNDAxMTcyODkwL3NpZC9VbENEUWhWbA%3D%3D
最佳答案
不幸的是,没有太多问题相关的信息可供我使用,所以让我们将此作为IPN故障排除指南以供将来参考:)
检查给定帐户的IPN功能状态-
https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-ipn-notify(先登录到您的帐户,然后按照链接转到IPN设置)
替代方案:
登录paypal.com
打开配置文件-->我的销售偏好
找到“即时付款通知”选项
IPN可以有四种状态:
启用-->如果系统提示您选择设置,则IPN为
如果在
结帐请求。
启用默认URL设置-->如果显示“通知URL”且“消息传递”设置为“启用”,每次您在结帐请求中未指定其他IPN URL时,都将使用默认URL(例如,由于易趣的快速结帐集成不传递通知URL,易趣交易将发送到默认URL)
禁用-->您从未设置默认URL,但在事务中传递的IPN URL引发了太多错误。您应该看到空地址字段和正在选中的选项“Do not receive IPN messages(disabled)”。
默认的URL设置禁用->默认IPN URL在某个时间点被配置,但是由于默认URL或动态URL上的失败,IPN特性已被禁用。您将看到url和“message delivery=disabled”
为什么PayPal禁用IPN交付?
PayPal希望您的服务器用HTTP200 OK消息进行响应。如果接收到不同的响应代码,则会启动重试机制。
ipn消息总共发送16次,每次尝试之间的时间帧都在增加。如果一个url的错误达到某个阈值,ipn将自动禁用。您将收到一封电子邮件,在Paypal帐户上列出的主要电子邮件地址,警告您即将停用。
如果启用了IPN,请检查https://www.paypal.com/cgi-bin/webscr?cmd=%5fdisplay%2dipns%2dhistory&nav=0%2e3%2e4下最后一条IPN消息的状态。
它将向您展示您的服务器正在发送的最后HTTP响应代码,并且可以对失败/重试消息进行筛选。
检查http://en.wikipedia.org/wiki/List_of_HTTP_status_codes以查看状态的含义。
如果没有http响应代码,则在较低级别上存在连接问题。
最常见的原因是:
防火墙
SSL连接问题(尝试使用HTTP)
黑洞路径
如果您觉得所有配置都正确,请查看https://ppmts.custhelp.com/app/answers/detail/a_id/733
如果IPN消息标记为“发送”(HTTP 200接收),则IPN处理的下一步是将数据发布回Paypal进行验证。您可以在脚本中启用日志记录(在服务器上的文件中转储HTTP请求和响应),或者您可以与PayPal MTS(https://www.paypal.com/mts)联系,并询问PayPal侧可见什么。
检查PayPal连接的一个好的测试是在Web服务器本身上运行以下命令:
curl-d“cmd=_notify-validate”-vhttps://www.paypal.com/cgi-bin/webscr
如果您看到邮件已经到达PayPal,但PayPal对所有消息都无效:
检查你的代码,https://github.com/paypal/ipn-code-samples是一个很好的样本源
如果贝宝对某些消息无效,您可能会遇到编码问题。您最好在https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-language-encoding下设置字符编码设置-将其设置为utf8以获得最佳结果。
如果PayPal以验证方式响应,但在验证支付之后,脚本不会继续处理,请确保运行一个Times(或使用所使用的语言的等价物)来移除空白、行提要和CRLF。
之后发生的事情取决于IPN脚本,在连接到数据库、解析IPN消息以获取特定数据或某些编码错误时,您可能会遇到错误。
简而言之:如果IPN消息已经被接收、发布和验证,其他一切都会在服务器上的代码中发生,您必须开始挖掘日志文件(或者确保正在创建日志,这总是一个好主意)以了解发生了什么。如果问题是可重复的,那么最好检查一个示例脚本(包括日志记录)发生了什么。
希望这有助于解决IPN的正面问题-任何有关IPN的问题?联系PayPal.com /MTS,如果你想调查在PayPal方面发生了什么。
关于php - Paypal IPN未调用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23882891/
我在尝试使用 PayPal 的 IPN 模拟器时得到这个答案(“很抱歉,我们无法发送 IPN”)。 我知道我可能会以各种方式做错事,但我想我现在已经涵盖了所有这些方式。当我自己发送带有虚拟事务数据的
在 PayPal(沙盒)中,我定义了一个日语用户,名字和姓氏都带有日语字符。 但是,我收到的 IPN 通知是用 charset=windows-1252 编码的。事实上,这是从 Paypal 收到的
在 PayPal(沙盒)中,我定义了一个日语用户,名字和姓氏都带有日语字符。 但是,我收到的 IPN 通知是用 charset=windows-1252 编码的。事实上,这是从 Paypal 收到的
我已将 PayPal 集成到我的网站中,并使 IPN 系统成功运行。我现在遇到的问题是,除非 PayPal 电子邮件与他们在我网站上注册时使用的电子邮件相同,否则我不知道这个人是谁。 我想将自己的数据
我正在尝试在网站上使用 Paypal IPN。 付款有效并标记为“已完成”。 返回网址有效。 发送一封电子邮件通知付款已完成 但是 paypal 似乎不与 IPN 脚本对话。用 Wireshark 检
我正在使用 Micah Carrick 的 PHP Paypal IPN 集成类并且在 paypal.class.php 中有如下代码: function __construct() {
根据这个paypal document在我们使用 IPN 将消息发送回 Paypal 之后,我们返回:- 如果消息有效,PayPal 将发送一个单字消息,VERIFIED;否则,它将发送另一个单字消息
我遇到了 paypal IPN 的问题,当我使用 paypal 立即购买按钮时它总是无效,但是它与 IPN 模拟器完美配合。 我知道在 stackoverflow 上有很多关于此的问题和答案可以提供帮
我在使用“旧”PayPal IPN 代码时遇到问题。当我使用 PayPal IPN 模拟器时,我收到消息 IPN was sent and the handshake was verified. 但在
我刚刚将我的服务器移动到一个新主机,显然更改了我的 paypal ipn 页面的 DNS。 出于某种原因,paypal 大约每 30 秒一次又一次地访问我的页面,并进行相同的交易。 当然,它经过验证,
如果我从这里发送 IPN https://developer.paypal.com/developer/ipnSimulator/它工作正常。 如果我使用 PayPal 沙盒帐户和 PayPal 标准
我的 IPN URL 是 http://:85/它有一个自定义端口。这个 url 工作正常,但 paypal 总是在它的模拟器上给我错误,而不是在付款时调用我的 IPN。 什么会导致这个问题? 最佳答
如何在本地机器上使用即时支付通知模拟器? IPN 处理程序 URL 中将提供什么?我无法访问我们的路由器。 谢谢 最佳答案 您不能在本地主机上测试 IPN,因为 IPN 是关于 PayPal 服务器向
我有一个网站,其中使用 IPN 内置了一个简单的售票处。在过去的一个月里它一直在工作,我没有管它。我在同一个虚拟主机上的另一个支付网站上工作,这是我第一次指定“notification_url”。我注
我已经设置了订阅模块,但不确定 PayPal 发回我的 ipn.php 文件的内容。 想象一下: 我的网站 -> PayPal 支付(订阅) -> 支付成功 -> 流程 -> ipn.php ipn.
我已经在开发人员中设置了测试帐户 Business 和 Personal 以试用沙盒模式。 我在我的网站上设置了付款按钮。我单击按钮并转到 Paypal 。测试用户个人账户用于支付。当我查看 Payp
更新:(2/29/12) 好的,所以我在完全不同的服务器和托管公司上为不同的客户端再次遇到了同样的问题。 同样,只有 mail() 的脚本才能正确发送电子邮件,没有任何问题。然后我添加了与下面的代码类
我正在我的项目中实现 ipnlistner。我在我的 Paypal 帐户中设置了 ipn url。但我没有收到对该 url 的所有事务 ipn 响应。但是当我在我的帐户中检查 ipn 历史记录时,它显
我在 Paypal 沙盒环境中有“卖家账户”,我配置了用于监听来自 Paypal API 的 IPN 消息的 URL。我的 Web 服务器使用带有端口转发的动态 DNS。但是我在付款时无法从 Payp
我在用 Java 编写 IPN 接收器时想知道这个问题,它将用于自动处理 IPN,因为实际的软件是在 Java 中运行的。 IPN 处理器是我项目中的一个类,用于加快处理速度,避免在中间使用 PHP。
我是一名优秀的程序员,十分优秀!