Rails 5 Stripe::AuthenticationError - создать продукт

avatar
Shawn Wilson
8 апреля 2018 в 02:00
201
2
0

Я создаю приложение с помощью Rails 5, Ruby 2.4.0 и гем stripe.

У меня есть шаблон продукта, и когда я создаю продукт, если он сохраняется, я хочу, чтобы он затем отправил продукт в полосу и создал продукт там, а также вернул идентификатор продукта полосы в запись продукта.

Сам продукт сохраняется, так как я могу запросить его в консоли, и он появляется на странице индекса, однако, когда он отправляет в полосу, я получаю следующую ошибку.

Stripe Authentication Error

Мой файл ApplicationController:

class ApplicationController < ActionController::Base

  require "stripe"

  protect_from_forgery with: :exception
end

Мой файл инициализатора ПОЛНОЙ полосы: config/initializers/stripe.rb

Rails.configuration.stripe = {
  :publishable_key => ENV['STRIPE_PUBLISHABLE_KEY'],
  :secret_key => ENV['STRIPE_SECRET_KEY']
}

Stripe.api_key = Rails.configuration.stripe[:secret_key]

Действие создания контроллера моего продукта:

  def create
    @product = Product.new(product_params)

    respond_to do |format|
      if @product.save
        format.html { redirect_to @product, notice: 'Product was successfully created.' }
        format.json { render :show, status: :created, location: @product }

        product = Stripe::Product.create({
          name: @product.prod_name,
          type: @product.prod_type,
          statement_descriptor: @product.statement_descriptor,
          unit_label: @product.unit_label,
          product_status: @product.product_status
        })

      else
        format.html { render :new }
        format.json { render json: @product.errors, status: :unprocessable_entity }
      end
    end
  end

Любая помощь здесь будет очень признательна, так как у меня очень мало опыта работы с полосами, и я не могу разобраться с этим!

Источник

Ответы (2)

avatar
fool-dev
8 апреля 2018 в 03:13
2
Shawn Wilson
8 апреля 2018 в 04:04
0

Итак, как только это будет создано, как я могу добавить сгенерированный product_id, который создает полоса, и сохранить его в продукте, который я создал в рельсах?

avatar
Edward
8 апреля 2018 в 02:05
0

Вам необходимо установить публикуемый ключ и секретный ключ в качестве переменных среды (или жестко запрограммировать их)