Merb Merchant

This library is a merb specific fork of the awesome gem ActiveMerchant: [http://activemerchant.org]

It aims for a lower memory footprint (no active_support dependency) and better integration with Merb view, and configuration with Merb::Config

Supported Direct Payment Gateways

The ActiveMerchant Wiki contains a table of features supported by each gateway.

Supported Offsite Payment Gateways

Download

Currently this library is available with git from:

git://github.com/merbjedi/merb_merchant.git

Installation

From Git

You can check out the latest source from git:

> git pull git://github.com/merbjedi/merb_merchant.git

As a Merb Plugin

dependency "merb_merchant"

As a Rails plugin

If you are looking for a Rails Plugin, use the original ActiveMerchant: http://activemerchant.org

From Ruby Gems

Installation from RubyGems

> gem install merb_merchant

Sample Usage

require 'rubygems' require 'merb_merchant'

# Use the TrustCommerce test servers
MerbMerchant::Billing::Base.mode = :test

# MerbMerchant accepts all amounts as Integer values in cents
# $10.00
amount = 1000

# The card verification value is also known as CVV2, CVC2, or CID 
credit_card = MerbMerchant::Billing::CreditCard.new(
              :first_name         => 'Bob',
              :last_name          => 'Bobsen',
              :number             => '4242424242424242',
              :month              => '8',
              :year               => '2012',
              :verification_value => '123'
            )

# Validating the card automatically detects the card type
if credit_card.valid?

# Create a gateway object for the TrustCommerce service
gateway = MerbMerchant::Billing::TrustCommerceGateway.new(
            :login => 'TestMerchant',
            :password => 'password'
          )

# Authorize for the amount
response = gateway.purchase(amount, credit_card)

if response.success?
  puts "Successfully charged $#{sprintf("%.2f", amount / 100)} to the credit card #{credit_card.display_number}"
else
  raise StandardError, response.message 
end
end