2
チャージ失敗時にストライプチャージIDを取得しようとしているので、charge.failed
フックが起動されたときにそのIDのために自分のレコードを取得できます。私は例外が発生したかどうか調べてみましたが、それを得る方法が見つかりません。私のコードは以下の通りです:チャージ失敗時にストライプチャージIDを取得
def charge
token = params[:stripeToken]
type = params[:stripeTokenType]
metadata = {}
record = Record.new(amount: Random.rand(2000), valid: false)
charge = nil
begin
charge = Stripe::Charge.create(
{
amount: 2000,
currency: 'eur',
source: token,
description: 'Test',
metadata: metadata
}, { stripe_account: 'xxxxx' })
record.stripe_charge_id
flash[:notice] = 'Transaction validée'
rescue Exception => e
record.error = e.code
flash[:error] = 'Erreur de paiement'
end
flash[:error] = 'Erreur de paiement' unless record.save || flash[:error]
redirect_to :stripe_test
end