【发布时间】:2016-06-27 05:12:18
【问题描述】:
我正在尝试使用 PayPal 的 ruby gem 来完成这样的简单任务:
1 - 用户使用 PayPal OAuth 登录我的应用程序。
2 - 用户授权我的应用访问他的帐户。
3 - 我的应用发出一个简单请求,列出该用户的 10 笔交易。
我正在按照官方 PayPal 的 github 存储库 (https://github.com/paypal/PayPal-Ruby-SDK) 的说明进行操作
require 'paypal-sdk-rest'
include PayPal::SDK::REST
include PayPal::SDK::OpenIDConnect
# Update client_id, client_secret and redirect_uri
PayPal::SDK.configure({
:openid_client_id => "client_id",
:openid_client_secret => "client_secret",
:openid_redirect_uri => "http://google.com"
})
# Generate URL to Get Authorize code
puts Tokeninfo.authorize_url( :scope => "openid profile" )
# Create tokeninfo by using AuthorizeCode from redirect_uri
tokeninfo = Tokeninfo.create("Replace with Authorize Code received on redirect_uri")
puts tokeninfo.to_hash
# Refresh tokeninfo object
tokeninfo = tokeninfo.refresh
puts tokeninfo.to_hash
在这个简单的设置代码之后,我试图获取用户的交易,但我不能只使用如下代码的支付实体来做到这一点:
Payment.all(count: 10)
返回错误:
PayPal::SDK::Core::Exceptions::UnauthorizedAccess: Failed. Response code = 401. Response message = Unauthorized. Response debug ID = 409003e14dd9a, 409003e14dd9a.
那么,如何在我的应用中验证用户身份,然后使用他的令牌进行 API 操作?
【问题讨论】:
-
你确定 paypal API 支持这个吗?可以试试问他们。
标签: ruby paypal rubygems paypal-sandbox paypal-rest-sdk