iPay

Ruby gem for interfacing with the iPay XML API

Changelog

v0.2.0

  • Updated tests
  • Included example certification file for CC/Wallet Services
  • Added countries yaml for converting iso 3166 2 char country codes to iPay 3 char country code and currency codes
  • Cleaned up some constants

v0.1.1

  • Added certification mode

v0.1.0

  • CC (credit/debit) and Wallet (client/account) requests
  • Tests

v0.0.1

  • Initial commit

Dependencies

  • libxml-ruby for processing xml responses

Setup

Create a configuration file ‘ipay.yml’ and place it in your apps config/ folder. The configuration file is automatically loaded for you and values are accessible via iPay::config struct.

Example configuration:

:url: "https://uap.txngw.com/"
:company_key: 6990
:terminal_id: 6177
:pin: 1234

You can also configure IPay via a block:

IPay::config do |c|
  c.url = 'https://uap.txngw.com/'
  c.company_key = 6990
  c.terminal_id = 6177
  c.pin = 1234
end

Usage

require 'ipay'
resp = IPay::CC::Debit.sale(
	:amount => '4.99', 
	:account_number => '4000009999999991',
	:cvv => 123,
	:expiration => '0614', 
	:first_name => 'nick', 
	:last_name => 'wilson',
	:address => '123 fake st', 
	:city => 'sometown', 
	:state => 'NY', 
	:postal_code => '90210', 
	:country => IPay::Countries.country_code(:us)
)

if resp.success?
	puts resp.data[:transaction_id]
end

Certification

IPay requires that test accounts submit an xml file of compiled responses before allowing an account to be used in production mode. The IPay gem has a certification mode that will compile all responses into the appropriate file/format for you automatically:

IPay::Certification.capture do
	# ... all responses for api requests are now logged and saved when the block ends
end