Easypay is a Ruby client for Easypay payment platform that allows payments with credit cards and (MB references to Portugal)
OK. First, you need to talk with people from Easypay to get your credentials!
Now, let's install the gem via Rubygems:
$ gem install easypay
Or in your Gemfile:
$ gem 'easypay'
After bundle:
$ rails generate easypay
$ rake db:migrate
Check on your initializers folder for easypay.rb and change the parameters:
# CIN USER and ENTITY, are required
config.cin = 'cin provided by Easypay'
config.user = 'user provided by Easypay'
config.entity = 'entity provided by Easypay'
# Code is needed only if you don't have validation by IP Address
config.code = "Code is needed only if you don't have validation by IP Address (Configure on Easypay Backoffice)"
# Change routes in order to work them on your app
config.easypay_notification_path = '/easypay/notifications.:format'
config.easypay_forward_path = '/easypay/forwards.:format'
config.easypay_payment_path = '/easypay/payments.:format'
config.redirect_after_payment_path = '/easypay/completed'
config.redirect_payment_notification_path = '/easypay/payment_completed'
In your model, add:
acts_as_payable :name => 'your_model_name_attr_if_different_from_name',
:email => 'your_model_email_attr_if_different_from_email',
:mobile => 'your_model_mobile_attr_if_different_from_mobile',
:item_description => 'your_model_item_description_attr_if_different_from_item_description',
:item_quantity => 'your_model_item_quantity_attr_if_different_from_item_quantity',
:value => 'your_model_value_attr_if_different_from_value',
:description => 'your_model_description_attr_if_description_from_email',
:obs => 'your_model_obs_attr_if_different_from_obs'
In your controller:
payment_reference = @bill.create_payment_reference
# check if success
if payment_reference[:success]
# access your payment_references easy
@bill.payment_references
You can work response (configure your routes on easypay.rb)
Easypay::PaymentReference.find_by_ep_key(params[:ep_key])
Delete or update payment reference:
# delete payment reference
@payment_reference.modify("delete")
# update
@payment_reference.modify("update")
Check Logs of every request and notification on table easypay_logs
Feel free to contact me, you have your say.
I will put in github working project using gem
Authors: Guilherme Pereira