lib/docdata.rb
# Libraries
require 'ostruct'
require 'rails'
require 'savon'
require 'active_support/dependencies'
require 'active_support'
require 'open-uri'
require 'nokogiri'
require 'veto'
# Files
require "docdata/version"
require "docdata/config"
require "docdata/engine" if defined?(Rails) && Rails::VERSION::MAJOR.to_i >= 3
require "docdata/docdata_error"
require "docdata/shopper"
require "docdata/payment"
require "docdata/refund"
require "docdata/line_item"
require "docdata/response"
require "docdata/ideal"
require "docdata/bank"
include Savon
#
# Docdata Module
#
module Docdata
API_VERSION = 1
# # @return [String] Your DocData username
# # @note The is a required parameter.
# mattr_accessor :username
# @@username = nil
# # @return [String] Your DocData password
# mattr_accessor :password
# @@password = nil
# # @return [Boolean] Test mode switch
# mattr_accessor :test_mode
# @@test_mode = true
# # @param [String] Set the url of your website where docdata can send messages to
# mattr_accessor :return_url
# @@return_url = nil
# returns the version number
def self.version
VERSION
end
# sets up configuration
def self.setup
yield self
end
def self.url
if Config.test_mode
"https://test.docdatapayments.com/ps/services/paymentservice/1_1?wsdl"
else
# "https://www.docdatapayments.com/ps/services/paymentservice/1_1?wsdl"
# "https://secure.docdatapayments.com/ps/services/paymentservice/1_0?wsdl"
"https://secure.docdatapayments.com/ps/services/paymentservice/1_1?wsdl"
end
end
# For testing purpose only: set the username and password
# in environment variables to make the tests pass with your test
# credentials.
def self.set_credentials_from_environment
Config.password = ENV["DOCDATA_PASSWORD"]
Config.username = ENV["DOCDATA_USERNAME"]
Config.return_url = ENV["DOCDATA_RETURN_URL"]
end
def self.client
Savon.client(wsdl: url)
end
end