gpt4 book ai didi

ruby-on-rails - 如何在 Stripe、Rails 中保存客户卡片更新?

转载 作者:数据小太阳 更新时间:2023-10-29 07:52:02 24 4
gpt4 key购买 nike

我希望客户能够在我的 Rails 应用中更新他们的信用卡详细信息。 Stripe 有关于如何实现这一点的文档,但文章显示了一个 PHP 示例,但我需要一个 Rails 示例:https://stripe.com/docs/recipes/updating-customer-cards

基本上,我需要在不收费的情况下保存客户的信用卡。

这是subscribers_controller.rb:

class SubscribersController < ApplicationController        
before_filter :authenticate_user!

def new
end

def update
token = params[:stripeToken]

customer = Stripe::Customer.create(
card: token,
plan: 1212,
email: current_user.email
)

current_user.subscribed = true
current_user.stripeid = customer.id
current_user.save

redirect_to profiles_user_path
end
end

最佳答案

您可能还想查看这个 SO 答案 How to create a charge and a customer in Stripe ( Rails)有关在 Rails 应用程序中使用 Stripe 的更多详细信息。

对于 Ruby 文档,您可以在 Stripe Ruby API 上找到很好的示例.在 Stripe 术语中,卡片被称为客户的 source。您可以从 token 创建一个 source,但是一旦创建了它,您就可以处理 sourcedefault_source 元素Customer 对象,并从客户的 source 中检索 card 对象。另请注意,除了创建 source(或用于一次性收费)之外,您永远不应尝试使用 token

Stripe Ruby API for Customers显示您可以创建一个 customer 并同时分配 source:

customer = Stripe::Customer.create(
source: token,
email: current_user.email
)

不必分配来源来创建客户。但是,如果您为客户设置订阅,他们将需要一个可用的 source,并且费用将计入客户的 default_source。如果客户只有一个 source,它会自动成为 default_source

Stripe Ruby API for Cards , 显示您还可以使用 token 向现有客户添加新卡:

customer = Stripe::Customer.retrieve(customer_id)
customer.sources.create({source: token_id})

一旦您将卡片分配给客户,您就可以将其设为default_source,使用:

customer.default_source = customer.sources.retrieve(card_id)

这就是设置和准备开始向客户收费所需要的。结算愉快!

关于ruby-on-rails - 如何在 Stripe、Rails 中保存客户卡片更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37441033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com