支持Paypal权限和Paypal快速结账的Rails

我正在构建一个应用程序,用户可以通过Paypal权限SDK( https://github.com/paypal/permissions-sdk-ruby )连接自己的Paypal帐户。 我能够成功获得用户的许可,并能够存储从Paypal权限SDK返回的令牌。 现在,我使用以下gem进行快速结账( 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部分创建一个应用程序)。

有没有人可以帮助我? 还是指向正确的方向?

在代表其他帐户调用API时,您需要添加参数“subject”以指示您为其调用API的帐户。 “主题”的值可以是帐户主电子邮件地址或付款人ID。 然后钱将转到主题的价值帐户。

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/