# A CashStar Ruby Gem
A Ruby wrapper for the CashStar REST API
Note: This gem is a copy of the gem found here: https://github.com/crowdtap/cashstar. I created a copy of that gem because the cashstar team was not responding to my request to put their gem on Rubygems.
## Installation
gem install cashstar
## Full Documentation
please consult your CashStar API documentation for full use cases and support
## Current Limitations
as of v0.1.2, this gems supports json only and only one gift card is supported per order.
## Usage Examples
require "cashstar"
# Configure your CashStar settings - for Rails, typically in /config/initializers/cashstar.rb
# Optionally, store your credentials for each environment in a cashstar.yml file and load from there.
Cashstar.configure do |config|
config.username = 'username'
config.password = 'password'
config.endpoint = 'production or semi-production url'
config.format = 'json' #or 'xml'
end
# Gift Card numbers are not returned by default - only urls to the hosted Gift Card and the associated challenge phrase
# If you need the gift card number and pin, include the following in your config block:
config.return_card_numbers = true
# Get all merchants enabled for this account
puts Cashstar.merchants
# Get all faceplates for a merchant
puts Cashstar.faceplates(:merchant_code)
# Build an Order Entity
# An order is composed of one or many gift card entities, which are in turn composed of delivery and message entities
delivery = Cashstar::Client::Delivery.new(:delivered_by => :CLIENT)
message = Cashstar::Client::Message.new(:body => 'Thanks for all the hard work!', :from => 'Santa Claus', :to => 'Rudolph')
gift_card = Cashstar::Client::GiftCard.new(:merchant_code => 'GAP', :initial_balance => '100.00', :delivery => delivery, :message => message)
order = Cashstar::Client::Order.new(:audit_number => '123456', :gift_card => gift_card) #Audit Number is required
# Issue the built order
puts Cashstar.issue(order)