我收到错误,你不能多次使用Stripe令牌

时间:2016-02-24 04:20:47

标签: ruby-on-rails ruby stripe-payments

我使用条带运行本地服务器,当我提交付款表单时收到错误。

class ChargesController < ApplicationController

  def create
   //below is the reason I got error for 
    customer = Stripe::Customer.create(
      :email => params[:stripeEmail],
      :source  => params[:stripeToken]
    )

    charge = Stripe::Charge.create(
      :customer    => customer.id,
      :amount      => params[:amount],
      :description => 'Growth Hacking Crash Course',
      :currency    => 'jpy'
    )

    purchase = Purchase.create(email: params[:stripeEmail], card: params[:stripeToken], amount: params[:amount], description: charge.description, currency: charge.currency, customer_id: customer.id, product_id: 1, uuid: SecureRandom.uuid)

    redirect_to purchase

  rescue Stripe::CardError => e
    flash[:error] = e.message
    redirect_to new_charge_path
  end


end

我不知道为什么会收到这个错误。我需要你的帮助!!!

1 个答案:

答案 0 :(得分:2)

您的代码是正确的。但是,此错误消息表示您尝试在客户创建请求中使用的卡令牌(在params[:stripeToken]变量中)已被使用。

条带标记只能在单个请求中使用。之后,令牌被消耗,无法再次使用。

您必须使用CheckoutStripe.js或直接使用create token API端点创建新的卡片令牌。