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

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

<% if flash[:error].present? %>

<%= flash[:error] %>

<% end %>

Amount: $20.00

<%= 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

What have you tried, and how was it unsuccessful?

Please delete me.

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

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](http://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

<%= 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’ %>

<% if flash[:error].present? %>

<%= flash[:error] %>

<% end %>

Amount: $20.00

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

<% end %>

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](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">

Trace of template inclusion: app/views/users/new.html.erb

`Rails.root: /home/dave/Documents/Rails/TestApps/GamesRailsProjectWithStripeAugust8/SampleApp`

[Application Trace](http://localhost:3000/signup#) | [Framework Trace](http://localhost:3000/signup#) | [Full Trace](http://localhost:3000/signup#)

app/views/users/_form.html.erb:30:in block in _app_views_users__form_html_erb___950734916984809011_70292180440780'](http://localhost:3000/signup#) [app/views/users/_form.html.erb:1:in _app_views_users__form_html_erb___950734916984809011_70292180440780’ app/views/users/new.html.erb:7:in `_app_views_users_new_html_erb___3169716253547301234_70292180550600


I am  relatively new to rails and have idea to solve this problem.

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).

Thanks

have you seen this?

No. But I’m going to watch it now thanks

Hi Joe

Is subscriptions.js.coffee going to work in rails ‘5.1.2’?

Cheers Dave

Would you unsubscribe me?

You have to delete yourself Mauro

Nessuno può rimuoverlo, devi fare fa solo mandanfo una mail vuota a

rubyonrails-talk+unsubscribe@googlegroups.com

In automatico sarai rimosso dal gruppo.

Ciao Mauro

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 merrickdav@gmail.com yazdı:

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