A simple library to charge your customers in a monthly basis using gmxCheckout payment system.
Add this line to your application's Gemfile:
gem 'gmxcheckout'
And then execute:
$ bundle
Or install it yourself as:
$ gem install gmxcheckout
Start by configuring the required api_key
in your initializer.
GmxCheckout.configure do |config|
config.api_key = ENV['GMXCHECKOUT_API_KEY']
end
Now you might want to use this pseudo-code in your User
model on after_commit
callback.
def charge_credit_card
gmx = GmxCheckout::API.new
response = gmx.subscriptions.create \
amounts: [199_00],
browser: extras[:browser],
remote_ip: extras[:remote_ip],
notification_url: extras[:notification_url],
description: 'Awesome SaaS',
invoice_name: 'Awesome SaaS',
address: subscription.address,
customer: {
name: user.full_name,
email: user.email,
phone: subscription.phone,
cpf: CPF.new(subscription.cpf).stripped
},
credit_card: subscription.credit_card_params.merge(
holder_name: user.full_name
)
if response.success?
subscription.code = response.body.subscription_code
subscription.status = response.body.subscription_status
subscription.expires_at = 30.days.from_now
subscription.save
else
invalidate_credit_card
end
end
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/rainerborene/gmxcheckout.
The gem is available as open source under the terms of the MIT License.