class Mastercard::Masterpass::MasterpassService

Constants

ACCEPT_REWARD_PROGRAM
AUTH_LEVEL_BASIC_URL_PARAMETER
DEFAULT_VERSION
OAUTH_CALLBACK
OAUTH_CALLBACK_CONFIRMED
OAUTH_EXPIRES_IN
OAUTH_TOKEN
OAUTH_TOKEN_SECRET
OAUTH_VERIFIER
ORIGIN_URL
REALM
REALM_TYPE
REQUEST_AUTH_URL
SHIPPING_LOCATION_PROFILE
SUPPRESS_SHIPPING_URL_PARAMETER
URL_FORMAT
XML_VERSION_REGEX

Attributes

origin_url[RW]

Public Class Methods

new(consumer_key, private_key, origin_url, environment) click to toggle source
Calls superclass method
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 35
def initialize(consumer_key, private_key, origin_url, environment)
    super(consumer_key, private_key)
    @environment = environment
    @origin_url = origin_url
end

Public Instance Methods

get_access_token(access_url, request_token, oauth_verifier) click to toggle source
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 54
def get_access_token(access_url, request_token, oauth_verifier)
    params = self.oauth_parameters_factory
    params.add_parameter OAUTH_TOKEN, request_token
    params.add_parameter OAUTH_VERIFIER, oauth_verifier
    response = parse_access_token_response(do_request(access_url, POST, EMPTY_STRING, params))
end
get_express_checkout_data(express_checkout_url, express_checkout_request_xml, access_token) click to toggle source
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 98
def get_express_checkout_data(express_checkout_url, express_checkout_request_xml, access_token)
  params = self.oauth_parameters_factory
  params.add_parameter OAUTH_TOKEN, access_token
  response = do_request(express_checkout_url, POST, express_checkout_request_xml, params)
  response
end
get_long_access_token(access_url, request_token, oauth_verifier) click to toggle source
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 65
def get_long_access_token(access_url, request_token, oauth_verifier)
  response = get_access_token(access_url, request_token, oauth_verifier)
end
get_pairing_token(request_url, callback_url) click to toggle source
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 61
def get_pairing_token(request_url, callback_url)
    response = get_request_token(request_url, callback_url)
end
get_payment_shipping_resource(checkout_resource_url, access_token) click to toggle source
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 84
def get_payment_shipping_resource(checkout_resource_url, access_token)
  if (checkout_resource_url == nil || access_token ==nil) 
    raise "cannot process payment shipping resource request without url and token"
  end
  
  params = self.oauth_parameters_factory
  params.add_parameter OAUTH_TOKEN, access_token
  response = do_request(checkout_resource_url, GET, nil, params)
end
get_precheckout_data(precheckout_url, precheckout_xml, access_token) click to toggle source
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 77
def get_precheckout_data(precheckout_url, precheckout_xml, access_token)
    params = self.oauth_parameters_factory
    params.add_parameter OAUTH_TOKEN, access_token
    
    response = post_xml_data(precheckout_url, precheckout_xml, params)
end
get_request_token(request_url, callback_url) click to toggle source
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 47
def get_request_token(request_url, callback_url)
    params = self.oauth_parameters_factory
    params.add_parameter OAUTH_CALLBACK, callback_url
    
    response = parse_request_token_response(do_request(request_url, POST, EMPTY_STRING, params))
end
oauth_parameters_factory() click to toggle source
Calls superclass method
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 41
def oauth_parameters_factory
    params = super
    params.add_parameter REALM, REALM_TYPE
    params
end
post_checkout_transaction(postback_url, merchant_transactions_xml) click to toggle source
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 94
def post_checkout_transaction(postback_url, merchant_transactions_xml)
  response = post_xml_data(postback_url, merchant_transactions_xml.to_s)
end
post_merchant_init_data(merchant_init_url, merchant_init_xml) click to toggle source
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 73
def post_merchant_init_data(merchant_init_url, merchant_init_xml)
    response = post_xml_data(merchant_init_url, merchant_init_xml)
end
post_shopping_cart_data(shopping_cart_url, shopping_cart_xml) click to toggle source
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 69
def post_shopping_cart_data(shopping_cart_url, shopping_cart_xml)
    response = post_xml_data(shopping_cart_url, shopping_cart_xml)
end

Private Instance Methods

parse_access_token_response(response) click to toggle source
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 120
def parse_access_token_response(response)
     vars = CGI::parse(response)
     response_token = Mastercard::Masterpass::AccessTokenResponse.new
     vars.each do |v|
        method = v[0]
        value = vars[method][0]
        response_token.class.send(:define_method, method.to_sym) do
           value
        end
     end
     response_token 
end
parse_request_token_response(response) click to toggle source
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 107
def parse_request_token_response(response)
     vars = CGI::parse(response)
     response_token = Mastercard::Masterpass::RequestTokenResponse.new
     vars.each do |v|
        method = v[0]
        value = vars[method][0]
        response_token.class.send(:define_method, method.to_sym) do
           value
        end
     end
     response_token 
end
post_xml_data(url, xml_data, params=nil) click to toggle source
# File lib/mastercard_masterpass_api/masterpass_service.rb, line 133
def post_xml_data(url, xml_data, params=nil)
    if (xml_data == nil)
      raise "XML Data cannot be nil"
    end
    params = oauth_parameters_factory if !params
                response = do_request(url,POST,xml_data,params)
                return response
end