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

#to_hash, #to_json

Constructor Details

#initialize(description: 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.



116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 116

def initialize(description: 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
  @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:



70
71
72
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 70

def address
  @address
end

#customer_typeString

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.

Returns:

  • (String)


41
42
43
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 41

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.<blockquote><strong>Note:</strong> 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.</blockquote>

Returns:

  • (String)


49
50
51
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 49

def email_address
  @email_address
end

#nameName

The name of the party.

Returns:



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

def name
  @name
end

#payer_idString

The account identifier for a PayPal account.

Returns:

  • (String)


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

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)


31
32
33
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 31

def permit_multiple_payment_tokens
  @permit_multiple_payment_tokens
end

#phonePhoneWithType

The phone information.

Returns:



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

def phone
  @phone
end

#shippingVaultedDigitalWalletShippingDetails

The shipping details.



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

def shipping
  @shipping
end

#usage_typeString

The usage type associated with a digital wallet payment token.

Returns:

  • (String)


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

def usage_type
  @usage_type
end

#user_nameString

The Venmo username, as chosen by the user.

Returns:

  • (String)


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

def user_name
  @user_name
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



137
138
139
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
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 137

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  description = hash.key?('description') ? hash['description'] : 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,
                        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.



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 77

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['description'] = 'description'
  @_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



112
113
114
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 112

def self.nullables
  []
end

.optionalsObject

An array for optional fields



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/paypal_server_sdk/models/venmo_payment_token.rb', line 95

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