paypal-server-sdk 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +73 -23
  3. data/bin/console +15 -0
  4. data/lib/paypal_server_sdk/client.rb +11 -0
  5. data/lib/paypal_server_sdk/configuration.rb +66 -0
  6. data/lib/paypal_server_sdk/controllers/base_controller.rb +1 -1
  7. data/lib/paypal_server_sdk/http/auth/o_auth2.rb +15 -0
  8. data/lib/paypal_server_sdk/http/proxy_settings.rb +9 -0
  9. data/lib/paypal_server_sdk/logging/configuration/api_logging_configuration.rb +181 -109
  10. data/lib/paypal_server_sdk/models/apple_pay_payment_data_type.rb +13 -0
  11. data/lib/paypal_server_sdk/models/application_context_user_action.rb +13 -0
  12. data/lib/paypal_server_sdk/models/authorization_incomplete_reason.rb +13 -0
  13. data/lib/paypal_server_sdk/models/authorization_status.rb +17 -0
  14. data/lib/paypal_server_sdk/models/avs_code.rb +35 -0
  15. data/lib/paypal_server_sdk/models/callback_events.rb +13 -0
  16. data/lib/paypal_server_sdk/models/capture_incomplete_reason.rb +23 -0
  17. data/lib/paypal_server_sdk/models/capture_status.rb +17 -0
  18. data/lib/paypal_server_sdk/models/capture_type.rb +6 -0
  19. data/lib/paypal_server_sdk/models/card_brand.rb +41 -0
  20. data/lib/paypal_server_sdk/models/card_type.rb +16 -0
  21. data/lib/paypal_server_sdk/models/card_verification_status.rb +13 -0
  22. data/lib/paypal_server_sdk/models/checkout_payment_intent.rb +13 -0
  23. data/lib/paypal_server_sdk/models/cvv_code.rb +25 -0
  24. data/lib/paypal_server_sdk/models/disbursement_mode.rb +13 -0
  25. data/lib/paypal_server_sdk/models/dispute_category.rb +13 -0
  26. data/lib/paypal_server_sdk/models/eci_flag.rb +17 -0
  27. data/lib/paypal_server_sdk/models/enrollment_status.rb +15 -0
  28. data/lib/paypal_server_sdk/models/experience_context_shipping_preference.rb +14 -0
  29. data/lib/paypal_server_sdk/models/experience_status.rb +15 -0
  30. data/lib/paypal_server_sdk/models/fulfillment_type.rb +15 -0
  31. data/lib/paypal_server_sdk/models/google_pay_authentication_method.rb +13 -0
  32. data/lib/paypal_server_sdk/models/google_pay_payment_method.rb +6 -0
  33. data/lib/paypal_server_sdk/models/interval_unit.rb +15 -0
  34. data/lib/paypal_server_sdk/models/item_category.rb +14 -0
  35. data/lib/paypal_server_sdk/models/liability_shift_indicator.rb +14 -0
  36. data/lib/paypal_server_sdk/models/link_http_method.rb +19 -0
  37. data/lib/paypal_server_sdk/models/mobile_return_flow.rb +13 -0
  38. data/lib/paypal_server_sdk/models/o_auth_provider_error.rb +17 -0
  39. data/lib/paypal_server_sdk/models/order_application_context_landing_page.rb +14 -0
  40. data/lib/paypal_server_sdk/models/order_application_context_shipping_preference.rb +14 -0
  41. data/lib/paypal_server_sdk/models/order_application_context_user_action.rb +13 -0
  42. data/lib/paypal_server_sdk/models/order_status.rb +17 -0
  43. data/lib/paypal_server_sdk/models/order_tracker_status.rb +13 -0
  44. data/lib/paypal_server_sdk/models/orders_card_verification_method.rb +15 -0
  45. data/lib/paypal_server_sdk/models/os_type.rb +14 -0
  46. data/lib/paypal_server_sdk/models/pa_res_status.rb +19 -0
  47. data/lib/paypal_server_sdk/models/patch_op.rb +17 -0
  48. data/lib/paypal_server_sdk/models/payee_payment_method_preference.rb +13 -0
  49. data/lib/paypal_server_sdk/models/payment_advice_code.rb +26 -0
  50. data/lib/paypal_server_sdk/models/payment_initiator.rb +13 -0
  51. data/lib/paypal_server_sdk/models/payment_token_status.rb +16 -0
  52. data/lib/paypal_server_sdk/models/paypal_experience_landing_page.rb +15 -0
  53. data/lib/paypal_server_sdk/models/paypal_experience_user_action.rb +13 -0
  54. data/lib/paypal_server_sdk/models/paypal_payment_token_customer_type.rb +13 -0
  55. data/lib/paypal_server_sdk/models/paypal_payment_token_usage_type.rb +13 -0
  56. data/lib/paypal_server_sdk/models/paypal_reference_id_type.rb +15 -0
  57. data/lib/paypal_server_sdk/models/paypal_wallet_account_verification_status.rb +13 -0
  58. data/lib/paypal_server_sdk/models/paypal_wallet_attributes.rb +1 -2
  59. data/lib/paypal_server_sdk/models/paypal_wallet_contact_preference.rb +14 -0
  60. data/lib/paypal_server_sdk/models/paypal_wallet_context_shipping_preference.rb +14 -0
  61. data/lib/paypal_server_sdk/models/paypal_wallet_vault_base.rb +134 -0
  62. data/lib/paypal_server_sdk/models/paypal_wallet_vault_instruction.rb +20 -10
  63. data/lib/paypal_server_sdk/models/paypal_wallet_vault_status.rb +14 -0
  64. data/lib/paypal_server_sdk/models/phone_type.rb +16 -0
  65. data/lib/paypal_server_sdk/models/plan_request_status.rb +14 -0
  66. data/lib/paypal_server_sdk/models/pricing_model.rb +14 -0
  67. data/lib/paypal_server_sdk/models/processor_response_code.rb +165 -0
  68. data/lib/paypal_server_sdk/models/reason_code.rb +19 -0
  69. data/lib/paypal_server_sdk/models/refund_incomplete_reason.rb +6 -0
  70. data/lib/paypal_server_sdk/models/refund_status.rb +15 -0
  71. data/lib/paypal_server_sdk/models/return_flow.rb +13 -0
  72. data/lib/paypal_server_sdk/models/seller_protection_status.rb +14 -0
  73. data/lib/paypal_server_sdk/models/setup_fee_failure_action.rb +13 -0
  74. data/lib/paypal_server_sdk/models/shipment_carrier.rb +1428 -1
  75. data/lib/paypal_server_sdk/models/shipping_type.rb +15 -0
  76. data/lib/paypal_server_sdk/models/standard_entry_class_code.rb +15 -0
  77. data/lib/paypal_server_sdk/models/store_in_vault_instruction.rb +6 -0
  78. data/lib/paypal_server_sdk/models/stored_payment_source_payment_type.rb +14 -0
  79. data/lib/paypal_server_sdk/models/stored_payment_source_usage_type.rb +14 -0
  80. data/lib/paypal_server_sdk/models/subscriber.rb +29 -6
  81. data/lib/paypal_server_sdk/models/subscriber_request.rb +40 -17
  82. data/lib/paypal_server_sdk/models/subscription_payer.rb +85 -0
  83. data/lib/paypal_server_sdk/models/subscription_plan_status.rb +14 -0
  84. data/lib/paypal_server_sdk/models/subscription_pricing_model.rb +13 -0
  85. data/lib/paypal_server_sdk/models/subscriptions_card_brand.rb +36 -0
  86. data/lib/paypal_server_sdk/models/tax_id_type.rb +13 -0
  87. data/lib/paypal_server_sdk/models/tenure_type.rb +13 -0
  88. data/lib/paypal_server_sdk/models/token_type.rb +6 -0
  89. data/lib/paypal_server_sdk/models/upc_type.rb +18 -0
  90. data/lib/paypal_server_sdk/models/usage_pattern.rb +23 -0
  91. data/lib/paypal_server_sdk/models/usage_type.rb +39 -0
  92. data/lib/paypal_server_sdk/models/vault_card_verification_method.rb +13 -0
  93. data/lib/paypal_server_sdk/models/vault_instruction_action.rb +13 -0
  94. data/lib/paypal_server_sdk/models/vault_status.rb +14 -0
  95. data/lib/paypal_server_sdk/models/vault_token_request_type.rb +6 -0
  96. data/lib/paypal_server_sdk/models/vault_user_action.rb +13 -0
  97. data/lib/paypal_server_sdk/models/venmo_payment_token_customer_type.rb +13 -0
  98. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_pattern.rb +17 -0
  99. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_type.rb +13 -0
  100. data/lib/paypal_server_sdk/models/venmo_vault_response_status.rb +14 -0
  101. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context_shipping_preference.rb +14 -0
  102. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context_user_action.rb +13 -0
  103. data/lib/paypal_server_sdk.rb +3 -0
  104. metadata +6 -2
@@ -33,5 +33,20 @@ module PaypalServerSdk
33
33
 
34
34
  true
35
35
  end
36
+
37
+ def self.from_value(value, default_value = SHIPPING)
38
+ return default_value if value.nil?
39
+
40
+ str = value.to_s.strip
41
+
42
+ case str.downcase
43
+ when 'shipping' then SHIPPING
44
+ when 'pickup' then PICKUP
45
+ when 'pickup_in_store' then PICKUP_IN_STORE
46
+ when 'pickup_from_person' then PICKUP_FROM_PERSON
47
+ else
48
+ default_value
49
+ end
50
+ end
36
51
  end
37
52
  end
@@ -40,5 +40,20 @@ module PaypalServerSdk
40
40
 
41
41
  true
42
42
  end
43
+
44
+ def self.from_value(value, default_value = TEL)
45
+ return default_value if value.nil?
46
+
47
+ str = value.to_s.strip
48
+
49
+ case str.downcase
50
+ when 'tel' then TEL
51
+ when 'web' then WEB
52
+ when 'ccd' then CCD
53
+ when 'ppd' then PPD
54
+ else
55
+ default_value
56
+ end
57
+ end
43
58
  end
44
59
  end
@@ -17,5 +17,11 @@ module PaypalServerSdk
17
17
 
18
18
  true
19
19
  end
20
+
21
+ def self.from_value(value, default_value = ON_SUCCESS)
22
+ return default_value if value.nil?
23
+
24
+ default_value
25
+ end
20
26
  end
21
27
  end
@@ -25,5 +25,19 @@ module PaypalServerSdk
25
25
 
26
26
  true
27
27
  end
28
+
29
+ def self.from_value(value, default_value = ONE_TIME)
30
+ return default_value if value.nil?
31
+
32
+ str = value.to_s.strip
33
+
34
+ case str.downcase
35
+ when 'one_time' then ONE_TIME
36
+ when 'recurring' then RECURRING
37
+ when 'unscheduled' then UNSCHEDULED
38
+ else
39
+ default_value
40
+ end
41
+ end
28
42
  end
29
43
  end
@@ -26,5 +26,19 @@ module PaypalServerSdk
26
26
 
27
27
  true
28
28
  end
29
+
30
+ def self.from_value(value, default_value = FIRST)
31
+ return default_value if value.nil?
32
+
33
+ str = value.to_s.strip
34
+
35
+ case str.downcase
36
+ when 'first' then FIRST
37
+ when 'subsequent' then SUBSEQUENT
38
+ when 'derived' then DERIVED
39
+ else
40
+ default_value
41
+ end
42
+ end
29
43
  end
30
44
  end
@@ -9,6 +9,17 @@ module PaypalServerSdk
9
9
  SKIP = Object.new
10
10
  private_constant :SKIP
11
11
 
12
+ # The internationalized email address. Note: Up to 64 characters are allowed
13
+ # before and 255 characters are allowed after the @ sign. However, the
14
+ # generally accepted maximum length for an email address is 254 characters.
15
+ # The pattern verifies that an unquoted @ sign exists.
16
+ # @return [String]
17
+ attr_accessor :email_address
18
+
19
+ # The account identifier for a PayPal account.
20
+ # @return [String]
21
+ attr_accessor :payer_id
22
+
12
23
  # The name of the party.
13
24
  # @return [Name]
14
25
  attr_accessor :name
@@ -24,6 +35,8 @@ module PaypalServerSdk
24
35
  # A mapping from model property names to API property names.
25
36
  def self.names
26
37
  @_hash = {} if @_hash.nil?
38
+ @_hash['email_address'] = 'email_address'
39
+ @_hash['payer_id'] = 'payer_id'
27
40
  @_hash['name'] = 'name'
28
41
  @_hash['shipping_address'] = 'shipping_address'
29
42
  @_hash['payment_source'] = 'payment_source'
@@ -33,6 +46,8 @@ module PaypalServerSdk
33
46
  # An array for optional fields
34
47
  def self.optionals
35
48
  %w[
49
+ email_address
50
+ payer_id
36
51
  name
37
52
  shipping_address
38
53
  payment_source
@@ -44,7 +59,10 @@ module PaypalServerSdk
44
59
  []
45
60
  end
46
61
 
47
- def initialize(name: SKIP, shipping_address: SKIP, payment_source: SKIP)
62
+ def initialize(email_address: SKIP, payer_id: SKIP, name: SKIP,
63
+ shipping_address: SKIP, payment_source: SKIP)
64
+ @email_address = email_address unless email_address == SKIP
65
+ @payer_id = payer_id unless payer_id == SKIP
48
66
  @name = name unless name == SKIP
49
67
  @shipping_address = shipping_address unless shipping_address == SKIP
50
68
  @payment_source = payment_source unless payment_source == SKIP
@@ -55,6 +73,8 @@ module PaypalServerSdk
55
73
  return nil unless hash
56
74
 
57
75
  # Extract variables from the hash.
76
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
77
+ payer_id = hash.key?('payer_id') ? hash['payer_id'] : SKIP
58
78
  name = Name.from_hash(hash['name']) if hash['name']
59
79
  shipping_address = ShippingDetails.from_hash(hash['shipping_address']) if
60
80
  hash['shipping_address']
@@ -62,7 +82,9 @@ module PaypalServerSdk
62
82
  hash['payment_source']
63
83
 
64
84
  # Create object from extracted values.
65
- Subscriber.new(name: name,
85
+ Subscriber.new(email_address: email_address,
86
+ payer_id: payer_id,
87
+ name: name,
66
88
  shipping_address: shipping_address,
67
89
  payment_source: payment_source)
68
90
  end
@@ -70,15 +92,16 @@ module PaypalServerSdk
70
92
  # Provides a human-readable string representation of the object.
71
93
  def to_s
72
94
  class_name = self.class.name.split('::').last
73
- "<#{class_name} name: #{@name}, shipping_address: #{@shipping_address}, payment_source:"\
74
- " #{@payment_source}>"
95
+ "<#{class_name} email_address: #{@email_address}, payer_id: #{@payer_id}, name: #{@name},"\
96
+ " shipping_address: #{@shipping_address}, payment_source: #{@payment_source}>"
75
97
  end
76
98
 
77
99
  # Provides a debugging-friendly string with detailed object information.
78
100
  def inspect
79
101
  class_name = self.class.name.split('::').last
80
- "<#{class_name} name: #{@name.inspect}, shipping_address: #{@shipping_address.inspect},"\
81
- " payment_source: #{@payment_source.inspect}>"
102
+ "<#{class_name} email_address: #{@email_address.inspect}, payer_id: #{@payer_id.inspect},"\
103
+ " name: #{@name.inspect}, shipping_address: #{@shipping_address.inspect}, payment_source:"\
104
+ " #{@payment_source.inspect}>"
82
105
  end
83
106
  end
84
107
  end
@@ -9,14 +9,21 @@ module PaypalServerSdk
9
9
  SKIP = Object.new
10
10
  private_constant :SKIP
11
11
 
12
+ # The internationalized email address. Note: Up to 64 characters are allowed
13
+ # before and 255 characters are allowed after the @ sign. However, the
14
+ # generally accepted maximum length for an email address is 254 characters.
15
+ # The pattern verifies that an unquoted @ sign exists.
16
+ # @return [String]
17
+ attr_accessor :email_address
18
+
19
+ # The account identifier for a PayPal account.
20
+ # @return [String]
21
+ attr_accessor :payer_id
22
+
12
23
  # The name of the party.
13
24
  # @return [Name]
14
25
  attr_accessor :name
15
26
 
16
- # The phone information.
17
- # @return [PhoneWithType]
18
- attr_accessor :phone
19
-
20
27
  # The shipping details.
21
28
  # @return [ShippingDetails]
22
29
  attr_accessor :shipping_address
@@ -28,23 +35,31 @@ module PaypalServerSdk
28
35
  # @return [SubscriptionPaymentSource]
29
36
  attr_accessor :payment_source
30
37
 
38
+ # The phone information.
39
+ # @return [PhoneWithType]
40
+ attr_accessor :phone
41
+
31
42
  # A mapping from model property names to API property names.
32
43
  def self.names
33
44
  @_hash = {} if @_hash.nil?
45
+ @_hash['email_address'] = 'email_address'
46
+ @_hash['payer_id'] = 'payer_id'
34
47
  @_hash['name'] = 'name'
35
- @_hash['phone'] = 'phone'
36
48
  @_hash['shipping_address'] = 'shipping_address'
37
49
  @_hash['payment_source'] = 'payment_source'
50
+ @_hash['phone'] = 'phone'
38
51
  @_hash
39
52
  end
40
53
 
41
54
  # An array for optional fields
42
55
  def self.optionals
43
56
  %w[
57
+ email_address
58
+ payer_id
44
59
  name
45
- phone
46
60
  shipping_address
47
61
  payment_source
62
+ phone
48
63
  ]
49
64
  end
50
65
 
@@ -53,12 +68,14 @@ module PaypalServerSdk
53
68
  []
54
69
  end
55
70
 
56
- def initialize(name: SKIP, phone: SKIP, shipping_address: SKIP,
57
- payment_source: SKIP)
71
+ def initialize(email_address: SKIP, payer_id: SKIP, name: SKIP,
72
+ shipping_address: SKIP, payment_source: SKIP, phone: SKIP)
73
+ @email_address = email_address unless email_address == SKIP
74
+ @payer_id = payer_id unless payer_id == SKIP
58
75
  @name = name unless name == SKIP
59
- @phone = phone unless phone == SKIP
60
76
  @shipping_address = shipping_address unless shipping_address == SKIP
61
77
  @payment_source = payment_source unless payment_source == SKIP
78
+ @phone = phone unless phone == SKIP
62
79
  end
63
80
 
64
81
  # Creates an instance of the object from a hash.
@@ -66,32 +83,38 @@ module PaypalServerSdk
66
83
  return nil unless hash
67
84
 
68
85
  # Extract variables from the hash.
86
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
87
+ payer_id = hash.key?('payer_id') ? hash['payer_id'] : SKIP
69
88
  name = Name.from_hash(hash['name']) if hash['name']
70
- phone = PhoneWithType.from_hash(hash['phone']) if hash['phone']
71
89
  shipping_address = ShippingDetails.from_hash(hash['shipping_address']) if
72
90
  hash['shipping_address']
73
91
  payment_source = SubscriptionPaymentSource.from_hash(hash['payment_source']) if
74
92
  hash['payment_source']
93
+ phone = PhoneWithType.from_hash(hash['phone']) if hash['phone']
75
94
 
76
95
  # Create object from extracted values.
77
- SubscriberRequest.new(name: name,
78
- phone: phone,
96
+ SubscriberRequest.new(email_address: email_address,
97
+ payer_id: payer_id,
98
+ name: name,
79
99
  shipping_address: shipping_address,
80
- payment_source: payment_source)
100
+ payment_source: payment_source,
101
+ phone: phone)
81
102
  end
82
103
 
83
104
  # Provides a human-readable string representation of the object.
84
105
  def to_s
85
106
  class_name = self.class.name.split('::').last
86
- "<#{class_name} name: #{@name}, phone: #{@phone}, shipping_address: #{@shipping_address},"\
87
- " payment_source: #{@payment_source}>"
107
+ "<#{class_name} email_address: #{@email_address}, payer_id: #{@payer_id}, name: #{@name},"\
108
+ " shipping_address: #{@shipping_address}, payment_source: #{@payment_source}, phone:"\
109
+ " #{@phone}>"
88
110
  end
89
111
 
90
112
  # Provides a debugging-friendly string with detailed object information.
91
113
  def inspect
92
114
  class_name = self.class.name.split('::').last
93
- "<#{class_name} name: #{@name.inspect}, phone: #{@phone.inspect}, shipping_address:"\
94
- " #{@shipping_address.inspect}, payment_source: #{@payment_source.inspect}>"
115
+ "<#{class_name} email_address: #{@email_address.inspect}, payer_id: #{@payer_id.inspect},"\
116
+ " name: #{@name.inspect}, shipping_address: #{@shipping_address.inspect}, payment_source:"\
117
+ " #{@payment_source.inspect}, phone: #{@phone.inspect}>"
95
118
  end
96
119
  end
97
120
  end
@@ -0,0 +1,85 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # The customer who approves and pays for the order. The customer is also known
8
+ # as the payer.
9
+ class SubscriptionPayer < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The internationalized email address. Note: Up to 64 characters are allowed
14
+ # before and 255 characters are allowed after the @ sign. However, the
15
+ # generally accepted maximum length for an email address is 254 characters.
16
+ # The pattern verifies that an unquoted @ sign exists.
17
+ # @return [String]
18
+ attr_accessor :email_address
19
+
20
+ # The account identifier for a PayPal account.
21
+ # @return [String]
22
+ attr_accessor :payer_id
23
+
24
+ # The name of the party.
25
+ # @return [Name]
26
+ attr_accessor :name
27
+
28
+ # A mapping from model property names to API property names.
29
+ def self.names
30
+ @_hash = {} if @_hash.nil?
31
+ @_hash['email_address'] = 'email_address'
32
+ @_hash['payer_id'] = 'payer_id'
33
+ @_hash['name'] = 'name'
34
+ @_hash
35
+ end
36
+
37
+ # An array for optional fields
38
+ def self.optionals
39
+ %w[
40
+ email_address
41
+ payer_id
42
+ name
43
+ ]
44
+ end
45
+
46
+ # An array for nullable fields
47
+ def self.nullables
48
+ []
49
+ end
50
+
51
+ def initialize(email_address: SKIP, payer_id: SKIP, name: SKIP)
52
+ @email_address = email_address unless email_address == SKIP
53
+ @payer_id = payer_id unless payer_id == SKIP
54
+ @name = name unless name == SKIP
55
+ end
56
+
57
+ # Creates an instance of the object from a hash.
58
+ def self.from_hash(hash)
59
+ return nil unless hash
60
+
61
+ # Extract variables from the hash.
62
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
63
+ payer_id = hash.key?('payer_id') ? hash['payer_id'] : SKIP
64
+ name = Name.from_hash(hash['name']) if hash['name']
65
+
66
+ # Create object from extracted values.
67
+ SubscriptionPayer.new(email_address: email_address,
68
+ payer_id: payer_id,
69
+ name: name)
70
+ end
71
+
72
+ # Provides a human-readable string representation of the object.
73
+ def to_s
74
+ class_name = self.class.name.split('::').last
75
+ "<#{class_name} email_address: #{@email_address}, payer_id: #{@payer_id}, name: #{@name}>"
76
+ end
77
+
78
+ # Provides a debugging-friendly string with detailed object information.
79
+ def inspect
80
+ class_name = self.class.name.split('::').last
81
+ "<#{class_name} email_address: #{@email_address.inspect}, payer_id: #{@payer_id.inspect},"\
82
+ " name: #{@name.inspect}>"
83
+ end
84
+ end
85
+ end
@@ -24,5 +24,19 @@ module PaypalServerSdk
24
24
 
25
25
  true
26
26
  end
27
+
28
+ def self.from_value(value, default_value = CREATED)
29
+ return default_value if value.nil?
30
+
31
+ str = value.to_s.strip
32
+
33
+ case str.downcase
34
+ when 'created' then CREATED
35
+ when 'inactive' then INACTIVE
36
+ when 'active' then ACTIVE
37
+ else
38
+ default_value
39
+ end
40
+ end
27
41
  end
28
42
  end
@@ -19,5 +19,18 @@ module PaypalServerSdk
19
19
 
20
20
  true
21
21
  end
22
+
23
+ def self.from_value(value, default_value = VOLUME)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'volume' then VOLUME
30
+ when 'tiered' then TIERED
31
+ else
32
+ default_value
33
+ end
34
+ end
22
35
  end
23
36
  end
@@ -93,5 +93,41 @@ module PaypalServerSdk
93
93
 
94
94
  true
95
95
  end
96
+
97
+ def self.from_value(value, default_value = VISA)
98
+ return default_value if value.nil?
99
+
100
+ str = value.to_s.strip
101
+
102
+ case str.downcase
103
+ when 'visa' then VISA
104
+ when 'mastercard' then MASTERCARD
105
+ when 'discover' then DISCOVER
106
+ when 'amex' then AMEX
107
+ when 'solo' then SOLO
108
+ when 'jcb' then JCB
109
+ when 'star' then STAR
110
+ when 'delta' then DELTA
111
+ when 'switch' then SWITCH
112
+ when 'maestro' then MAESTRO
113
+ when 'cb_nationale' then CB_NATIONALE
114
+ when 'configoga' then CONFIGOGA
115
+ when 'confidis' then CONFIDIS
116
+ when 'electron' then ELECTRON
117
+ when 'cetelem' then CETELEM
118
+ when 'china_union_pay' then CHINA_UNION_PAY
119
+ when 'diners' then DINERS
120
+ when 'elo' then ELO
121
+ when 'hiper' then HIPER
122
+ when 'hipercard' then HIPERCARD
123
+ when 'rupay' then RUPAY
124
+ when 'ge' then GE
125
+ when 'synchrony' then SYNCHRONY
126
+ when 'eftpos' then EFTPOS
127
+ when 'unknown' then UNKNOWN
128
+ else
129
+ default_value
130
+ end
131
+ end
96
132
  end
97
133
  end
@@ -19,5 +19,18 @@ module PaypalServerSdk
19
19
 
20
20
  true
21
21
  end
22
+
23
+ def self.from_value(value, default_value = BR_CPF)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'br_cpf' then BR_CPF
30
+ when 'br_cnpj' then BR_CNPJ
31
+ else
32
+ default_value
33
+ end
34
+ end
22
35
  end
23
36
  end
@@ -26,5 +26,18 @@ module PaypalServerSdk
26
26
 
27
27
  true
28
28
  end
29
+
30
+ def self.from_value(value, default_value = REGULAR)
31
+ return default_value if value.nil?
32
+
33
+ str = value.to_s.strip
34
+
35
+ case str.downcase
36
+ when 'regular' then REGULAR
37
+ when 'trial' then TRIAL
38
+ else
39
+ default_value
40
+ end
41
+ end
29
42
  end
30
43
  end
@@ -17,5 +17,11 @@ module PaypalServerSdk
17
17
 
18
18
  true
19
19
  end
20
+
21
+ def self.from_value(value, default_value = BILLING_AGREEMENT)
22
+ return default_value if value.nil?
23
+
24
+ default_value
25
+ end
20
26
  end
21
27
  end
@@ -34,5 +34,23 @@ module PaypalServerSdk
34
34
 
35
35
  true
36
36
  end
37
+
38
+ def self.from_value(value, default_value = UPC_A)
39
+ return default_value if value.nil?
40
+
41
+ str = value.to_s.strip
42
+
43
+ case str.downcase
44
+ when 'upc_a' then UPC_A
45
+ when 'upc_b' then UPC_B
46
+ when 'upc_c' then UPC_C
47
+ when 'upc_d' then UPC_D
48
+ when 'upc_e' then UPC_E
49
+ when 'upc_2' then UPC_2
50
+ when 'upc_5' then UPC_5
51
+ else
52
+ default_value
53
+ end
54
+ end
37
55
  end
38
56
  end
@@ -68,5 +68,28 @@ module PaypalServerSdk
68
68
 
69
69
  true
70
70
  end
71
+
72
+ def self.from_value(value, default_value = IMMEDIATE)
73
+ return default_value if value.nil?
74
+
75
+ str = value.to_s.strip
76
+
77
+ case str.downcase
78
+ when 'immediate' then IMMEDIATE
79
+ when 'deferred' then DEFERRED
80
+ when 'recurring_prepaid' then RECURRING_PREPAID
81
+ when 'recurring_postpaid' then RECURRING_POSTPAID
82
+ when 'threshold_prepaid' then THRESHOLD_PREPAID
83
+ when 'threshold_postpaid' then THRESHOLD_POSTPAID
84
+ when 'subscription_prepaid' then SUBSCRIPTION_PREPAID
85
+ when 'subscription_postpaid' then SUBSCRIPTION_POSTPAID
86
+ when 'unscheduled_prepaid' then UNSCHEDULED_PREPAID
87
+ when 'unscheduled_postpaid' then UNSCHEDULED_POSTPAID
88
+ when 'installment_prepaid' then INSTALLMENT_PREPAID
89
+ when 'installment_postpaid' then INSTALLMENT_POSTPAID
90
+ else
91
+ default_value
92
+ end
93
+ end
71
94
  end
72
95
  end
@@ -0,0 +1,39 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # The usage type associated with the PayPal payment token.
8
+ class UsageType
9
+ USAGE_TYPE = [
10
+ # The PayPal Payment Token will be used for future transaction directly
11
+ # with a merchant.
12
+ MERCHANT = 'MERCHANT'.freeze,
13
+
14
+ # The PayPal Payment Token will be used for future transaction on a
15
+ # platform. A platform is typically a marketplace or a channel that a
16
+ # payer can purchase goods and services from multiple merchants.
17
+ PLATFORM = 'PLATFORM'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ true
24
+ end
25
+
26
+ def self.from_value(value, default_value = MERCHANT)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'merchant' then MERCHANT
33
+ when 'platform' then PLATFORM
34
+ else
35
+ default_value
36
+ end
37
+ end
38
+ end
39
+ end
@@ -35,5 +35,18 @@ module PaypalServerSdk
35
35
 
36
36
  true
37
37
  end
38
+
39
+ def self.from_value(value, default_value = SCA_WHEN_REQUIRED)
40
+ return default_value if value.nil?
41
+
42
+ str = value.to_s.strip
43
+
44
+ case str.downcase
45
+ when 'sca_when_required' then SCA_WHEN_REQUIRED
46
+ when 'sca_always' then SCA_ALWAYS
47
+ else
48
+ default_value
49
+ end
50
+ end
38
51
  end
39
52
  end
@@ -22,5 +22,18 @@ module PaypalServerSdk
22
22
 
23
23
  true
24
24
  end
25
+
26
+ def self.from_value(value, default_value = ON_CREATE_PAYMENT_TOKENS)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'on_create_payment_tokens' then ON_CREATE_PAYMENT_TOKENS
33
+ when 'on_payer_approval' then ON_PAYER_APPROVAL
34
+ else
35
+ default_value
36
+ end
37
+ end
25
38
  end
26
39
  end
@@ -27,5 +27,19 @@ module PaypalServerSdk
27
27
 
28
28
  true
29
29
  end
30
+
31
+ def self.from_value(value, default_value = VAULTED)
32
+ return default_value if value.nil?
33
+
34
+ str = value.to_s.strip
35
+
36
+ case str.downcase
37
+ when 'vaulted' then VAULTED
38
+ when 'created' then CREATED
39
+ when 'approved' then APPROVED
40
+ else
41
+ default_value
42
+ end
43
+ end
30
44
  end
31
45
  end