Ruby library to access the FastSpring Saasy API.
gem install fastspring-saasy
Setup account credentials
FastSpring::Account.setup do |config| config[:username] = 'user' config[:password] = 'password' config[:company] = 'company' end
Get subscription
sub = FastSpring::Subscription.find('reference')
Renew subscription
sub.renew
Cancel subscription
sub.cancel!
Create subscriptions url
FastSpring::Subscription.create_subscription_url('test_product', 'new_co')
=> http://sites.fastspring.com/acme/product/test_product?referrer=new_co
Flexible subscriptions url
FastSpring::Subscription.subscription_url(:detail, product: 'test_product', referrer: 'new_co') => http://sites.fastspring.com/acme/product/test_product?referrer=new_co FastSpring::Subscription.subscription_url(:detail, product: 'test_product') => http://sites.fastspring.com/acme/product/test_product FastSpring::Subscription.subscription_url(:order, product: 'test_product', referrer: 'new_co') => http://sites.fastspring.com/acme/product/test_product?action=order&referrer=new_co FastSpring::Subscription.subscription_url(:add, product: 'test_product', referrer: 'new_co') => http://sites.fastspring.com/acme/product/test_product?action=add&referrer=new_co FastSpring::Subscription.subscription_url(:adds, product: 'test_product', referrer: 'new_co') => http://sites.fastspring.com/acme/product/test_product?action=adds&referrer=new_co FastSpring::Subscription.subscription_url(:api) => http://sites.fastspring.com/acme/api/order FastSpring::Subscription.subscription_url(:instant, product: 'test_product', referrer: 'new_co', tags: 'tag1=10,tag2,tag3=30', contact_company: 'ABC Company', contact_phone: '123-4567890', contact_email: 'john+smith@abccompany.com', contact_fname: 'John', contact_lname: 'Smith') => https://sites.fastspring.com/acme/instant/test_product?contact_company=ABC+Company&contact_email=john%2Bsmith%40abccompany.com&contact_fname=John&contact_lname=Smith&contact_phone=123-4567890&referrer=new_co&tags=tag1%3D10%2Ctag2%2Ctag3%3D30
Update subscriptions
sub = FastSpring::Subscription.find('reference') sub.update_attributes(tags: 'tag1=10,tag2,tag3=30', company: 'ABC Company') FastSpring::Subscription.update_subscription('reference', tags: 'tag1=10,tag2,tag3=30', company: 'ABC Company')
Orders
order = FastSpring::Order.find('reference') order.items.each do |item| # item.inspect end order.payments.each do |payment| # payment.inspect end #customer details order.purchaser.inspect
Localized Store Pricing
store_pricing = FastSpring::LocalizedStorePricing.find(['/standard'], http_request) puts store_pricing.inspect
FastSpring have their own gem at github.com/fastspring/fastspring-ruby
Copyright © 2012 Richard Patching. See LICENSE.txt for further details.