web designer singapore,mobile application developer singapore,ios developer singapore,website designer singapore,design firms in singapore,singapore mobile app developer,developer in singapore,singapore web design,website development singapore,website design singapore,singapore web development,android developer singapore,mobile apps singapore,ruby on rails developer singapore,web design services singapore,web design singapore,ios app development singapore,singapore web design services,app developer singapore,singapore app developer,web development company singapore,web design company singapore,graphic designer in singapore,design agency singapore,mobile app developer singapore,web application singapore,app development singapore,web development singapore,singapore website design,mobile game developer singapore,mobile apps development singapore,mobile application development singapore,mobile app development singapore,mobile developer singapore,developers in singapore,website developer singapore,singapore mobile application developer

Integrate Singapore eNETS payment gateway and Ruby on Rails.

There are always needs to build E-commerce sites with Credit Card transactions securely and seamlessly. In Singapore market, eNETs is the most well-known company providing payment gateway services. Up to now, eNETS only provide API for .NET and Java platform. In this post, I will show you my solution to integrate eNETS and Ruby on Rails via Java.

Steps:

1. Build JAR file to submit payment info to eNETS, i named it enets.jar. This jar file will return output from eNETS to console in text format. I attached sample program built with NetBean, you can download it here: eNETS. After downloading, you just copy that folder to your NetBean projects folder as shown in below image.

NetBean projects folder

NetBean Projects Folder

2. Follow eNETS guideline, change setting for java security as well as generate merchant.priv.pgp.asc, merchant.pub.pgp.asc.

3. Change config: log4j.properties, NETSConfig.xml

4. Build enets.jar file from source files in NetBean. Right click on project root, Clean and Build.

5. Generate command to execute enets.jar, something like this:

“java -jar #{RAILS_ROOT}/vendor/extensions/payment_gateway/lib/enets/eNETS.jar #{mid} #{tid} #{paymentMode} #{amt} #{currency} #{merRef} #{submitMode} #{merCertId} #{pan} #{expiry} #{stan} #{paymentType} #{successURL} #{successURLParams} #{failureURL} #{failureURLParams} #{notify_url} #{notify_url_params} #{name} #{cvv} #{post_url} #{post_url_params} #{cancel_url} #{cancel_url_params} #{bill_first_name} #{bill_last_name} #{bill_initial} #{bill_addr1} #{bill_addr2} #{bill_coy_name} #{bill_city} #{bill_state} #{bill_zip_code} #{bill_country} #{bill_mobile_num} #{bill_phone_num} #{bill_fax_num} #{bill_email} #{ship_first_name} #{ship_last_name} #{ship_initial} #{ship_addr1} #{ship_addr2} #{ship_coy_name} #{ship_city} #{ship_state} #{ship_zip_code} #{ship_country} #{ship_mobile_num} #{ship_phone_num} #{ship_fax_num} #{ship_email} #{shopper_ip_addr} #{product_format} #{product_details} #{gw_url}”

6. Run enets.jar from ruby console with output = %x[#{command}]. %x[] command will store output to output variable for later processing. It is not the same as system() or exec() ruby command. Read more on Jay Fields’ blog:  Ruby Kernel system, exec and %x

7. Parse results returned from enets.jar and continue with your business logic in your ruby/rails application. For rails project, i recommend you to use Active-Merchant and modify Bogus payment gateway so that you will follow format of ActiveMerchant framework. You will be supprised because the effort required  is very little.

What are your solutions to integrate with eNETS from Rails project? I would like to know if you have better solutions. Thank you.

Malcare WordPress Security