问题标签 [paypal-pdt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
paypal - Paypal 中的 IPN 与 PDT
我在 PayPal 的即时付款通知 (IPN) 和付款数据传输 (PDT) 之间进行选择时遇到了一些问题。
基本上,用户在我的网站上购买一次性产品,在 PayPal 上付款,然后返回我的网站。我了解 IPN 的工作原理,但我现在看到我可能能够使用 PDT 更轻松地触发成功购买后发生的各种操作,因为数据会在那里返回(而不是需要单独的侦听器) .
然而,PayPal 的 PDT 文档中包含这样一条神秘的语句:“PDT 不适用于信用卡或 Express Checkout 交易。” ...但我在这个话题上找不到任何进一步的东西。
信用卡真的不适合与 PDT 一起使用吗?我想多说一句。
这是否意味着用户必须拥有/创建一个 PayPal 帐户才能付款?
这是否意味着如果我想允许用户直接使用他们的 PayPal 账户和/或信用卡支付,我必须实施 IPN?
经历过这种情况的任何人都可以提供一些启示吗?
php - Paypal PDT 脚本无法使用 cURL
我似乎无法让这个 PayPal PDT 脚本工作。贝宝点击返回 URL,但随后我看到一个空白屏幕,没有任何反应。任何人都可以看到不正确的地方吗?这是我的代码:
URL 字符串显示最初返回的必要信息(事务 ID 等)是正确的,但我不知道它是否实际被使用,只是简单地使用 wordpress 重定向失败,或者它是否事先在某个时间点失败。
php - Paypal PDT 交易 ID 有效期
当我尝试使用交易 ID 检索付款信息时,我从 paypal PDT 收到错误 4003。虽然我这里有一个类似的线程:Paypal PDT error 4003
我相信答案是因为我的交易 ID 已过期。但是,我找不到任何有关事务 ID 将过期多长时间的信息。
p/s:用户从贝宝返回后,我的系统能够完美地检索 PDT 信息。
paypal - PayPal 连接 - PDT 的间歇性问题
在过去的 6 天里(自 2014 年 5 月 21 日起),我们的 PDT 调用出现间歇性问题 - 导致 PayPal 服务器出现 (403) Forbidden 或 (503) Server Unavailable 错误代码。
我们正在获得 IPN,但不幸的是,当用户在我们获得 IPN 之前返回站点时,这给我们带来了真正的问题,并且在他们看来,他们的付款好像失败了,这对他们不利。
是否有其他人遇到过此类问题,如果有,是否有人知道它是否被标记为要修复?
提前致谢
弥敦道
jsp - 无法在 paypal 中配置 PDT 或 IPN
我正在用 java 做一个 web 应用程序,我想使用 paypal api。我的应用程序正在我的机器(在 localhost 中)由 apache non in internet 运行。我在 paypal.developper 中创建了一个帐户,例如 myproject@gmail.com 。我创建了一些沙盒帐户(买家:buyer@gmail.com,和业务卖家 myproject-facilitator@gmail.com),我已经运行了一些测试,一切正常。
我的问题是:我无法配置 PDT(付款数据传输)或 IPN(即时付款通知)。
我去了我的贝宝个人资料-销售工具-网站偏好。我点击自动返回:ON,PDT:ON,然后在返回 url:http://127.0.0.1/myproject/prenotationIsDone.jsp
我保存它,它显示我的身份令牌。
现在,当我运行一些测试时,它甚至不会自动返回,它会像我在沙盒账户上进行测试一样进行付款:
我做这样的事情:
即使我将电子邮件更改为沙箱业务电子邮件:myproject-facilitator@gmail.com 也将是相同的。它只是在没有自动退货和使用 PDT 的情况下进行付款。
在 jsp 文件中,我将有一些这样的行:
当然没有像 tx 这样的参数,因为 PDT 不起作用。知道如何解决这个问题吗?
第二个问题:我已经看到IPN(和PDT,但我不确定PDT)在本地服务器中不起作用,因为它需要在网络外部看到。我怎样才能解决这个问题 ?我尝试了这些步骤,但我想我做错了什么:首先我将 apache 的端口从默认的 8080 更改为端口 80。我在 NAT 中转到路由器,然后在外部 ip 中将端口转发到端口 80 (中的那个www.whatismyip.com
)。例如它将是: 198.122.141.2 现在,当我在浏览器中尝试 198.122.141.2:80/myproject/index.jsp 时,它什么也没有显示,或者它说找不到对象。即便如此,我尝试设置一个动态 ip、dydns 或 noip,它会是 myproject.ns0.it/myproject/index.jsp 并且它不显示任何内容。
请有人可以帮助我如何解决这个问题,或者有没有其他方法可以在我的本地服务器中验证贝宝的付款。谢谢你的时间,对不起我的英语
paypal - Paypal PDT 和 Google Analytics 电子商务集成
试图定义具体的逻辑和编码要求需要交给开发团队来实现。整个过程涉及消费者来到网站,购买产品,被引导到 PayPal,然后自动返回到收据页面,该页面收集价值并将它们传递到谷歌服务器,以作为成功交易进行跟踪。我引用了两个代码项目解决方案:
- http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers
- http://www.codeproject.com/Articles/493455/Server-side-Google-Analytics-Transactions
是否有必要在 C#.net 环境中同时使用 PayPal PDT 和 Google Analytics 电子商务跟踪来正确地从 PayPal 收集信息并在 GA 中触发交易?
此外,如果需要同时使用这两种解决方案,是否只能实现解决方案的 PDT 部分,或者是否需要实现整个源代码并且只根据需要更改 PDT 和配置文件。
c# - C# 中的 Google Analytics(分析)电子商务跟踪
与第 3 方开发人员合作,结合 Paypal 实施 Google Analytics(分析)服务器端电子商务跟踪。参考代码项目(http://www.codeproject.com/Articles/493455/Server-side-Google-Analytics-Transactions)上的源代码,我们在暂存时实现了以下谷歌分析代码,但它没有触发任何事务:
我们还实施了 Paypal PDT 以接收交易信息,目前运行正常。以下是我们在 PDTResponse 成功时调用的内容。
对此的任何帮助将不胜感激,因为我被困在接下来要做什么以从 Paypal 接收信息并将其发送到 Google Analytics 服务器。
paypal - Paypal Sandbox - 次要的,不太明显的使用规则(如果有的话),它们是什么?
我的网站运行良好,没有问题,在实时 Paypal 模式下使用真钱和真实的 paypal 帐户,所以我知道我的听众工作,但尽管尝试了所有选项(而且有很多)我发现,我无法获得沙箱完全可以工作,根据需要进行彻底测试。例如,我想现场测试电子支票和许多我不熟悉的其他选项。
对于沙箱,我们被告知将发布地址更改为 sandbox.paypal.com .... 但即使这在 Paypal 文档中也有点模糊,尽管我假设并在我提交的所有网站表单中更改了它,我的IPN 处理程序和我用于 PDT 处理的返回页面。
然后我们被再次模糊地告知创建开发帐户。我已经做到了,一个买家和一个卖家,都经过验证。
然后我们被告知,在其他地方,也许,当你在沙盒中测试你的页面时,有必要“登录”到你的开发帐户,尽管我仍然不清楚这是否是绝对必要的,并且顺便说一句又是模糊的,因为它是可以使用您的正常业务登录并通过 Paypal Developer 站点进入开发页面,而无需专门登录您创建的沙盒帐户之一(这是一个单独的登录)。但我主要假设您需要在特定的沙盒创建的帐户,与您的普通贝宝帐户分开登录,但也许它只是需要我的普通贝宝登录的开发页面?无论如何似乎都没有工作。
那么你有问题(如果它是一个问题 - 我只是不知道) - 如果你在测试将表单发送到 sandbox.paypal 时必须登录到创建的沙盒帐户,哪个?当paypal付款页面出现在您的网站上时,您支付的那个,设置为卖家帐户的那个,在您的输入表单中被称为您的“业务”的那个?这一切有什么要求吗?然后,哪个帐户需要在我的表单上作为我的“业务” - 我的真实或我的测试卖家,我在测试时登录沙盒的哪个帐户以及我使用哪个帐户购买,因为如果我从我的沙盒购买购买帐户,如果我使用销售帐户或我的真实帐户登录沙盒,它将更改我的贝宝会话。
我什至不知道这些登录问题中的任何一个是否是问题 - 它们只是看起来像问题,因为我无法让沙箱工作并且我已经多次尝试每种组合。
我还看到您可能需要在提交的表单中输入 type="hidden" name="test_ipn" value="1" ,所以再一次,这意味着在有和没有的情况下测试每种可能性。
然后有人说它只适用于某些端口,例如 80 或 443,而不适用于其他端口,因此您使用 test_ipn 选项和端口选项测试每个登录组合......沙盒仍然没有。
那么,有谁知道 - 除了将发布地址(我假设所有这些 - 您的表格和您的处理程序)更改为https://www.sandbox.paypal.com/cgi-之外,是否需要遵循任何规则bin/webscr ...等
我正在考虑有关需要登录沙盒帐户的规则,因此,在测试表单时,您应该在沙盒上登录哪个帐户(如果有)(显然它应该是卖家帐户,但这会产生冲突然后当我在我的贝宝表单上以买家身份登录时),您从哪一个购买,哪一个在表单上被声明为您的业务,记住一个可能会覆盖另一个的会话(并且使用所有相同的没有' t 为我工作。)是否需要特定的端口?我们是否必须在表单中使用 test_ipn 字段,或者是否有任何其他我忽略了 Paypal 没有正确解释的要求,因为这只是让我发疯,而 Paypal 文档确实不适合目的。
ssl - PayPal PDT SSL 连接挂断在我的插件域上
在我的 PayPalautoReturn
页面上,使用已知可工作的PHP脚本来适应支付数据传输,无论我做什么,我都会不断收到以下错误消息:"Warning: fgets(): SSL: Connection reset by peer...*(on the line where this is: '$line = fgets($fp, 1024);'* "
在我问我的问题之前,我只想说我已经尝试了这里以及我被建议阅读的任何其他论坛或文章中建议的所有内容,例如更改HTTP 1.0
为HTTP 1.1
、使用$res=stream_get_contents($fp, 1024)
而不是while loop
with$line = fgets($fp, 1024)
等,等等。我的问题仍然存在。
这就是我认为可能存在的问题(我希望有人能告诉我我是否走在正确的轨道上):我的 PDT 自动退货页面位于附加网站上,我认为 PayPal 挂了当无法识别共享 SSL(对于我在共享服务器上的主域)时。所以我已经要求我的网络主机专门为我的附加域安装 SSL。
附加域 SSL 可能是我发出警告消息的原因吗?同样,该消息是:"Warning: fgets(): SSL: Connection reset by peer...*(on the line where this is: '$line = fgets($fp, 1024);'* "
这是我的代码:
paypal - Paypal PDT 仅返回“失败”
因为我没有让这段代码工作,老实说我不知道,为什么,也许你们中的一个可以给我一些建议?我得到的唯一值是“失败”
到目前为止我已经尝试过:
- 身份令牌绝对正确
- $tx 有一个值
- $tx 没有被使用超过 5 次
这是我的代码:
我使用 curl 因为我发现的任何其他片段都没有返回任何内容。