使用 Paypal REST API 进行未经授权的访问

Posted

技术标签:

【中文标题】使用 Paypal REST API 进行未经授权的访问【英文标题】:Unauthorized Access with Paypal REST API 【发布时间】:2014-05-09 14:59:53 【问题描述】:

在开发/本地主机环境中一切正常。

部署到 heroku 时,在新应用上使用沙盒/测试凭据,并创建新的付款方式

A PayPal::SDK::Core::Exceptions::UnauthorizedAccess occurred in orders#create:

  Failed.  Response code = 401.  Response message = Unauthorized.

同样,一切都在开发环境中工作

我应该允许任何特定的域(如 Facebook 集成)吗?

【问题讨论】:

您确定您没有针对 PayPal 的生产服务器运行吗?请参阅developer.paypal.com/docs/classic/lifecycle/goingLive 的第 3 点 也许您没有为不同的环境正确设置凭据?另一个问题可能是您使用ENV 变量发送到PayPal API,这些将随着您的环境而改变 您解决过您的问题吗?我在尝试访问付款时遇到了类似的结果。 我的结论是延迟接受新凭据,因为经过大量的咒骂和愤怒后问题自行解决了 【参考方案1】:

如果您在公共服务器上运行 Rails 应用程序,则很有可能将 Rails 环境设置为“生产”。

如果您进一步使用Paypal API SDK的标准生成器生成的config/initializers/paypal.rbconfig/paypal.yml,那么:

初始化器loads configuration for the current Rails environment,即“生产” 在生产配置中one important line 假定您希望在实时 API 上运行

因此,您很可能在不知情的情况下尝试与实时 API 进行通信。将线路更改为mode: sandbox 应该会让您开心。

【讨论】:

【参考方案2】:

我遇到了这个问题,我打电话给 Paypal。这是我帐户中的配置问题。 为了解决我去https://developer.paypal.com,登录,然后点击Dashboard然后点击my account(左)Direct credit cards有一个它旁边的灰色 x,因此您必须单击它旁边的链接,上面写着 启用实时凭据 完成此操作后,您必须回答一些验证问题,然后他们会批准您的帐户,然后是您的实时和未经授权的错误消失了。

【讨论】:

以上是关于使用 Paypal REST API 进行未经授权的访问的主要内容,如果未能解决你的问题,请参考以下文章

401- 使用 REST API Dynamics CRM 和 Azure AD 进行未经授权的身份验证

远程服务器返回错误:(401) Unauthorized。使用 Paypal Rest APi 时

Cosmos db Rest API - 错误 401 未经授权

尝试使用 REST API 公开对象时出现“拒绝访问。提供的范围未经授权”错误

如何发布访问 REST api 的 jQuery 代码,但保护它免受未经授权的使用

Phonegap错误:401未经授权 - 在Phonegap中使用基本身份验证的Rest API