使用Paypal权限和Paypal快速结账的Rails应用程序

3
我正在开发一个应用程序,用户可以通过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的经典API部分创建应用程序)。
有人可以帮助我吗?或者指引我正确的方向?
2个回答

2

当代表其他账户调用API时,您需要添加参数“subject”以指示您正在为其调用API的帐户。 “subject”的值可以是帐户的主电子邮件地址或payerID。然后,钱将进入作为“subject”值的帐户。


嗨,谢谢你的回复。我还是有点迷惑...我正在尝试阅读PayPal文档,但在NVP API中只看到了主题字段。这是我应该使用的,而不是快速结账API吗? - cubeguerrero
你是正确的,主题字段仅在nvp和soap基本文档中提到,因为它是经典API的基本用法。这是您在代表另一个帐户调用任何经典API(包括快速结帐API)时需要与API凭据一起使用的字段。 - yihui
谢谢!你的指导帮了我很多。 - cubeguerrero
供参考 - NVP 和 subject 字段可以在此处找到:https://developer.paypal.com/docs/classic/api/NVPAPIOverview/ - Aleks

0

Yihui 给出了正确的答案。但是我想在这里解释/发表一下我是如何修复我的问题的(使用 Yihui 的指导)。

您需要从 Paypal 的第三方权限 SDK 中获取付款人 ID。因此,您将需要请求以下内容:“ACCESS_BASIC_PERSONAL_DATA”、“EXPRESS_CHECKOUT”和“REFUND”。

然后,您将需要使用 Paypal 的 NVP(名称-值对)SDK 代表另一方/商家执行快速结帐操作。

更多信息,请查看 Paypal 的以下文章 https://developer.paypal.com/docs/classic/express-checkout/ht_ec-singleItemPayment-curl-etc/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接