Class: PaypalServerSdk::Customer

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

Overview

This object defines a customer in your system. Use it to manage customer profiles, save payment methods and contact details.

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(id: SKIP, merchant_customer_id: SKIP) ⇒ Customer

Returns a new instance of Customer.



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

def initialize(id: SKIP, merchant_customer_id: SKIP)
  @id = id unless id == SKIP
  @merchant_customer_id = merchant_customer_id unless merchant_customer_id == SKIP
end

Instance Attribute Details

#idString

The unique ID for a customer generated by PayPal.

Returns:

  • (String)


15
16
17
# File 'lib/paypal_server_sdk/models/customer.rb', line 15

def id
  @id
end

#merchant_customer_idString

Merchants and partners may already have a data-store where their customer information is persisted. Use merchant_customer_id to associate the PayPal-generated customer.id to your representation of a customer.

Returns:

  • (String)


21
22
23
# File 'lib/paypal_server_sdk/models/customer.rb', line 21

def merchant_customer_id
  @merchant_customer_id
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/paypal_server_sdk/models/customer.rb', line 50

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  id = hash.key?('id') ? hash['id'] : SKIP
  merchant_customer_id =
    hash.key?('merchant_customer_id') ? hash['merchant_customer_id'] : SKIP

  # Create object from extracted values.
  Customer.new(id: id,
               merchant_customer_id: merchant_customer_id)
end

.namesObject

A mapping from model property names to API property names.



24
25
26
27
28
29
# File 'lib/paypal_server_sdk/models/customer.rb', line 24

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['id'] = 'id'
  @_hash['merchant_customer_id'] = 'merchant_customer_id'
  @_hash
end

.nullablesObject

An array for nullable fields



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

def self.nullables
  []
end

.optionalsObject

An array for optional fields



32
33
34
35
36
37
# File 'lib/paypal_server_sdk/models/customer.rb', line 32

def self.optionals
  %w[
    id
    merchant_customer_id
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



70
71
72
73
74
# File 'lib/paypal_server_sdk/models/customer.rb', line 70

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} id: #{@id.inspect}, merchant_customer_id:"\
  " #{@merchant_customer_id.inspect}>"
end

#to_sObject

Provides a human-readable string representation of the object.



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

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} id: #{@id}, merchant_customer_id: #{@merchant_customer_id}>"
end