Skip to content

jherdman/versapay

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A gem to help with using VersaPay's API Build Status

Usage

Include it in your app's 'Gemfile':

gem 'versapay'

In the controller you can make sure that all the actions are called with a valid Web Hook signature:

class VersapayController < ApplicationController
  check_versapay_signatures "MyKey"

There are some Rails view helpers to set up a debit agreement:

# The first you hear of a new debit agreement is when VersaPay sends a callback. So the reference should be
# something you can use to identify your user. For example,
# key = MyApp::Application.config.secret_token
# verifier = ActiveSupport::MessageVerifier.new(key)
# @reference = verifier.generate(@user.id)
= link_to "Setup VersaPay", debit_agreement_link("Set up an agreement", { :reference => @reference, :pref => "ba" })

And of course, you can sent transactions:

 Versapay::Transactions.new do |v|
    begin
      result = v.create(:amount_in_cents => 12345,
                        :debit_agreement_token => "RWOCDPSM",
                        :transaction_type => "pre_authorized_debit",
                        :email => "foo@example.com",
                        :message => "A crate of widgets",
                        :transaction_reference => "my reference",
                        :fund_token => "VersaPayBalanceFundingSource"
                       )
    rescue Versapay::VersapayError => e
      logger.error "Transaction failed"
      return false
    end
  end

Pretty much all the parameters to the functions match the way the VersaPay developers API works.

See the VersaPay developers API: http://developers.versapay.com

About

A gem to interact with versapay

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%