问题标签 [paypal-nvp]

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.

0 投票
2 回答
1960 浏览

php - PayPal Sandbox Classic API Express Checkout NVP 内部服务器错误 (500)

快速总结

我正在使用 PHP 开发一个电子商务网站。它使用 PayPal 进行付款。从去年年底到现在,我已经成功地使用(从通过 SetExpressCheckout 发送请求字符串到 DoExpressCheckoutPayment 到 GetExpressCheckoutDetails 到将付款详细信息存储在 MySQL 数据库中)PayPal 的沙盒模式和他们的 Classic API Express Checkout (NVP)。直到昨晚一切正常,网站的 PayPal 部分没有发生重大变化。现在,我在每次付款请求时都会在https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=[TOKEN]收到“内部服务器错误” 。

演练

我所看到的

Paypal SetExpressCheckout 返回:

上面列出的链接中的 PayPal 沙盒错误消息:

为什么我找不到答案

  • 通用的“内部服务器错误”消息意味着我不知道从哪里开始寻找,因为我不确定问题是出在我身上(这将是我的默认假设)还是出在 PayPal 上。
  • 大多数解决方案都指向生产和沙盒 URL/API 凭据之间的不匹配。这不是问题。一段时间以来,我已经成功使用 Sandbox 凭据和 Sandbox 链接。
  • 我发现的所有 PayPal 内部服务器错误问题都适用于使用 REST API(或使用 IPN)的人。我正在使用 Classic-API 驱动的 Express Checkout,但没有看到任何返回的 debug_id 或我将如何获得它。
  • 过去的所有问题都可以通过查看返回的错误信息来解决(ACK=Failure&L_ERRORCODE0=['some error code']&L_SHORTMESSAGE0=['short error message']&L_LONGMESSAGE0=['detailed error message'])。这里没有错误消息,因为它注册为成功。
  • 我尝试更改 API 凭据并获得标准安全标头错误(然后我切换回来,错误消失并返回到重定向时的内部服务器错误)。
  • 我曾尝试修改请求字符串,但我相当有信心这不是问题,因为当我故意把它搞砸时,我会收到标准错误消息。
0 投票
1 回答
488 浏览

asp.net - 从 Paypal 网站返回后使用 Paypal 付款不起作用

我使用 Paypal 的付款方式不起作用。在用户带着他购买的商品的描述到达 Paypal 页面后,它被定向到我的网站,上面说付款成功

但是当我转到我的 PayPal 帐户时,我没有看到任何额外的钱

0 投票
1 回答
361 浏览

paypal - TransactionSearch和GetTransactionDetails获取的相关交易如何关联?

TL;DR- 我如何知道我是否真的通过 PayPal NVP API 获得了报酬?

更长的版本

我正在编写代码来自动处理和分类来自我们 PP 业务帐户的交易。我有调用 NVP 方法 TransactionSearch 和 GetTransactionDetails 的代码,并用返回的结果填充几个数据库表。对于前 24 小时的交易,每天都会发生这种情况。到现在为止还挺好。

我从假设通过 PayPal Web 界面通过手动 CSV 导出获得的相同信息可以通过 API 获得,但我现在发现不是这种情况,或者我应该进行另一个 API 调用获取我需要的其余信息。

特别是,GetTransactionDetails 似乎没有返回相当于 CSV 字段“Reference Txn ID”的内容,并且在某些情况下,我看不到如何连接相关事务。

所以,我的问题是如何获得参考交易 ID,或者我如何连接这些关联交易?

示例 1

这(可能)是需要参考事务 ID 的最常见的情况。

根据买家的资金来源,您可能会立即看到购买完成,或者如果交易必须清算,则在三个单独的交易中完成:

  • 原始付款,详细信息包括买家姓名、电子邮件、地址、发票号码、商品 ID、毛额、费用和净额等。
  • 随后立即扣除净额
  • 几天后,净额贷记。

匹配这三笔交易至关重要,因为除非您这样做,否则您不知道付款是成功还是被拒绝(因此您是否真的拿到了钱)。

在我目前可用的数据中,这种情况只有一个这样的例子,并且对结算交易的 GetTransactionDetails 调用完全失败(“无法加载交易”)——可能是因为,在那种情况下,我知道付款是由没有 PayPal 帐户的人使用信用卡支付的。

这可能是异常情况,也可能是常见情况。我在其他 PayPal 账户中经常看到这三笔交易,但不是这个,所以我不能确定。

示例 2

外币支付通常会产生三笔交易,就像示例 1 中一样:

  • 原始付款(例如欧元),其详细信息提供了发件人的姓名和电子邮件地址等;
  • 然后立即借记(可能是净)金额(欧元)</li>
  • 然后立即以美元计入贷方。

从 NVP API 的角度来看,GetTransactionDetails通常为原始付款返回标有 SETTLEAMT 和 SETTLEAMTCURRENCYCODE 的值。无需进一步处理。

但是,最近的此类交易(甚至 PayPal 都无法充分解释的原因)没有自动转换,即使在手动执行转换后,GetTransactionDetails 调用也缺少结算值。

交易都在那里——但我看不到任何将它们关联起来的编程方式,因为尝试在货币转换交易上调用 GetTransactionDetails 会返回错误“您无法获取此类交易的详细信息”

——</p>

有关自动处理 PayPal 交易的任何建议或经验?有没有办法以编程方式复制 CSV 导出中包含的相同数据?

如有必要,如果有某种方法可以以编程方式生成 CSV 导出,我会很乐意处理它,但我什至不知道有什么方法可以做到这一点(缺少一个充满陷阱的 Selenium 驱动的解决方案)。

0 投票
2 回答
450 浏览

paypal - 通过 PayPal RefundTransaction NVP API 发出部分退款后,IPN 监听器仅显示付款状态为“已退款”,而不是“Partially_Refunded”

RefundTransaction当我使用API 操作在我的网站上发出部分退款时,退款已成功处理。但是,我的 IPN 侦听器不断收到仅Refunded针对此交易的付款状态。我不确定为什么不是Partially_Refunded

我已经使用 PayPal 的 IPN 模拟器测试了部分退款,并且我的 IPN 监听器Partially_Refunded在这些测试期间每次都会返回。

这是我的 IPN 侦听器文件的开头:

以及将部分退款数据发布到 PayPal 的功能:

最后,当用户发起部分退款时,调用上述函数的页面代码:

由于我的客户需要能够在网站上处理部分退款,因此我们将不胜感激任何朝着正确方向提出的建议或推动。我搜索了 Stackoverflow 和 Google 以获取更多信息,但无济于事。谢谢。

0 投票
1 回答
94 浏览

paypal - PayPal 自适应付款错误:凭据不正确

我正在 iOS 应用程序中实施 PayPal 付款。我需要将钱从客户转移到商家帐户,因此我使用旧的 MPL SDK 和自适应支付。所有作品。现在我需要在服务器端验证付款。为此,我使用PaymentDetailsAPI 方法(API 参考)。但它总是返回一个错误:

我在http://www.paypal-apps.com上创建了一个应用程序,并在我的 PayPal 个人资料中请求了 API 凭据。我已经尝试过使用高级帐户和商业帐户。但仍然没有结果。

0 投票
1 回答
341 浏览

paypal - 新的 Express Checkout 布局是否删除了对“卖家备注”(和 PAYMENTREQUEST_n_NOTETEXT)的支持?

我一直在我的一个项目中测试 PayPal Express Checkout,当我PAYMENTREQUEST_n_NOTETEXT在 NVP 请求中填充参数时,它在 PayPal 沙箱上运行良好,几个月前在实时 PayPal 网站上运行良好。

然而,在我最新一轮的测试中,它似乎不再在实时站点上工作,尽管沙盒仍然可以正常工作。

比较沙盒和现场的这些屏幕截图:

沙盒

贝宝沙盒

居住

贝宝直播

如您所见,在沙盒网站上,“给卖家的说明”填充了文本“测试说明”,当付款完成时,该文本会传递给卖家。

但是,在实时网站上,任何地方都看不到“给卖家的备注”,付款完成后也没有任何备注传递给卖家。

我尝试向ALLOWNOTE=1请求中添加参数。我尝试使用最新的 API 版本(撰写本文时为 124.0)。我查看了 API 版本历史,看不到任何相关更改。

鉴于沙盒和实时站点之间的 UI 现在完全不同,我想知道是否存在一些可能导致这种情况的未记录更改?

是否可以再给卖家备注?

0 投票
0 回答
183 浏览

paypal-nvp - Paypal Invoice SDK 服务调用 + 快速结帐 + 重复付款问题

您好,我已经使用自适应方法 (NVP) 调用实施了 Paypal 发票、快速结帐和定期付款服务。它在我的本地系统上使用沙盒帐户运行良好,但在开发服务器上运行良好,并且在我根据请求调用贝宝服务的任何地方都面临问题。

代码

例外

请有人帮我解决这个问题或建议这背后的原因是什么,因为它在本地运行良好,但在开发/生产服务器上却不行。

在快速结帐和定期付款方式的情况下,我也面临同样的问题,如下所示:

提前致谢。

0 投票
1 回答
258 浏览

paypal - paypal-apps.com 不工作?

也许有人知道错误的原因是什么?我正在尝试继续激活您的 NVP / SOAP API 应用程序,但服务器响应错误。有人知道发生了什么吗?在此处输入图像描述

0 投票
3 回答
610 浏览

paypal-nvp - GetTransactionDetails 的 PayPal API NVP 响应缺少订阅 ID

在过去的几年里,我为我的 SaaS 应用程序编写了多份审计报告。大多数逻辑使用 PayPal API 获取完整的交易列表(使用 TransactionSearch),然后为每笔交易获取详细信息(使用 GetTransactionDetails)。

目的是将我收到的定期付款的数据库记录与最新的 PayPal 数据对齐,以确保我没有错过 IPN 或任何东西。

直到大约一个月前,这一切都很好。

最近,大多数交易都缺少订阅 ID。

过去,订阅 ID 包含在“SUBSCRIPTIONID”NVP 字段中。所有交易都不再存在此信息,并且我没有看到返回的任何其他包含订阅 ID 的字段。所有其他领域似乎都在那里,所以我知道我的电话正在工作。只是 NVP 响应缺少订阅 ID。我还验证了订阅 ID 包含在为相同交易发送的 IPN 中。

我的代码使用的是较旧的 API 版本 (108.0)。现在理论上,PayPal 永远不会改变 API 的工作方式,所以我很困惑为什么结果不再是一个月前使用相同代码库时的结果。

我尝试了最新的 API 版本 (124.0),它为超过 108 笔交易提供订阅 ID,但也不是全部。

我完全被难住了。有没有人有任何线索?

我不想要求 PayPal 支持,因为需要 3 周才能得到任何帮助 :-)

0 投票
0 回答
79 浏览

php - PayPal NVP 退款能否在退款电子邮件中显示已退款的行项目?

我正在使用PayPal NVP's RefundTransaction电话执行退款,我希望PayPal发送的退款确认电子邮件显示已退款的行项目。

目前,退款确认电子邮件仅显示原始订单行项目,如以下缩短的电子邮件:


测试辅导员的测试商店刚刚向您发送了退款

2016 年 4 月 5 日 20:49:50 PDT | 交易编号:

亲爱的测试买家,

测试辅导员的测试商店刚刚向您发送了 0.50 澳元的部分退款,用于支付您的购买费用。...

原始交易明细

付款详情

此致, 贝宝


但是, RefundTransaction 的文档似乎表明我可以传递其他参数,例如L_INVOICEITEMNAMEn and L_PRICEn,但它们似乎没有任何效果。

退款是否可以PayPal NVP在退款电子邮件中显示已退款的行项目,如果可以,如何实现?