具有 Paypal 权限和 Paypal Express Checkout 的 Rails
Posted
技术标签:
【中文标题】具有 Paypal 权限和 Paypal Express Checkout 的 Rails【英文标题】:Rails with Paypal Permissions and Paypal Express Checkout 【发布时间】:2015-12-11 05:16:39 【问题描述】:我正在构建一个应用程序,用户可以在其中通过 Paypal Permissions SDK (https://github.com/paypal/permissions-sdk-ruby) 连接他们自己的 Paypal 帐户。我能够成功地获得用户的许可,并且能够存储从 Paypal Permissions SDK 返回的令牌。现在,我正在使用以下 gem 进行 Express Checkout (https://github.com/nov/paypal-express)。但是代表用户的 Paypal Express Checkout 文档并不清楚我们应该如何使用令牌来调用 Express Checkout。
我有以下代码
@api = PayPal::SDK::Permissions::API.new(
token: @credential.paypal_access_token,
token_secret: @credential.paypal_secret_token
)
@credential 是我存储在数据库中的对象,该对象具有来自 Paypal Permissions SDK 的令牌。
现在获取后,我可以使用@api 对象获取Paypal 用户名、密码和签名
request = Paypal::Express::Request.new(
:username => @api.config.username,
:password => @api.config.password,
:signature => @api.config.signature
)
现在,我的问题是钱没有直接转到用户的 paypal 帐户,而是转到了我们的帐户(我们创建了一个帐户,以便我们可以在 Paypal 的 Classic API 部分中创建一个应用程序)。
有人可以帮助我吗?或指出正确的方向?
【问题讨论】:
【参考方案1】:在为其他账户调用API时,需要添加参数“subject”来表示你调用API的账户。 “主题”的值可以是帐户主电子邮件地址或付款人 ID。然后这笔钱将进入主题价值的账户。
【讨论】:
您好,感谢您的回复。我还是有点迷茫。我正在尝试阅读贝宝文档,但我只看到 NVP api 中的主题字段。这是我应该使用的而不是 express checkout api 吗? 你是对的,主题字段只在nvp和soap基础文档中提到,因为它是经典api的基础用法。这是您在代表另一个帐户调用任何经典 API(包括快速结帐 API)时需要与您的 API 凭据一起使用的字段。 谢谢!您的指导对我帮助很大。 供参考 - NVP 和subject
字段可以在这里找到 developer.paypal.com/docs/classic/api/NVPAPIOverview【参考方案2】:
易辉给出了正确的答案。但我想在这里解释/发布我为解决问题所做的工作(使用 Yihui 的指导)。
您需要从 Paypal 的 3rd Party Permissions SDK 获取付款人 ID。因此,您需要询问以下“ACCESS_BASIC_PERSONAL_DATA”、“EXPRESS_CHECKOUT”和“REFUND”。
然后您将需要使用 paypal 的 NVP(Name Value Pair)SDK 代表另一方/商家执行 Express Checkout。
更多信息,我们关注了Paypal的以下文章 https://developer.paypal.com/docs/classic/express-checkout/ht_ec-singleItemPayment-curl-etc/
【讨论】:
以上是关于具有 Paypal 权限和 Paypal Express Checkout 的 Rails的主要内容,如果未能解决你的问题,请参考以下文章
Paypal API 订阅 curl 沙箱目录产品 权限不足授权失败