Ruby on Rails Tuesday, August 7, 2018

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

--
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/996f1463-6e97-4017-91f7-ef6b1214707f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment