2016-11-21 2 views
0

Я пытаюсь интегрировать API-интерфейс Stripe в проект Rails. Но мне интересно, почему у меня произошел сбой APIConnectionError, когда я проверил, что мое подключение к Интернету в порядке.APIConnectionError with Stripe API

В users_controller.rb:

def charge 
    token = params["stripeToken"] 
    customer = Stripe::Customer.create(
    source: token, 
    plan: 'mysubscriptionlevel1', 
    email: current_user.email 
) 

    current_user.subscription.stripe_user_id = customer.id 
    current_user.subscription.active = true 
    current_user.subscription.save 

    redirect_to users_info_path 
end 

В /views/users/_form.html.erb, у меня есть форма POST-ки на путь /users/charge URL.

<h4>Begin your £9.99 a month subscription</h4> 
    <form action="https://stackoverflow.com/users/charge" method="POST" id="payment-form"> 
    <span class="payment-errors"></span> 

И в моем routes.rb файл, у меня есть:

post '/users/charge', to: 'users#charge' 

В config/initializer/stripe.rb, я обязательно полоской и положил ключ API в файле .env.

require "stripe" 
Stripe.api_key = ENV["STRIPE_API_KEY"] 

Я также включил stripe камень в моей Gemfile:

gem 'stripe', :git => 'https://github.com/stripe/stripe-ruby' 
gem 'dotenv-rails', :groups => [:development, :test] 

Я не уверен, что мне не хватает, и это ошибка, которую я получаю, когда я называю charge действие в users_controller.rb:

Stripe::APIConnectionError (Unexpected error communicating when trying to connect to Stripe. You may be seeing this message because your DNS is not working. To check, try running 'host stripe.com' from the command line. 

(Network error: Failed to open TCP connection to : (getaddrinfo: nodename nor servname provided, or not known))): 

что это значит в DNS не работает, и как я могу отладить, просто выдав «хост stripe.com»

+0

любой шанс, что вы находитесь за брандмауэром? – shivam

+0

Спасибо, в этом была проблема. Я переключил прокси-сервер, и он работает сейчас. –

ответ

0

Включил прокси-сервер, и теперь он работает.