Rails剥离访问和显示帐户信息

时间:2016-01-04 07:22:00

标签: ruby-on-rails

我正在尝试关注此tutorial


我已完成该教程,现在我想显示用户的帐户信息,不知道如何有任何想法。用户信息,如信用卡号和银行名称

[charges_Controller]

class ChargesController < ApplicationController


    def new
    end

    def create
  # Amount in cents
  @amount = 500

  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'
  )
 @token = Stripe::Token.retrieve(params[:stripeToken])
        puts "hhhhhhhhhh#{@token.id}"
rescue Stripe::CardError => e
  flash[:error] = e.message
  redirect_to new_charge_path
end
end


[电荷/ new.html.erb]

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

  <script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
          data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
          data-description="A month's subscription"
          data-amount="500"
          data-locale="auto"></script>
<% end %>


[stripe.rb]

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

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

1 个答案:

答案 0 :(得分:0)

当用户将信用卡详细信息输入启用Stripe的表单时,敏感信息将通过安全的HTTPS连接发送到Stripe的服务器,然后Stripe将向您发送{{1}的字符串标识符对象。然后,此令牌对象用于针对令牌所代表的卡创建费用。

在控制器代码中,您可以创建一个表示Stripe Token的对象:

Infos

您可以查看可用的信息类型。

有关if not line with对象中可用信息的完整概述,请参阅https://stripe.com/docs/api/ruby#tokens

但是如果你检查对象,你会发现它只有卡片数据。条纹令牌可用于代表要收费的信用卡,也可用于向其发送付款的银行帐户。因此,由于您示例中的令牌代表要收费的信用卡,因此您无需检索银行帐户信息。

您也无法访问所使用的整个信用卡号,因为再一次,Stripe的API的目的是让您免于处理类似安全个人信息的存储。因此,出于安全考虑,您将无法获得该信息。

但是,Token对象和token = Stripe::Token.retrieve(params[:stripeToken]) 对象都会有一个名为Token的字段,表示您可以存储的卡号的最后四位数字,以帮助识别该卡。您还可以访问Token字段中使用的卡片品牌。

示例rails控制台检查:

Charge