对PayPal REST API,NVP和授予权限感到困惑



我对PayPal API及其工作顺序以及REST和NVP之间的关系有些困惑。

我的要求是访问客户PayPal帐户,查找销售并为其履行退款。我不希望他们每次登录,但我不希望他们必须登录自己的贝宝帐户并使用复杂的API凭据部分来授予我的应用程序权利 - 对于普通用户来说,这太复杂了。

我想做的是将它们转发到他们签署的PayPal页面上,这使我无限期地访问了他们的PayPal帐户。

我已经实现了身份例程(https://developer.paypal.com/docs/api/indistity/),这使我获得了可再生的Refresh_token和access_token,但是我已经意识到这只会使我允许我访问访问基本的个人资料信息(我认为?!)是无效范围的电话/退款失败。

我不明白的是,为什么PayPal的REST API具有出售/退款的文档/v1/payments/payments/sale/sale/sale_id/退款,但是当我尝试将其与身份例程中的Access_token一起使用时,它会告诉我我没有正确的范围。似乎用户每次都必须通过重定向授权此授权?!

我还找到了"经典"权限API,它似乎让我做我想做的事(https://developer.paypal.com/docs/classic/permissions/permissions-service/integration/integration-guide/permissionsionsabout/)但是,它似乎使用了经典的NVP PayPal方法。我希望能够使用休息并保持现代。

许可部分确实提到了一种称为" getAccessToken"的方法(https://developer.paypal.com/docs/classic/classic/api/permissions/getacccestoken_api_operation/)似乎可以返回访问权限 - 可以返回访问权限 - 然后可以使用此访问权限在需要Access_Token的REST API中使用(授权:携带者访问权限')

我是否使用NVP许可(https://svcs.paypal.com/permissions/requestpermissions)通过登录来授予自己访问权限,然后使用经典贝宝(Classic Paypal)中的getAccesstoken来为自己求助于REST APIS吗?!/p>

有人会给我一个概述以实现这一目标吗?授予我的申请权限,然后对销售进行退款(最好使用REST API)。

谢谢!

休息将是不可能的 - 没有REST API可以从帐户中提取事务列表,因此它无法使用它需要它的工作。

权限服务将是获得客户帐户权限的适当途径。您需要确保要求使用TRANSACTION_SEARCHTRANSACTION_DETAILSREFUND权限,以提供您描述的功能。

由于权限服务较老,并且早于REST API,因此权限服务返回的访问令牌与REST API使用的访问令牌不同。实际上,它更接近OAuth1实现(尽管不是完全完全)。商人SDK具有其中内置的必要方法来获取令牌和令牌秘密(您将从许可服务中返回),并将其转变为代表客户的PayPal帐户运行电话所需的必要标题。

最新更新