Class: PaypalServerSdk::VenmoPaymentToken

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

Overview

VenmoPaymentToken Model.

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(description: SKIP, usage_pattern: SKIP, shipping: SKIP, permit_multiple_payment_tokens: false, usage_type: SKIP, customer_type: SKIP, email_address: SKIP, payer_id: SKIP, name: SKIP, phone: SKIP, address: SKIP, user_name: SKIP) ⇒ VenmoPaymentToken

Returns a new instance of VenmoPaymentToken.



121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 121

def initialize(description: SKIP, usage_pattern: SKIP, shipping: SKIP,
               permit_multiple_payment_tokens: false, usage_type: SKIP,
               customer_type: SKIP, email_address: SKIP, payer_id: SKIP,
               name: SKIP, phone: SKIP, address: SKIP, user_name: SKIP)
  @description = description unless description == SKIP
  @usage_pattern = usage_pattern unless usage_pattern == SKIP
  @shipping = shipping unless shipping == SKIP
  unless permit_multiple_payment_tokens == SKIP
    @permit_multiple_payment_tokens =
      permit_multiple_payment_tokens
  end
  @usage_type = usage_type unless usage_type == SKIP
  @customer_type = customer_type unless customer_type == SKIP
  @email_address = email_address unless email_address == SKIP
  @payer_id = payer_id unless payer_id == SKIP
  @name = name unless name == SKIP
  @phone = phone unless phone == SKIP
  @address = address unless address == SKIP
  @user_name = user_name unless user_name == SKIP
end

Instance Attribute Details

#addressAddress

The portable international postal address. Maps to [AddressValidationMetadata](github.com/googlei18n/libaddressinput/ wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls: the autocomplete attribute](www.w3.org/TR/html51/sec-forms.html#autofilling-form-co ntrols-the-autocomplete-attribute).

Returns:



73
74
75
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 73

def address
  @address
end

#customer_typePaypalPaymentTokenCustomerType

The customer type associated with a digital wallet payment token. This is to indicate whether the customer acting on the merchant / platform is either a business or a consumer.



45
46
47
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 45

def customer_type
  @customer_type
end

#descriptionString

The description displayed to the consumer on the approval flow for a digital wallet, as well as on the merchant view of the payment token management experience. exp: PayPal.com.

Returns:

  • (String)


16
17
18
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 16

def description
  @description
end

#email_addressString

The internationalized email address. Note: Up to 64 characters are allowed before and 255 characters are allowed after the @ sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted @ sign exists.

Returns:

  • (String)


52
53
54
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 52

def email_address
  @email_address
end

#nameName

The name of the party.

Returns:



60
61
62
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 60

def name
  @name
end

#payer_idString

The account identifier for a PayPal account.

Returns:

  • (String)


56
57
58
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 56

def payer_id
  @payer_id
end

#permit_multiple_payment_tokensTrueClass | FalseClass

Create multiple payment tokens for the same payer, merchant/platform combination. Use this when the customer has not logged in at merchant/platform. The payment token thus generated, can then also be used to create the customer account at merchant/platform. Use this also when multiple payment tokens are required for the same payer, different customer at merchant/platform. This helps to identify customers distinctly even though they may share the same PayPal account. This only applies to PayPal payment source.

Returns:

  • (TrueClass | FalseClass)


35
36
37
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 35

def permit_multiple_payment_tokens
  @permit_multiple_payment_tokens
end

#phonePhoneWithType

The phone information.

Returns:



64
65
66
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 64

def phone
  @phone
end

#shippingVaultedDigitalWalletShippingDetails

The shipping details.



24
25
26
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 24

def shipping
  @shipping
end

#usage_patternUsagePattern

Expected business/charge model for the billing agreement.

Returns:



20
21
22
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 20

def usage_pattern
  @usage_pattern
end

#usage_typePaypalPaymentTokenUsageType

The usage type associated with a digital wallet payment token.



39
40
41
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 39

def usage_type
  @usage_type
end

#user_nameString

The Venmo username, as chosen by the user.

Returns:

  • (String)


77
78
79
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 77

def user_name
  @user_name
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



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/venmo_payment_token.rb', line 143

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.

  description = hash.key?('description') ? hash['description'] : SKIP
  usage_pattern = hash.key?('usage_pattern') ? hash['usage_pattern'] : SKIP
  shipping = VaultedDigitalWalletShippingDetails.from_hash(hash['shipping']) if
    hash['shipping']
  permit_multiple_payment_tokens =
    hash['permit_multiple_payment_tokens'] ||= false
  usage_type = hash.key?('usage_type') ? hash['usage_type'] : SKIP
  customer_type = hash.key?('customer_type') ? hash['customer_type'] : SKIP
  email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
  payer_id = hash.key?('payer_id') ? hash['payer_id'] : SKIP
  name = Name.from_hash(hash['name']) if hash['name']
  phone = PhoneWithType.from_hash(hash['phone']) if hash['phone']
  address = Address.from_hash(hash['address']) if hash['address']
  user_name = hash.key?('user_name') ? hash['user_name'] : SKIP

  # Create object from extracted values.

  VenmoPaymentToken.new(description: description,
                        usage_pattern: usage_pattern,
                        shipping: shipping,
                        permit_multiple_payment_tokens: permit_multiple_payment_tokens,
                        usage_type: usage_type,
                        customer_type: customer_type,
                        email_address: email_address,
                        payer_id: payer_id,
                        name: name,
                        phone: phone,
                        address: address,
                        user_name: user_name)
end

.namesObject

A mapping from model property names to API property names.



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 80

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['description'] = 'description'
  @_hash['usage_pattern'] = 'usage_pattern'
  @_hash['shipping'] = 'shipping'
  @_hash['permit_multiple_payment_tokens'] =
    'permit_multiple_payment_tokens'
  @_hash['usage_type'] = 'usage_type'
  @_hash['customer_type'] = 'customer_type'
  @_hash['email_address'] = 'email_address'
  @_hash['payer_id'] = 'payer_id'
  @_hash['name'] = 'name'
  @_hash['phone'] = 'phone'
  @_hash['address'] = 'address'
  @_hash['user_name'] = 'user_name'
  @_hash
end

.nullablesObject

An array for nullable fields



117
118
119
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 117

def self.nullables
  []
end

.optionalsObject

An array for optional fields



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 99

def self.optionals
  %w[
    description
    usage_pattern
    shipping
    permit_multiple_payment_tokens
    usage_type
    customer_type
    email_address
    payer_id
    name
    phone
    address
    user_name
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



188
189
190
191
192
193
194
195
196
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 188

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} description: #{@description.inspect}, usage_pattern:"\
  " #{@usage_pattern.inspect}, shipping: #{@shipping.inspect}, permit_multiple_payment_tokens:"\
  " #{@permit_multiple_payment_tokens.inspect}, usage_type: #{@usage_type.inspect},"\
  " customer_type: #{@customer_type.inspect}, email_address: #{@email_address.inspect},"\
  " payer_id: #{@payer_id.inspect}, name: #{@name.inspect}, phone: #{@phone.inspect}, address:"\
  " #{@address.inspect}, user_name: #{@user_name.inspect}>"
end

#to_sObject

Provides a human-readable string representation of the object.



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

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} description: #{@description}, usage_pattern: #{@usage_pattern}, shipping:"\
  " #{@shipping}, permit_multiple_payment_tokens: #{@permit_multiple_payment_tokens},"\
  " usage_type: #{@usage_type}, customer_type: #{@customer_type}, email_address:"\
  " #{@email_address}, payer_id: #{@payer_id}, name: #{@name}, phone: #{@phone}, address:"\
  " #{@address}, user_name: #{@user_name}>"
end