Class: PaypalServerSdk::PaypalWalletExperienceContext

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb

Overview

Customizes the payer experience during the approval process for payment with PayPal. Note: Partners and Marketplaces might configure brand_name and shipping_preference during partner account setup, which overrides the request values.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(brand_name: SKIP, locale: SKIP, shipping_preference: PaypalWalletContextShippingPreference::GET_FROM_FILE, contact_preference: PaypalWalletContactPreference::NO_CONTACT_INFO, return_url: SKIP, cancel_url: SKIP, app_switch_context: SKIP, landing_page: PaypalExperienceLandingPage::NO_PREFERENCE, user_action: PaypalExperienceUserAction::CONTINUE, payment_method_preference: PayeePaymentMethodPreference::UNRESTRICTED, order_update_callback_config: SKIP) ⇒ PaypalWalletExperienceContext

Returns a new instance of PaypalWalletExperienceContext.



110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 110

def initialize(
  brand_name: SKIP, locale: SKIP,
  shipping_preference: PaypalWalletContextShippingPreference::GET_FROM_FILE,
  contact_preference: PaypalWalletContactPreference::NO_CONTACT_INFO,
  return_url: SKIP, cancel_url: SKIP, app_switch_context: SKIP,
  landing_page: PaypalExperienceLandingPage::NO_PREFERENCE,
  user_action: PaypalExperienceUserAction::CONTINUE,
  payment_method_preference: PayeePaymentMethodPreference::UNRESTRICTED,
  order_update_callback_config: SKIP
)
  @brand_name = brand_name unless brand_name == SKIP
  @locale = locale unless locale == SKIP
  @shipping_preference = shipping_preference unless shipping_preference == SKIP
  @contact_preference = contact_preference unless contact_preference == SKIP
  @return_url = return_url unless return_url == SKIP
  @cancel_url = cancel_url unless cancel_url == SKIP
  @app_switch_context = app_switch_context unless app_switch_context == SKIP
  @landing_page = landing_page unless landing_page == SKIP
  @user_action = user_action unless user_action == SKIP
  unless payment_method_preference == SKIP
    @payment_method_preference =
      payment_method_preference
  end
  unless order_update_callback_config == SKIP
    @order_update_callback_config =
      order_update_callback_config
  end
end

Instance Attribute Details

#app_switch_contextAppSwitchContext

Merchant provided details of the native app or mobile web browser to facilitate buyer’s app switch to the PayPal consumer app.

Returns:



53
54
55
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 53

def app_switch_context
  @app_switch_context
end

#brand_nameString

The label that overrides the business name in the PayPal account on the PayPal site. The pattern is defined by an external party and supports Unicode.

Returns:

  • (String)


19
20
21
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 19

def brand_name
  @brand_name
end

#cancel_urlString

Describes the URL.

Returns:

  • (String)


48
49
50
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 48

def cancel_url
  @cancel_url
end

#contact_preferencePaypalWalletContactPreference

The preference to display the contact information (buyer’s shipping email & phone number) on PayPal’s checkout for easy merchant-buyer communication.



40
41
42
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 40

def contact_preference
  @contact_preference
end

#landing_pagePaypalExperienceLandingPage

The type of landing page to show on the PayPal site for customer checkout.



57
58
59
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 57

def landing_page
  @landing_page
end

#localeString

The [language tag](tools.ietf.org/html/bcp47#section-2) for the language in which to localize the error-related strings, such as messages, issues, and suggested actions. The tag is made up of the [ISO 639-2 language code](www.loc.gov/standards/iso639-2/php/code_list.php), the optional [ISO-15924 script tag](www.unicode.org/iso15924/codelists.html), and the [ISO-3166 alpha-2 country code](/api/rest/reference/country-codes/) or [M49 region code](unstats.un.org/unsd/methodology/m49/).

Returns:

  • (String)


30
31
32
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 30

def locale
  @locale
end

#order_update_callback_configCallbackConfiguration

CallBack Configuration that the merchant can provide to PayPal/Venmo.



69
70
71
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 69

def order_update_callback_config
  @order_update_callback_config
end

#payment_method_preferencePayeePaymentMethodPreference

The merchant-preferred payment methods.



65
66
67
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 65

def payment_method_preference
  @payment_method_preference
end

#return_urlString

Describes the URL.

Returns:

  • (String)


44
45
46
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 44

def return_url
  @return_url
end

#shipping_preferencePaypalWalletContextShippingPreference

The location from which the shipping address is derived.



34
35
36
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 34

def shipping_preference
  @shipping_preference
end

#user_actionPaypalExperienceUserAction

Configures a Continue or Pay Now checkout flow.



61
62
63
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 61

def user_action
  @user_action
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 140

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  brand_name = hash.key?('brand_name') ? hash['brand_name'] : SKIP
  locale = hash.key?('locale') ? hash['locale'] : SKIP
  shipping_preference =
    hash['shipping_preference'] ||= PaypalWalletContextShippingPreference::GET_FROM_FILE
  contact_preference =
    hash['contact_preference'] ||= PaypalWalletContactPreference::NO_CONTACT_INFO
  return_url = hash.key?('return_url') ? hash['return_url'] : SKIP
  cancel_url = hash.key?('cancel_url') ? hash['cancel_url'] : SKIP
  app_switch_context = AppSwitchContext.from_hash(hash['app_switch_context']) if
    hash['app_switch_context']
  landing_page =
    hash['landing_page'] ||= PaypalExperienceLandingPage::NO_PREFERENCE
  user_action = hash['user_action'] ||= PaypalExperienceUserAction::CONTINUE
  payment_method_preference =
    hash['payment_method_preference'] ||= PayeePaymentMethodPreference::UNRESTRICTED
  if hash['order_update_callback_config']
    order_update_callback_config = CallbackConfiguration.from_hash(hash['order_update_callback_config'])
  end

  # Create object from extracted values.
  PaypalWalletExperienceContext.new(brand_name: brand_name,
                                    locale: locale,
                                    shipping_preference: shipping_preference,
                                    contact_preference: contact_preference,
                                    return_url: return_url,
                                    cancel_url: cancel_url,
                                    app_switch_context: app_switch_context,
                                    landing_page: landing_page,
                                    user_action: user_action,
                                    payment_method_preference: payment_method_preference,
                                    order_update_callback_config: order_update_callback_config)
end

.namesObject

A mapping from model property names to API property names.



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 72

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['brand_name'] = 'brand_name'
  @_hash['locale'] = 'locale'
  @_hash['shipping_preference'] = 'shipping_preference'
  @_hash['contact_preference'] = 'contact_preference'
  @_hash['return_url'] = 'return_url'
  @_hash['cancel_url'] = 'cancel_url'
  @_hash['app_switch_context'] = 'app_switch_context'
  @_hash['landing_page'] = 'landing_page'
  @_hash['user_action'] = 'user_action'
  @_hash['payment_method_preference'] = 'payment_method_preference'
  @_hash['order_update_callback_config'] = 'order_update_callback_config'
  @_hash
end

.nullablesObject

An array for nullable fields



106
107
108
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 106

def self.nullables
  []
end

.optionalsObject

An array for optional fields



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 89

def self.optionals
  %w[
    brand_name
    locale
    shipping_preference
    contact_preference
    return_url
    cancel_url
    app_switch_context
    landing_page
    user_action
    payment_method_preference
    order_update_callback_config
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



189
190
191
192
193
194
195
196
197
198
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 189

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} brand_name: #{@brand_name.inspect}, locale: #{@locale.inspect},"\
  " shipping_preference: #{@shipping_preference.inspect}, contact_preference:"\
  " #{@contact_preference.inspect}, return_url: #{@return_url.inspect}, cancel_url:"\
  " #{@cancel_url.inspect}, app_switch_context: #{@app_switch_context.inspect}, landing_page:"\
  " #{@landing_page.inspect}, user_action: #{@user_action.inspect}, payment_method_preference:"\
  " #{@payment_method_preference.inspect}, order_update_callback_config:"\
  " #{@order_update_callback_config.inspect}>"
end

#to_sObject

Provides a human-readable string representation of the object.



178
179
180
181
182
183
184
185
186
# File 'lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb', line 178

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} brand_name: #{@brand_name}, locale: #{@locale}, shipping_preference:"\
  " #{@shipping_preference}, contact_preference: #{@contact_preference}, return_url:"\
  " #{@return_url}, cancel_url: #{@cancel_url}, app_switch_context: #{@app_switch_context},"\
  " landing_page: #{@landing_page}, user_action: #{@user_action}, payment_method_preference:"\
  " #{@payment_method_preference}, order_update_callback_config:"\
  " #{@order_update_callback_config}>"
end