ruby-on-rails – Stripe Connect – 检索访问令牌

我正在尝试为rails 3.2.13 app设置Stripe Connect.我已将用户定向到Stripe并从Stripe接收了授权代码

HTTP/1.1 302 Found
Location: http://localhost:3000/yourshop/stripe?scope=read_write&state=1234&code=AUTHORIZATION_CODE

下一步是根据Stripe文档,通过access_token_url发出POST请求以接收access_token:

curl -X POST https://connect.stripe.com/oauth/token \
  -d client_secret=sk_test_code \
  -d code=AUTHORIZATION_CODE \
  -d grant_type=authorization_code

我对curl没有任何经验是一个rails应用程序,我在Stripe API中找不到任何似乎这个POST请求包含在Stripe Gem中的内容

宝石文件

gem 'omniauth-stripe-connect'
gem 'stripe'

模型

def save_with_stripe_account
  code = self.stripe_code
  customer = curl -X POST https://connect.stripe.com/oauth/token \
    -d "client_secret=ENV['STRIPE_SECRET_KEY']" \
    -d "code=code" \
    -d "grant_type=authorization_code"
  raise customer.inspect  
end

错误

Syntax error,unexpected tCONSTANT,expecting keyword_do or '{' or '('

不确定是否只是错误的格式为rails中的curl或者是否需要使用其他东西.

解决方法

试试这个食谱:

在rails应用程序中安装HTTParty gem

response = HTTParty.post(“https://connect.stripe.com/oauth/token”,:query => {client_secret:“#{ENV [‘STRIPE_SECRET_KEY’]}”,代码:response_code,grant_type:“authorization_code”})

然后你应该能够访问响应[‘access_token’],而不必在curl代码周围使用反引号.它对我有用.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...