使用 Paypal 用户名、密码和签名访问 REST API

Posted

技术标签:

【中文标题】使用 Paypal 用户名、密码和签名访问 REST API【英文标题】:Accessing REST API using Paypal username, password, and signature 【发布时间】:2015-03-13 14:06:44 【问题描述】:

我对 PayPal API 还很陌生,对使用 API 签名附加到 REST API 有点困惑。我正在创建购物车软件,我想允许使用该软件的商家使用他们的 API 使用 PayPal 用户名、密码和签名将系统附加到他们的 PayPal 帐户。他们会在设置购物车时将此信息输入到帐户设置中。

在商家方面,这似乎很容易实现,并表示这样做是为了专门授予对购物车的 API 访问权限: htttps://paypal.com/us/cgi-bin/webscr?cmd=_profile-api-access(以商家身份登录后)。

我个人使用 php 来调用 CURL,尽管这可能并不重要。我不明白的是,在 REST API 文档中,包括“make your first call”文档,它指出我应该发送我的“clientid”和“secret”,而不是商家的“username”、“password”和“签名”。

https://developer.paypal.com/docs/integration/direct/make-your-first-call/

现在,当我最初以开发人员身份登录时,我能够获取我的“clientid”和“secret”,但那是针对我的应用程序的。我已经使用 PayPal 的测试页面成功地与他们进行了测试通话。但这些当然似乎是为我准备的,而不是为特定的客户准备的。

现在“Classic API”文档确实包含有关使用商家信息连接到沙盒的信息。

https://developer.paypal.com/docs/classic/permissions-service/ht_permissions-invoice/

所以我认为我只是在精神上遗漏了一些东西,或者误解了一些基本的东西。假设我同时拥有开发人员凭据和商家的 API 凭据,那么向商家(不是我)付款的一般步骤是什么。我缺少什么合乎逻辑的步骤?

非常感谢任何可以提供帮助的人。

【问题讨论】:

【参考方案1】:

除非经过 Paypal 人员的纠正,否则这似乎就是流程(刚刚经历过):

请商家将您添加为用户,我想具有 API 访问权限(仅限)

他们会设置您的用户 ID 和密码,然后他们应该提供给您。

然后,您将使用该User Id(不是电子邮件地址)登录到 Paypal(此时,您是该商家/帐户的“用户”),并拥有您的商家为您提供的任何特权。

在开发者网站中为您的商家创建应用 - 您会注意到,当您到达那里时,显示的是商家的名称(它不是“您的”开发者帐户)

此时您应该已设置好(来自您创建的应用程序的商家的沙盒和实时 REST 凭据)。我注意到的一件事(好)是它已经在一定程度上帮助您了解该帐户具有哪些“实时特权”......因此它有助于指导您整合(范围)和/或建议您的商家做什么 - 例如。可能有也可能没有资格使用信用卡直接付款(仅限 Paypal 帐户付款)。

第..

【讨论】:

谢谢 Ed,可能是这样,尽管这一切都必须使用自动购物车软件完成,这似乎很奇怪。该软件必须为每个客户手动完成所有这些事情。另外,商家的“API 访问”页面没有提及这一点:paypal.com/us/cgi-bin/webscr?cmd=_profile-api-access @user1607985 好吧,上面的流程实际上只是为了保护您的商家免受所有技术复杂性的影响。否则,他们可以只为您提供他们的 App REST 凭据(也许您可以在其中提供这些凭据的管理 UI)。我知道你在说什么,“老派”的方式似乎相对简单——商家可以简单地查看他们帐户的 API 部分和/或授予 api 访问权限......尽管我完全忘记了后一个流程是如何工作的: ) 感谢@EdSF,我可能只需要使用您提到的经典 API。我们会看看是否有任何 PP 人回应。 这就是答案。请在下面查看我添加的答案。【参考方案2】:

@EdSF 和其他调查此事的人,我刚刚收到 PayPal 商家帮助的回复。原来你在 Ed 上。他们没有为 REST 做好准备。考虑到他们 1.) 在他们的开发者网站上推送 REST 但 2.) 表明签名集是如何连接到商家端的购物车,这似乎很奇怪。

所以答案是现在使用旧 API,或者让他们完成您/他们提到的额外步骤,而不是按照 PayPay 网站上的说明进行操作:-P 哦,好吧。他们的完整回应如下。


你好……

我写这封电子邮件是关于您对 PayPal Permission Service 的问题。不幸的是,权限服务在 REST API 中不可用;但是,我将向我们的开发团队提出功能请求,以供他们进一步考虑。

不能在 REST API 中使用 API 用户名、密码和签名,因为它们实际上不是正确的凭据。 REST API 使用客户端 ID 和密钥进行集成。如果您为其他商家开发应用程序,您可以通过在 PayPal Developer Portal (https://developer.paypal.com) 中创建应用程序来要求他们获取 Client ID 和 Secret。以下是步骤: 1) 前往http://developer.paypal.com并使用PayPal账户登录网站 2) 点击“仪表板” 3) 在我的 REST 应用程序页面中,单击“创建应用程序” 4) 输入应用名称,然后点击“创建应用” 5) 您应该能够看到“沙盒凭据”的“客户端 ID”和“秘密”。如果您想与您的真实帐户集成,请点击“实时凭据”部分的“显示”。

希望以上信息对您有所帮助。谢谢。

真诚地, ... 商家技术支持 贝宝,eBay 公司

【讨论】:

您好,首先感谢您的帮助。 REST API 中仍然不能使用 API 用户名、密码和签名吗?

以上是关于使用 Paypal 用户名、密码和签名访问 REST API的主要内容,如果未能解决你的问题,请参考以下文章

无效的用户凭据 Paypal Sandbox 测试帐户

Paypal SOLUTIONTYPE=Sole 不适用于定期付款

Paypal API 安全标头错误

第三方许可用户名Paypal API Magento

Magento,贝宝:状态待定

活跃的 Merchat Paypal 访问令牌?