A lightweight Ruby library for interfacing with the eWAY Token Payments API.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
spec
.gitignore
.rspec
Gemfile
Gemfile.lock
LICENSE
README.md
Rakefile
bigcharger.gemspec

README.md

BigCharger - eWAY Token Payments Client

IMPORTANT NOTE: This repository is no longer actively maintained.

The idea of this project is to build a lightweight Ruby library for interfacing with the eWAY Token Payments API.

Documentation: http://www.rubydoc.info/gems/bigcharger

Installation

gem install bigcharger

Setup

client = BigCharger.new(
  '87654321', 
  'test@eway.com.au', 
  'test123'
)

Create a new customer

client.create_customer({
  'CustomerRef' => 'Test 123',
  'Title' => 'Mr.',
  'FirstName' => 'Jo',
  'LastName' => 'Smith',
  'Company' => 'company',
  'JobDesc' => 'Analyst',
  'Email' => 'test@eway.com.au',
  'Address' => '15 Dundas Court',
  'Suburb' => 'phillip',
  'State' => 'act',
  'PostCode' => '2606',
  'Country' => 'au',
  'Phone' => '02111111111',
  'Mobile' => '04111111111',
  'Fax' => '111122222',
  'URL' => 'http://eway.com.au',
  'Comments' => 'Comments',
  'CCNameOnCard' => 'Jo Smith',
  'CCNumber' => '444433XXXXXX1111',
  'CCExpiryMonth' => '08',
  'CCExpiryYear' => '15'
})
# => "9876543211000" (managedCustomerID of new customer)

Process a payment

client.process_payment(
  9876543211000,
  1000,
  'INV-80251',
  'Pants alteration'
)
# => {
#   'ewayTrxnError' => '00,Transaction Approved(Test Gateway)', 
#   'ewayTrxnStatus' => 'True', 
#   'ewayTrxnNumber' => '10498', 
#   'ewayReturnAmount' => '1000', 
#   'ewayAuthCode' => '123456'
# }

# Alternatively, improve security by requiring a CVN/CVV
client.process_payment_with_cvn(
  9876543211000,
  1000,
  '123',
  'INV-80251',
  'Pants alteration'
)

Find a customer

# Find a customer using the managed customer ID
client.query_customer(9876543211000)
# => {
#   'ManagedCustomerID' => '9876543211000', 
#   'CustomerRef' => 'Test 123', 
#   'CustomerTitle' => 'Mr.', 
#   'CustomerFirstName' => 'Jo', 
#   'CustomerLastName' => 'Smith', 
#   'CustomerCompany' => 'company', 
#   'CustomerJobDesc' => nil, 
#   'CustomerEmail' => 'test@eway.com.au', 
#   'CustomerAddress' => '15 Dundas Court', 
#   'CustomerSuburb' => 'phillip', 
#   'CustomerState' => 'act', 
#   'CustomerPostCode' => '2606', 
#   'CustomerCountry' => 'au', 
#   'CustomerPhone1' => '02111111111', 
#   'CustomerPhone2' => '04111111111', 
#   'CustomerFax' => '111122222', 
#   'CustomerURL' => 'http://eway.com.au', 
#   'CustomerComments' => 'Comments', 
#   'CCName' => 'Jo Smith', 
#   'CCNumber' => '444433XXXXXX1111', 
#   'CCExpiryMonth' => '08', 
#   'CCExpiryYear' => '15'
# }

# Find a customer using the reference you supplied when you created the
# customer
client.query_customer_by_reference('Test 123')

Get list of payments for a customer

client.query_payment(9876543211000)
# => [
#   {
#     'TotalAmount' => '1000', 
#     'Result' => '1', 
#     'ResponseText' => 'Approved', 
#     'TransactionDate' => '2012-02-20T00:00:00+11:00', 
#     'ewayTrxnNumber' => '1'
#   }, 
#   {
#     'TotalAmount' => '1008', 
#     'Result' => '1', 
#     'ResponseText' => 'Approved', 
#     'TransactionDate' => '2012-02-20T00:00:00+11:00', 
#     'ewayTrxnNumber' => '2'
#   }
# ]

Update a customer

client.update_customer(
  9876543211000,
  {
    'CCNameOnCard' => 'Jo Smith',
    'CCNumber' => '444433XXXXXX2222',
    'CCExpiryMonth' => '06',
    'CCExpiryYear' => '22'
  }
)
# => true