Looking for help on how to incorporate Stripe into my existing files

23 views
Skip to first unread message

David Merrick

unread,
Aug 8, 2018, 12:39:27 AM8/8/18
to Ruby on Rails: Talk
I want to know how I can successfully put this part of the 
create method of the charges controller 
 # Amount in cents
  @amount = 2000

  customer = Stripe::Customer.create(
:email => params[:stripeEmail],
:source  => params[:stripeToken]
  )

  charge = Stripe::Charge.create(
:customer    => customer.id,
:amount      => @amount,
:description => 'Rails Stripe customer',
:currency    => 'usd'
  )

into the users create method of the users controller

def create
    @user = User.new(user_params)
    if @user.save
      @user.send_activation_email
      flash[:info] = "Please check your email to activate your account."
      redirect_to root_url
    else
      render 'new'
    end
  end 

And put the code below of new.html.erb

<article>
    <% if flash[:error].present? %>
      <div id="error_explanation">
        <p><%= flash[:error] %></p>
      </div>
    <% end %>
    <label class="amount">
      <span>Amount: $20.00</span>
    </label>
  </article>

  <script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
          data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
          data-description="Membership Subscription"
          data-amount="2000"
          data-locale="auto">
  </script>

<%= form_for(@user) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>

  <%= f.label :name %>
  <%= f.text_field :name, class: 'form-control' %>

  <%= f.label :email %>
  <%= f.email_field :email, class: 'form-control' %>

  <%= f.label :password %>
  <%= f.password_field :password, class: 'form-control' %>

  <%= f.label :password_confirmation %>
  <%= f.password_field :password_confirmation, class: 'form-control' %>

  <%= f.submit yield(:button_text), class: "btn btn-primary" %>
<% end %>

Cheers Dave

Hassan Schroeder

unread,
Aug 8, 2018, 12:01:57 PM8/8/18
to rubyonrails-talk
On Tue, Aug 7, 2018 at 9:39 PM, David Merrick <merri...@gmail.com> wrote:
> I want to know how I can successfully put this part of the
> create method of the charges controller
> into the users create method of the users controller

What have you tried, and how was it unsuccessful?

--
Hassan Schroeder ------------------------ hassan.s...@gmail.com
twitter: @hassan
Consulting Availability : Silicon Valley or remote

Mauro Sanna

unread,
Aug 9, 2018, 5:30:58 AM8/9/18
to rubyonrails-talk
Please delete me.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CACmC4yC8V%3DUs_pLaT2_YnbABxVt7cohD5xuFv-FZV0YwC2-j0A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Walter Lee Davis

unread,
Aug 9, 2018, 8:12:33 AM8/9/18
to rubyonra...@googlegroups.com
There is a link at the bottom of each message you receive from this list, where you can do just that. Nobody else here can delete you, we are all users, not admins.

Walter

> On Aug 9, 2018, at 5:30 AM, Mauro Sanna <mrsa...@gmail.com> wrote:
>
> Please delete me.

David Merrick

unread,
Aug 10, 2018, 12:55:40 AM8/10/18
to Ruby on Rails: Talk
Still can't the stripe integrated into my App
 New users controller

class UsersController < ApplicationController
  before_action :logged_in_user, only: [:index, :edit, :update, :destroy,
                                        :following, :followers]
  
  before_action :correct_user,   only: [:edit, :update]
  before_action :admin_user,     only: :destroy
  
  def index
    @users = User.where(activated: true).paginate(page: params[:page])
  end
  
  def show
    @user = User.find(params[:id])
    redirect_to root_url and return unless @user.activated?
  end

  def new
    @user = User.new
  end

  def create
    @user = User.new(user_params)
    # Amount in cents
  @amount = 2000

  customer = Stripe::Customer.create(
:email => params[:stripeEmail],
:source  => params[:stripeToken]
  )

  charge = Stripe::Charge.create(
:customer    => customer.id,
:amount      => @amount,
:description => 'Rails Stripe customer',
:currency    => 'usd'
  )

rescue Stripe::CardError => e
  flash[:error] = e.message
  redirect_to new_charge_path
    
    if @user.save
      @user.send_activation_email
      flash[:info] = "Please check your email to activate your account."
      redirect_to root_url
    else
      render 'new'
    end
  end  

  def edit
    @user = User.find(params[:id])
  end

  def update
    @user = User.find(params[:id])
    if @user.update_attributes(user_params)
      flash[:success] = "Profile updated"
      redirect_to @user
    else
      render 'edit'
    end
  end
  
  def destroy
    User.find(params[:id]).destroy
    flash[:success] = "User deleted"
    redirect_to users_url
  end

Adjusted routes incorporating charges 

Rails.application.routes.draw do
  root 'static_pages#home'
  get 'password_resets/new'
  get 'password_resets/edit'
  get 'sessions/new'
  get 'users/new'  
  get '/help',    to: 'static_pages#help'
  get '/about',   to: 'static_pages#about'
  get '/contact', to: 'static_pages#contact'
  get  '/signup',  to: 'users#new'
  post '/signup',  to: 'users#create'
  get    '/login',   to: 'sessions#new'
  post   '/login',   to: 'sessions#create'
  delete '/logout',  to: 'sessions#destroy'
  get 'game/BlackJack'
  get 'game/Poker'
  get 'game/Yaghtzee'
  get 'game/MasterMind'
  get '/blackjack',    to: 'game#BlackJack'
  get '/poker',    to: 'game#Poker'
  get '/yaghtzee',    to: 'game#Yaghtzee'
  get '/mastermind',    to: 'game#MasterMind'
  get '/charges',       to:'charges#new'
  
  resources :charges
  resources :users
  resources :game, only: [:BlackJack, :Poker, :Yaghtzee, :MasterMind]
  resources :account_activations, only: [:edit]
  resources :password_resets,     only: [:new, :create, :edit, :update]
end

New users Form with stripe

I'm getting this error

NoMethodError in Users#new

Showing /home/dave/Documents/Rails/TestApps/GamesRailsProjectWithStripeAugust8/SampleApp/app/views/users/_form.html.erb where line #30 raised:

undefined method `stripe' for #<Rails::Application::Configuration:0x00000003eea4c8>
Extracted source (around line #30):
28
29
30
31
32
33
              
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
data-description="Membership Subscription"
data-amount="2000"
data-locale="auto">

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


--
Dave Merrick

Daves Web Designs

Website http://www.daveswebdesigns.co.nz

Email merri...@gmail.com

Ph   03 216 2053

Cell 027 3089 169

Mugurel Chirica

unread,
Aug 10, 2018, 4:45:48 PM8/10/18
to rubyonra...@googlegroups.com
Hey David, looks like you did not configure your application properly.

What gem do you use for stripe, there should be a way for you to configure the app, have a look at the documentation.

You will need to create a Stripe account, get the API keys from there and add them to your application, with something like `config/initializers/stripe.rb' (depending on what gem you use).

David Merrick

unread,
Aug 10, 2018, 5:09:52 PM8/10/18
to Ruby on Rails: Talk
Thanks

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Joe Guerra

unread,
Aug 10, 2018, 8:15:04 PM8/10/18
to Ruby on Rails: Talk

David Merrick

unread,
Aug 11, 2018, 12:20:42 AM8/11/18
to Ruby on Rails: Talk
No. But I'm going to watch it now thanks


For more options, visit https://groups.google.com/d/optout.

David Merrick

unread,
Aug 11, 2018, 1:49:46 AM8/11/18
to Ruby on Rails: Talk
Hi Joe

Is subscriptions.js.coffee going to work in rails '5.1.2'?
Cheers Dave

On Sat, Aug 11, 2018 at 12:15 PM Joe Guerra <JGu...@jginfosys.com> wrote:

For more options, visit https://groups.google.com/d/optout.

Mauro Sanna

unread,
Aug 11, 2018, 11:14:58 AM8/11/18
to rubyonrails-talk
Would you unsubscribe me?

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.

David Merrick

unread,
Aug 11, 2018, 5:08:36 PM8/11/18
to Ruby on Rails: Talk
You have to delete yourself Mauro


For more options, visit https://groups.google.com/d/optout.

Mauro Locatelli

unread,
Aug 11, 2018, 5:37:23 PM8/11/18
to rubyonra...@googlegroups.com
Nessuno può rimuoverlo, devi fare fa solo mandanfo una mail vuota a


In automatico sarai rimosso dal gruppo.
Ciao Mauro

M.Dumlupinar

unread,
Aug 12, 2018, 4:01:12 AM8/12/18
to rubyonra...@googlegroups.com
i need to quit this group, too. but i was unable to do so. there is no way for cancelling my subscription. i mean, unsubscribe link at the bottom of every message in this group does not work.

12 Ağustos 2018 Pazar tarihinde, David Merrick <merri...@gmail.com> yazdı:
You have to delete yourself Mauro

On Sun, Aug 12, 2018 at 3:14 AM Mauro Sanna <mrsa...@gmail.com> wrote:
Would you unsubscribe me?

On Fri, 10 Aug 2018 at 22:45, Mugurel Chirica <chirica...@gmail.com> wrote:
Hey David, looks like you did not configure your application properly.

What gem do you use for stripe, there should be a way for you to configure the app, have a look at the documentation.

You will need to create a Stripe account, get the API keys from there and add them to your application, with something like `config/initializers/stripe.rb' (depending on what gem you use).

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.


--
Dave Merrick

Daves Web Designs

Website http://www.daveswebdesigns.co.nz

Email merri...@gmail.com

Ph   03 216 2053

Cell 027 3089 169

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CA%2B%3DMcKYdvbycbawrkEEzoWMJrRgdZGFoom7reGGMZQrR1u0sSw%40mail.gmail.com.

For more options, visit https://groups.google.com/d/optout.


--
İyi çalışmalar...

Mustafa DUMLUPINAR

Colin Law

unread,
Aug 12, 2018, 4:31:03 AM8/12/18
to Ruby on Rails: Talk
On Sun, 12 Aug 2018 at 09:00, M.Dumlupinar <mduml...@gmail.com> wrote:
i need to quit this group, too. but i was unable to do so. there is no way for cancelling my subscription. i mean, unsubscribe link at the bottom of every message in this group does not work.

Go to the group page and do it from there (button top right next to the settings button). https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!forum/rubyonrails-talk

Colin

Reply all
Reply to author
Forward
0 new messages