带条纹检查的Rails:如何使用样本费用为我的数据库播种并使用条带检查为每次收费生成令牌?

时间:2015-05-08 20:38:30

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

所以我有一个rails应用程序,它使用条纹结账为捐款项目捐款。我将stripetokens保存到我的数据库中,然后如果项目资金目标得到满足则返回并立即处理它们(有点像kickstarter)。我已经想出了如何做到这一点并且已经在少量费用(例如10个)上测试了我的代码而没有任何问题。这是我的代码

@project = Project.find(set_project)

# Create new stripe customer
    @customer = Stripe::Customer.create(
        :email => params[:stripeEmail],
        :card => params[:stripeToken]
        )

# Create new charge
    @charge = Charge.new(
        :email => params[:stripeEmail],
        :stripe_token => params[:stripeToken],
        :project_id => @project.id,
        :amount => params[:amount],
        :customer_id => @customer.id
        )
#Save charge to my db
@charge.save

然后在我的项目模型中

# Cycle through all charges for project and process using 
# stripe token and stripe customer id
def charge
    self.charges.each do |x|
        begin
            Stripe::Charge.create(
                :amount => x.amount,
                :currency => 'usd',
                :customer => x.customer_id
            )
        rescue Stripe::CardError => e
            x.error = e
        else
            x.processed = true
            x.save
        end
    end
end

现在这是我的问题。我希望能够以更高的收费标准测试此代码。如何使用1,000或更多样本费用为数据库设定种子并使用条带检出脚本创建客户并为每个客户生成令牌?

1 个答案:

答案 0 :(得分:1)

由于您在测试模式下完成了所有这些操作,因此您可以完全绕过Checkout。

我们的想法是使用Create Card Token API在Ruby中创建令牌,然后使用该令牌创建收费。您也可以在创建客户时传递card哈希中的卡片详细信息。