Mercanet
A Ruby connector to the Mercanet API.
The full documentation of mercanet : https://documentation.mercanet.bnpparibas.net
Installation
Add this line to your application's Gemfile:
gem 'mercanet'
# need for the post reception from mercanet api
gem 'rack-cors', require: 'rack/cors'
And then execute:
$ bundle
Or install it yourself as:
$ gem install mercanet
Usage
Create a Mercanet Initializer with :
# the value is the test value of mercanet, use your personnal value from mercanet and use rails credentials
Mercanet.config do |m|
m.url = "https://payment-webinit-mercanet.test.sips-atos.com"
m.merchant_id = "211000021310001"
m.secret_key = "S9i8qClCnb2CZU3y3Vn0toIOgz3z_aBi79akR30vM9o"
m.key_version = 1
m.interface_version = "IR_WS_2.20"
m.automatic_response_url = 'http://localhost:3000'
m.normal_return_url = 'http://localhost:3000'
end
Then create two methods in controller (wich correspond to your response_url) to treate the mercanet response who can look like that :
def mercanet_response_automatic
response = Mercanet::Response.new(params)
@sale = current_user.sales.find_by(payment_reference: response.hash_data['transaction_reference'])
@sale.update!(mercanet_response: response.hash_data)
if response.is_valid?
@sale.validate!
else
@sale.refuse!
end
end
def mercanet_response_manual
response = Mercanet::Response.new(params)
@sale = Sale.find_by(payment_reference: response.hash_data['transaction_reference'])
@sale.update!(mercanet_response: response.hash_data)
if response.is_valid?
@sale.validate!
else
@sale.refuse!
end
redirect_to root_path
end
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
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.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/thib44/mercanet-ruby.
License
The gem is available as open source under the terms of the MIT License.