Class: Mastercard::Masterpass::MasterpassService

Inherits:
Common::Connector
  • Object
show all
Includes:
REXML
Defined in:
lib/mastercard_masterpass_api/masterpass_service.rb

Constant Summary collapse

OAUTH_TOKEN =
'oauth_token'
OAUTH_VERIFIER =
'oauth_verifier'
OAUTH_TOKEN_SECRET =
'oauth_token_secret'
OAUTH_CALLBACK =
'oauth_callback'
OAUTH_CALLBACK_CONFIRMED =
'oauth_callback_confirmed'
OAUTH_EXPIRES_IN =
'oauth_expires_in'
REALM =
"realm"
REALM_TYPE =
"eWallet"
ORIGIN_URL =
"originUrl"
REQUEST_AUTH_URL =
"xoauth_request_auth_url"
URL_FORMAT =
"?oauth_token%s&acceptable_cards=%s&checkout_identifier=%s&version=%s"
SUPPRESS_SHIPPING_URL_PARAMETER =
"&suppress_shipping_address="
AUTH_LEVEL_BASIC_URL_PARAMETER =
"&auth_level=basic"
ACCEPT_REWARD_PROGRAM =
"accept_reward_program"
SHIPPING_LOCATION_PROFILE =
"shipping_location_profile"
DEFAULT_VERSION =
"v1"
XML_VERSION_REGEX =
"v[0-9]+"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(consumer_key, private_key, origin_url, environment) ⇒ MasterpassService

Returns a new instance of MasterpassService.



35
36
37
38
39
# 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

Instance Attribute Details

#origin_urlObject

Returns the value of attribute origin_url.



10
11
12
# File 'lib/mastercard_masterpass_api/masterpass_service.rb', line 10

def origin_url
  @origin_url
end

Instance Method Details

#get_access_token(access_url, request_token, oauth_verifier) ⇒ Object



54
55
56
57
58
59
# 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) ⇒ Object



98
99
100
101
102
103
# 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) ⇒ Object



65
66
67
# 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) ⇒ Object



61
62
63
# 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) ⇒ Object



84
85
86
87
88
89
90
91
92
# 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) ⇒ Object



77
78
79
80
81
82
# 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) ⇒ Object



47
48
49
50
51
52
# 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_factoryObject



41
42
43
44
45
# 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) ⇒ Object



94
95
96
# 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) ⇒ Object



73
74
75
# 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) ⇒ Object



69
70
71
# 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