使用Stripe on Rails 4,我想在我的ChargesController中的变量@testvar
中存储我的客户的送货地址,以便我可以:
- 在费用#create页面中显示,作为“我们将在哪里交付”
- 使用此信息向管理员发送电子邮件。
以下是我的ChargesController :( 4月3日更新)
class ChargesController < ApplicationController
def new
end
def create
admin = Admin.last
customer = Stripe::Customer.create(
email: params[:stripeEmail],
card: params[:stripeToken],
)
charge = Stripe::Charge.create(
:customer => customer.id,
:amount => @amount,
:currency => 'eur',
:receipt_email => params[:stripeEmail],
)
customer_name = charge["name"]
AdminMailer.outfit_ordered(admin, customer_name).deliver_now
rescue Stripe::CardError => e
flash[:error] = e.message
redirect_to :back
end
end
4月3日更新 我添加了一个邮件程序,因此下面两行
customer_name = charge["name"]
AdminMailer.outfit_ordered(admin, customer_name).deliver_now
我在another aswer找到了以下部分,但我无法让它发挥作用。
stripe_customer_params = JSON.parse customer.to_s
@testvar = stripe_customer_params['cards']['data'].first['shipping_address']
此外,当我将一个随机值分配给我的@testvar(如@testvar = "test"
)并将其显示在我的费用#create视图中时,它可以工作......但@testvar将此值与我运行的其他测试保持一致之后。
我遇到了这个问题,在Stripe的API文档中找不到任何可以帮助我的东西。
感谢您的帮助。