2016-03-26 20 views
2

Hatalı bir ücret karşılığında Şerit yükü kimliğini almaya çalışıyorum, böylece charge.failed kancası tetiklendiğinde bu kimlik sayesinde kayıtımı geri alabilirim. Yakılan istisnayı kontrol ettim ama bunu elde etmenin bir yolunu bulamıyorum. İşte benim kodum:Hatalı şarj üzerine Şerit yükü kimliği al

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 

cevap

0

Son olarak, kayıt kimliğimi yük ile saklamak için meta verileri kullandım. Bu yüzden bu meta verileri kullanarak onu alabiliyorum.

charge = Stripe::Charge.create(
    { 
     amount: 2000, 
     currency: 'eur', 
     source: token, 
     description: 'Test', 
     metadata: { record_id: 23 } 
    }, { stripe_account: 'xxxxx' }) 
İlgili konular