Sitemde yönetilen Stripe hesabı oluşturulduktan sonra kullanıcının Stripe gizli ve yayınlanabilir anahtarlarını veritabanıma kaydetmeye çalışıyorum.NoMethodError Stripe anahtarlarını veritabanına kaydederken, Rails
stripe_controller.rb
def create
Stripe.api_key = Rails.configuration.stripe[:secret_key]
@account = Stripe::Account.create(
managed: true,
country: params[:artist_payment_setting][:country],
email: @artist.email,
tos_acceptance: {
ip: request.remote_ip,
date: Time.now.to_i
},
legal_entity: {
dob: {
month: params[:artist_payment_setting][:month],
day: params[:artist_payment_setting][:day],
year: params[:artist_payment_setting][:year]
},
first_name: params[:artist_payment_setting][:first_name],
last_name: params[:artist_payment_setting][:last_name],
type: 'individual',
}
)
if @account.save
@payment = @artist.create_artist_payment_setting(
currency: @account.default_currency,
country: @account.country,
stripe_id: @account.id,
stripe_publishable_key: @account.keys.publishable, ***********problem********
stripe_secret_key: @account.keys.secret ***********problem********
)
end
redirect_to artist_path(@artist)
end
Unfortuntely, ben NoMethodError (undefined method 'publishable' for #<Array:0x007f57d83edaf0>)
gösterilmeye devam secret
ile aynı.
API yanıtı
{
keys:
{
secret: "secret_key"
publishable: "publish_key"
}
}
bu anahtarları nasıl anlamaya Can not olduğunu.
Ne içerdiğini görmek için '@ account.keys.inspect''e baktınız mı? Hata mesajı bunun bir "Array" olduğunu düşündürüyor ... –
Evet, neden bir 'Array' olarak geri geldiğini anlayamıyorum. API'dan yanıt alınmıyor. –
Konsolunuzda @ account.keys işlevini kullanmak için 'byebug' kullanmayı deneyin. Kaydedilmeden önce @ hesabının neye benzediğini gönderir misiniz? –