我正在尝试关注此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]
答案 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