我对2016-2017商人安全路线图有疑问。我一直在运行一个使用PayPal多年来的网站,并希望符合IPN验证后返还HTTPS要求。我担心我在这里收到的任何答案都不是PayPal代表的官方答案,但看来我别无选择,因为PayPal支持页面的"问我们的社区"链接点在这里。
从我能理解的IPN验证后返还到HTTPS要求的内容中,它唯一将我的网站的帖子 Back 转到PayPal站点以验证任何传入的IPN。但是,该文档令人困惑,因为它是指我在代码中从未使用过的某些URL,即 ipnpb.paypal.com and ipnpb.sandbox.paypal.paypal.com 。/p>
我希望有人可以为我回答这些问题:
1)我的代码帖子回到 https://www.sandbox.paypal.com/cgi-bin/webscr 用于沙盒或 https://www.paypal.com/CGI-BIN/WEBSCR 用于生产操作。这些贝宝端点要继续工作还是我必须更改它们?
2)如果您将301或302重定向到传入的IPN请求,PayPal网关是否会遵循重定向并将IPN重新定位到新URL?贝宝(PayPal
3)如果我修改IPN处理URL以发送400不良请求(如果没有任何不安全(即非HTTPS)请求)该怎么办?PayPal系统会采取任何行动,还是会丢失通知,因为我拒绝回复该通知?
4)鉴于PayPal似乎为每次交易/重复付款/订阅存储IPN URL,如果PayPal系统为我的旧事务指定了IPN通知的非HTTPS链接,那么PayPal系统将如何处理我的旧事务?PayPal会将其切换到HTTPS吗?订阅/交易/什么都将取消?如果我们想遵守,这似乎是非常重要的信息。
编辑:我将再添加两个:
5)PayPal是否提供了在我的帐户上尝试使用的API请求的日志,以便我可以检查是否有任何用途而不是发布?
6)PayPal是否有任何UI或界面,我可以在其中获取可能为我的系统生成IPN的操作列表,以便我可以检查IPN URL?我的网站在我们的网站上使用了3-5个不同的URL进行IPN报告,我们仍然会在其中一些IPN中介绍IPN。很高兴看到我们是否可以退休一些旧的IPN脚本,还使用了HTTPS或HTTP的检查。
绝对是非正式的,但是由于指令实际上是在一年前发布的(并修改为延迟实施到2017年),因此仅分享了早期实施的经验 - 我错过了扩展通知:)P>
-
底线: TLS 1.2 for all 安全通信(绑定)PayPal
PayPal正在升级用于保护所有外部连接的协议> 我们的系统。
如果您完成此操作(如果您支持大量旧资源可能会很困难),那么就安全路线图而言,您应该是"好"的。
强调 to 是我的,因为他们不提到贝宝(PayPal)通信您的资源(相反,
Paypal -> your site
)。但是,恕我直言,我作为一个电子商务应用程序,并经过实施事物的努力,我很难找到一个理由,以免在您的任何/所有/所有电子商务/付款相关的流量(redirecturl
,cancelurl
等)中实施它的基本原理。/p>
您可以如下所述验证/测试设置 - 包括有关重定向,错误代码的问题。尽管IINM,PayPal文档包括有关如何正确响应IPN消息(或其任何API的任何API)的协议,以及失败协议(例如重试机制)
您的最后一个问题(订阅)最好由PayPal回答。我对此事的看法返回到"底线" - 全面实现HTTPS/TLS 1.2。
hth ..
update
完全无法解决301/302重定向。它似乎确实解决了如果我发送400响应可能会发生什么。听起来这将导致PayPal重试IPN高达15次
-
所有API都有协议用于使用。IPN状态的官方协议:
After receiving the IPN message from PayPal, your listener returns an empty HTTP 200 response to PayPal. Otherwise, PayPal resends the IPN message.
如果要 test "否则"(re:如果30x/40x或除空的
200
),那么您可以 - 但该协议已记录。注意:
https://ipnpb.x.x
端点也记录在此处 -
就端点URL而言 - 安全升级约为HTTP 1.1和TLS。这些文档包括您提到的 base URL(有关何时准备测试的日期,以及何时执行生产限制) - re:因此,在http 1.1/tls 1.2的上下文中资源(完整路径-
[baseurl]/some/resource/endpoint
)在安全更新中涵盖。我不为贝宝(Paypal)工作,也不要求掌握其所有API。我会研究您正在使用的特定API,并检查API级别的更改 - re:endpoints/resources/fields等(如果有)(
ipnpb
资源是某些API级别更改/更新的示例)。