Tôi đang cố thiết lập ứng dụng Stripe Connect cho ứng dụng đường ray 3.2.13. Tôi đã chỉ đạo người dùng sọc và nhận lại mã uỷ quyền từ Stripe:Kết nối sọc - truy xuất mã thông báo truy cập
HTTP/1.1 302 Found
Location: http://localhost:3000/yourshop/stripe?scope=read_write&state=1234&code=AUTHORIZATION_CODE
Bước tiếp theo liên quan đến việc thực hiện một yêu cầu POST để nhận được access_token qua access_token_url, mỗi tài liệu Stripe:
curl -X POST https://connect.stripe.com/oauth/token \
-d client_secret=sk_test_code \
-d code=AUTHORIZATION_CODE \
-d grant_type=authorization_code
Tôi không có bất kỳ kinh nghiệm với curl là một ứng dụng đường ray và tôi không thể tìm thấy bất cứ điều gì trong API Stripe có vẻ như yêu cầu POST này bao gồm trong Stripe Gem:
Gem file:
gem 'omniauth-stripe-connect'
gem 'stripe'
Mẫu
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
Lỗi:
syntax error, unexpected tCONSTANT, expecting keyword_do or '{' or '('
Không chắc chắn nếu chỉ là định dạng sai cho curl trong đường ray hoặc nếu cần thiết phải sử dụng cái gì khác.
Tôi không biết API sọc, nhưng chỉ để bạn biết: [curl] (http://curl.haxx.se/docs/manpage.html) là công cụ dòng lệnh, do đó bạn không thể ** sao chép-dán như là một lệnh curl trong mã Ruby của bạn. Ít nhất bạn cần thực hiện [gọi hệ thống trong Ruby] (http://martinhauser.com/wiki/Ruby_System_Calls). Trong thực tế, tôi khuyên bạn nên sử dụng chính gem của Stripe (có thể bao gồm những gì bạn cần) hoặc - nếu bạn cần thực hiện các yêu cầu HTTP tùy chỉnh, hãy sử dụng thư viện Ruby HTTP như [curb] (https://rubygems.org)/gems/curb) sử dụng thư viện chính thức của libcurl hoặc 'Net :: HTTP'. – deltheil