2016-03-26 8 views
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 

答えて

0

最後に、私のレコードIDを有料で保存するためにメタデータを使用しました。だから私はこのメタデータを使用して検索できます。

charge = Stripe::Charge.create(
    { 
     amount: 2000, 
     currency: 'eur', 
     source: token, 
     description: 'Test', 
     metadata: { record_id: 23 } 
    }, { stripe_account: 'xxxxx' }) 
関連する問題