Class: PaypalServerSdk::PaypalPaymentToken

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

Overview

PaypalPaymentToken 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, account_id: SKIP, phone_number: SKIP) ⇒ PaypalPaymentToken

Returns a new instance of PaypalPaymentToken.



128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/paypal_server_sdk/models/paypal_payment_token.rb', line 128

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, account_id: SKIP,
               phone_number: 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
  @account_id =  unless  == SKIP
  @phone_number = phone_number unless phone_number == SKIP
end

Instance Attribute Details

#account_idString

The account identifier for a PayPal account.

Returns:

  • (String)


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

def 
  @account_id
end

#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/paypal_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/paypal_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/paypal_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/paypal_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/paypal_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/paypal_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/paypal_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/paypal_payment_token.rb', line 64

def phone
  @phone
end

#phone_numberPhone

The phone number, in its canonical international [E.164 numbering plan format](www.itu.int/rec/T-REC-E.164/en).

Returns:



82
83
84
# File 'lib/paypal_server_sdk/models/paypal_payment_token.rb', line 82

def phone_number
  @phone_number
end

#shippingVaultedDigitalWalletShippingDetails

The shipping details.



24
25
26
# File 'lib/paypal_server_sdk/models/paypal_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/paypal_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/paypal_payment_token.rb', line 39

def usage_type
  @usage_type
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# File 'lib/paypal_server_sdk/models/paypal_payment_token.rb', line 152

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']
   = hash.key?('account_id') ? hash['account_id'] : SKIP
  phone_number = Phone.from_hash(hash['phone_number']) if hash['phone_number']

  # Create object from extracted values.
  PaypalPaymentToken.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,
                         account_id: ,
                         phone_number: phone_number)
end

.namesObject

A mapping from model property names to API property names.



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/paypal_server_sdk/models/paypal_payment_token.rb', line 85

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['account_id'] = 'account_id'
  @_hash['phone_number'] = 'phone_number'
  @_hash
end

.nullablesObject

An array for nullable fields



124
125
126
# File 'lib/paypal_server_sdk/models/paypal_payment_token.rb', line 124

def self.nullables
  []
end

.optionalsObject

An array for optional fields



105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/paypal_server_sdk/models/paypal_payment_token.rb', line 105

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

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



199
200
201
202
203
204
205
206
207
208
# File 'lib/paypal_server_sdk/models/paypal_payment_token.rb', line 199

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}, account_id: #{@account_id.inspect}, phone_number:"\
  " #{@phone_number.inspect}>"
end

#to_sObject

Provides a human-readable string representation of the object.



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

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}, account_id: #{@account_id}, phone_number: #{@phone_number}>"
end