Pay Simple plugin

Plugin details

This library provides a simple interface to find, create, edit, delete, and query subscriptions using the PaySimple SOAP API.

Websitehttp://paysimple.rubyforge.org/ Repositorysvn://svn.roundhaus.com/daikini/plugins/paysimple Author Jonathan Younger Tags payment, api LicenseMIT

Documentation

Install the plugin:
ruby script/plugin install svn://svn.roundhaus.com/daikini/plugins/paysimple
  require 'paysimple'

  # Bill Jennifer $12.00 monthly
  begin
    customer_number = PaySimple::Subscription.create(
      :CustomerID => 12345,
      :BillingAddress => {
        :FirstName => "Jennifer",
        :LastName => "Smith"
      },
      :CreditCardData => {
        :CardNumber => '4444555566667779',
        :CardExpiration => '0908'
      },
      :Schedule => :monthly,
      :Next => "2008-09-05",
      :Amount => 12.00
    )

    puts "Subscription created with Customer Number: #{customer_number}"
  rescue Exception => e
    puts "An error occurred: #{e.message}"
  end

  # Update subscription to use new credit card
  begin
    customer_number = 12345
    response = PaySimple::Subscription.update(
      customer_number,
      :CreditCardData => {
        :CardNumber => '4444555566667779',
        :CardExpiration => '0908'
      }
    )

    puts "Subscription updated"
  rescue Exception => e
    puts "An error occurred: #{e.message}"
  end

  # Delete subscription
  begin
    customer_number = 12345
    response = PaySimple::Subscription.delete(customer_number)

    puts "Subscription removed from active use."
  rescue Exception => e
    puts "An error occurred: #{e.message}"
  end

  # Find an existing subscription
  begin
    customer_number = 12345
    customer = PaySimple::Subscription.find(customer_number)

    puts "Found subscription for #{ [customer["BillingAddress"]["FirstName"], customer["BillingAddress"]["LastName"]].join(" ")}"
  rescue Exception => e
    puts "An error occurred: #{e.message}"
  end

  # Process one-time sale against existing subscription
  begin
    customer_number = 12345
    response = PaySimple::Subscription.charge(customer_number, :Amount => 34.56)

    if response['Response'] == "Approved"
      puts "One-time charge successful."
    else
      puts "An error occurred: #{response['Error']}"
    end
  rescue Exception => e
    puts "An error occurred: #{e.message}"
  end

  # Search for transactions
  begin
    response = PaySimple::Subscription.query(
      [
        { :Field => 'amount', :Type => 'gt', :Value => '5.0' }
      ]
    )

    response.transactions.each do |transaction|
      puts "CustomerID = #{transaction['CustomerID']}, Amount = #{transaction['Details']['Amount']}"
    end
  rescue Exception => e
    puts "An error occurred: #{e.message}"
  end

Further Documentation

There is currently no advanced documentation for this plugin.

New documentation

Edit plugin | (0 older versions) | Last edited by: hardway, about 1 year ago