Skip to content

I18n translations for Stripe error codes

License

Notifications You must be signed in to change notification settings

hamdi777/stripe-i18n

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StripeI18n

Build Status

The gem adds a collection of translated error strings for 'All Stripe errors'

Supported Locales:

  1. en (English - US)
  2. es (Spanish)
  3. de (German)
  4. fr (French)
  5. it (Italian)
  6. nl (Dutch) -- TODO
  7. pt-BR (Portuguese - Brazil) -- TODO
  8. ru (Russian) -- TODO
  9. nb (Norwegian) -- TODO
  10. ja (Japanese) -- TODO
  11. zh-HK (Chinese - Hong Kong) -- TODO

Installation

Add this line to your application's Gemfile:

gem 'stripe-i18n'

And then execute:

$ bundle

Or install it yourself as:

$ gem install stripe-i18n

Usage

add this method in your helper.rb

def flash_stripe_errors(stripe_error)
    body = stripe_error.json_body
    err  = body[:error] if body
    code = err[:code] if err
    if stripe_error.is_a?(Stripe::APIConnectionError)
      msg = I18n.t("stripe.errors.connection_error")
    else
      if err[:decline_code]
        msg = I18n.t("stripe.errors.#{code}") + " " + I18n.t("stripe.errors.reason") + ": " +            I18n.t("stripe.errors.decline_reasons.#{err[:decline_code]}")
      else
        msg = I18n.t("stripe.errors.#{code}")
      end
    end
    flash[:alert] = msg
 end
 

Use the code on the error object to get the correct translation key.

def charge_token(token, amount)
  Stripe::Charge.create(
    amount: amount,
    currency: 'usd',
    card: token,
  )

  { success: true, msg: I18n.translate('charge.success') }
rescue Stripe::CardError, Stripe::RateLimitError, Stripe::APIConnectionError, Stripe::InvalidRequestError, Stripe::AuthenticationError, Stripe::StripeError => e
    flash_stripe_errors(e)
end

Contributing

  1. Fork it ( https://github.com/ekosz/stripe-i18n/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

About

I18n translations for Stripe error codes

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%