paypal-server-sdk 2.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 716ca4b1a12121acd6e221becbf2d29c55063b4f8b46eb68b499a84d6c22a175
4
- data.tar.gz: c875e40983c4bb398f4d40849540c2e3e8a612f94383ca70326bd7a5a24f7223
3
+ metadata.gz: 897375c15dd72b5ca2daacf2cab5d59d6ce03c115988a287046464457fe0ff1c
4
+ data.tar.gz: f550128d4e3650b8b88e3c93e87b3cb531847d71cbec66419671c753f5b5e6c9
5
5
  SHA512:
6
- metadata.gz: 96c1fd80ecdf37001dc6e351e81677e02740414aba53b4913a71c56a82a1bafcc5d5f55caf6af264a5e065fdbcfcb7ddd07875358c09b893087277016371a6a3
7
- data.tar.gz: 0d5bb3db5f27cddfff1c1712fd14d0519108a9d5239605615f6ade8aa5c452cdf5b2cb59986e9e99066e44ea04042867c5c79491b4e21f10be0db6eddb228ebc
6
+ metadata.gz: 7873e8c5e2f95ca2c3ad61b53bf1a59117f1d543040f0edf84d24808a4fd7b78e94c1968eccf93ad4cf44f62b6220c958069a616db1e6dc4d9aeced4143df03f
7
+ data.tar.gz: c183c3346a29a306bbcd7a473ed60d642a47512bf8b37e7e86e3450e4cd6d9a138899b586354c3936330cd78e57d7f91be24d259249886dac8b908d5f4cb3d0a
data/README.md CHANGED
@@ -22,16 +22,16 @@ The PayPal Server SDK provides integration access to the PayPal REST APIs. The A
22
22
  Install the gem from the command line:
23
23
 
24
24
  ```bash
25
- gem install paypal-server-sdk -v 2.1.0
25
+ gem install paypal-server-sdk -v 2.2.0
26
26
  ```
27
27
 
28
28
  Or add the gem to your Gemfile and run `bundle`:
29
29
 
30
30
  ```ruby
31
- gem 'paypal-server-sdk', '2.1.0'
31
+ gem 'paypal-server-sdk', '2.2.0'
32
32
  ```
33
33
 
34
- For additional gem details, see the [RubyGems page for the paypal-server-sdk gem](https://rubygems.org/gems/paypal-server-sdk/versions/2.1.0).
34
+ For additional gem details, see the [RubyGems page for the paypal-server-sdk gem](https://rubygems.org/gems/paypal-server-sdk/versions/2.2.0).
35
35
 
36
36
  ## IRB Console Usage
37
37
 
@@ -70,7 +70,7 @@ ruby bin/console
70
70
 
71
71
  ## Initialize the API Client
72
72
 
73
- **_Note:_** Documentation for the client can be found [here.](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/client.md)
73
+ **_Note:_** Documentation for the client can be found [here.](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/client.md)
74
74
 
75
75
  The following parameters are configurable for the API Client:
76
76
 
@@ -86,9 +86,9 @@ The following parameters are configurable for the API Client:
86
86
  | retry_statuses | `Array` | A list of HTTP statuses to retry. <br> **Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |
87
87
  | retry_methods | `Array` | A list of HTTP methods to retry. <br> **Default: %i[get put]** |
88
88
  | http_callback | `HttpCallBack` | The Http CallBack allows defining callables for pre and post API calls. |
89
- | proxy_settings | [`ProxySettings`](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/proxy-settings.md) | Optional proxy configuration to route HTTP requests through a proxy server. |
90
- | logging_configuration | [`LoggingConfiguration`](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/logging-configuration.md) | The SDK logging configuration for API calls |
91
- | client_credentials_auth_credentials | [`ClientCredentialsAuthCredentials`](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/auth/oauth-2-client-credentials-grant.md) | The credential object for OAuth 2 Client Credentials Grant |
89
+ | proxy_settings | [`ProxySettings`](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/proxy-settings.md) | Optional proxy configuration to route HTTP requests through a proxy server. |
90
+ | logging_configuration | [`LoggingConfiguration`](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/logging-configuration.md) | The SDK logging configuration for API calls |
91
+ | client_credentials_auth_credentials | [`ClientCredentialsAuthCredentials`](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/auth/oauth-2-client-credentials-grant.md) | The credential object for OAuth 2 Client Credentials Grant |
92
92
 
93
93
  The API client can be initialized as follows:
94
94
 
@@ -126,7 +126,7 @@ include PaypalServerSdk
126
126
  client = Client.from_env
127
127
  ```
128
128
 
129
- See the [`Environment-Based Client Initialization`](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/environment-based-client-initialization.md) section for details.
129
+ See the [`Environment-Based Client Initialization`](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/environment-based-client-initialization.md) section for details.
130
130
 
131
131
  ## Environments
132
132
 
@@ -143,35 +143,35 @@ The SDK can be configured to use a different environment for making API calls. A
143
143
 
144
144
  This API uses the following authentication schemes.
145
145
 
146
- * [`Oauth2 (OAuth 2 Client Credentials Grant)`](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/auth/oauth-2-client-credentials-grant.md)
146
+ * [`Oauth2 (OAuth 2 Client Credentials Grant)`](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/auth/oauth-2-client-credentials-grant.md)
147
147
 
148
148
  ## List of APIs
149
149
 
150
- * [Orders](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/controllers/orders.md)
151
- * [Payments](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/controllers/payments.md)
152
- * [Vault](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/controllers/vault.md)
153
- * [Transaction Search](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/controllers/transaction-search.md)
154
- * [Subscriptions](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/controllers/subscriptions.md)
150
+ * [Orders](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/controllers/orders.md)
151
+ * [Payments](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/controllers/payments.md)
152
+ * [Vault](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/controllers/vault.md)
153
+ * [Transaction Search](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/controllers/transaction-search.md)
154
+ * [Subscriptions](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/controllers/subscriptions.md)
155
155
 
156
156
  ## SDK Infrastructure
157
157
 
158
158
  ### Configuration
159
159
 
160
- * [ProxySettings](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/proxy-settings.md)
161
- * [Environment-Based Client Initialization](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/environment-based-client-initialization.md)
162
- * [AbstractLogger](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/abstract-logger.md)
163
- * [LoggingConfiguration](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/logging-configuration.md)
164
- * [RequestLoggingConfiguration](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/request-logging-configuration.md)
165
- * [ResponseLoggingConfiguration](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/response-logging-configuration.md)
160
+ * [ProxySettings](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/proxy-settings.md)
161
+ * [Environment-Based Client Initialization](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/environment-based-client-initialization.md)
162
+ * [AbstractLogger](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/abstract-logger.md)
163
+ * [LoggingConfiguration](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/logging-configuration.md)
164
+ * [RequestLoggingConfiguration](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/request-logging-configuration.md)
165
+ * [ResponseLoggingConfiguration](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/response-logging-configuration.md)
166
166
 
167
167
  ### HTTP
168
168
 
169
- * [HttpResponse](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/http-response.md)
170
- * [HttpRequest](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/http-request.md)
169
+ * [HttpResponse](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/http-response.md)
170
+ * [HttpRequest](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/http-request.md)
171
171
 
172
172
  ### Utilities
173
173
 
174
- * [ApiResponse](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/api-response.md)
175
- * [ApiHelper](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/api-helper.md)
176
- * [DateTimeHelper](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.1.0/doc/date-time-helper.md)
174
+ * [ApiResponse](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/api-response.md)
175
+ * [ApiHelper](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/api-helper.md)
176
+ * [DateTimeHelper](https://www.github.com/paypal/PayPal-Ruby-Server-SDK/tree/2.2.0/doc/date-time-helper.md)
177
177
 
@@ -10,7 +10,7 @@ module PaypalServerSdk
10
10
  attr_accessor :config, :http_call_back
11
11
 
12
12
  def self.user_agent
13
- 'PayPal REST API Ruby SDK, Version: 2.1.0, on OS {os-info}'
13
+ 'PayPal REST API Ruby SDK, Version: 2.2.0, on OS {os-info}'
14
14
  end
15
15
 
16
16
  def self.user_agent_parameters
@@ -13,8 +13,7 @@ module PaypalServerSdk
13
13
  # @return [PaypalWalletCustomerRequest]
14
14
  attr_accessor :customer
15
15
 
16
- # Resource consolidating common request and response attributes for vaulting
17
- # PayPal Wallet.
16
+ # TODO: Write general description for this method
18
17
  # @return [PaypalWalletVaultInstruction]
19
18
  attr_accessor :vault
20
19
 
@@ -0,0 +1,134 @@
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
+ # Resource consolidating common request and response attributes for vaulting
8
+ # PayPal Wallet.
9
+ class PaypalWalletVaultBase < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Defines how and when the payment source gets vaulted.
14
+ # @return [StoreInVaultInstruction]
15
+ attr_accessor :store_in_vault
16
+
17
+ # The description displayed to PayPal consumer on the approval flow for
18
+ # PayPal, as well as on the PayPal payment token management experience on
19
+ # PayPal.com.
20
+ # @return [String]
21
+ attr_accessor :description
22
+
23
+ # Expected business/pricing model for the billing agreement.
24
+ # @return [UsagePattern]
25
+ attr_accessor :usage_pattern
26
+
27
+ # The usage type associated with the PayPal payment token.
28
+ # @return [UsageType]
29
+ attr_accessor :usage_type
30
+
31
+ # The customer type associated with the PayPal payment token. This is to
32
+ # indicate whether the customer acting on the merchant / platform is either
33
+ # a business or a consumer.
34
+ # @return [PaypalPaymentTokenCustomerType]
35
+ attr_accessor :customer_type
36
+
37
+ # Create multiple payment tokens for the same payer, merchant/platform
38
+ # combination. Use this when the customer has not logged in at
39
+ # merchant/platform. The payment token thus generated, can then also be used
40
+ # to create the customer account at merchant/platform. Use this also when
41
+ # multiple payment tokens are required for the same payer, different
42
+ # customer at merchant/platform. This helps to identify customers distinctly
43
+ # even though they may share the same PayPal account. This only applies to
44
+ # PayPal payment source.
45
+ # @return [TrueClass | FalseClass]
46
+ attr_accessor :permit_multiple_payment_tokens
47
+
48
+ # A mapping from model property names to API property names.
49
+ def self.names
50
+ @_hash = {} if @_hash.nil?
51
+ @_hash['store_in_vault'] = 'store_in_vault'
52
+ @_hash['description'] = 'description'
53
+ @_hash['usage_pattern'] = 'usage_pattern'
54
+ @_hash['usage_type'] = 'usage_type'
55
+ @_hash['customer_type'] = 'customer_type'
56
+ @_hash['permit_multiple_payment_tokens'] =
57
+ 'permit_multiple_payment_tokens'
58
+ @_hash
59
+ end
60
+
61
+ # An array for optional fields
62
+ def self.optionals
63
+ %w[
64
+ store_in_vault
65
+ description
66
+ usage_pattern
67
+ usage_type
68
+ customer_type
69
+ permit_multiple_payment_tokens
70
+ ]
71
+ end
72
+
73
+ # An array for nullable fields
74
+ def self.nullables
75
+ []
76
+ end
77
+
78
+ def initialize(store_in_vault: SKIP, description: SKIP, usage_pattern: SKIP,
79
+ usage_type: SKIP,
80
+ customer_type: PaypalPaymentTokenCustomerType::CONSUMER,
81
+ permit_multiple_payment_tokens: false)
82
+ @store_in_vault = store_in_vault unless store_in_vault == SKIP
83
+ @description = description unless description == SKIP
84
+ @usage_pattern = usage_pattern unless usage_pattern == SKIP
85
+ @usage_type = usage_type unless usage_type == SKIP
86
+ @customer_type = customer_type unless customer_type == SKIP
87
+ unless permit_multiple_payment_tokens == SKIP
88
+ @permit_multiple_payment_tokens =
89
+ permit_multiple_payment_tokens
90
+ end
91
+ end
92
+
93
+ # Creates an instance of the object from a hash.
94
+ def self.from_hash(hash)
95
+ return nil unless hash
96
+
97
+ # Extract variables from the hash.
98
+ store_in_vault =
99
+ hash.key?('store_in_vault') ? hash['store_in_vault'] : SKIP
100
+ description = hash.key?('description') ? hash['description'] : SKIP
101
+ usage_pattern = hash.key?('usage_pattern') ? hash['usage_pattern'] : SKIP
102
+ usage_type = hash.key?('usage_type') ? hash['usage_type'] : SKIP
103
+ customer_type =
104
+ hash['customer_type'] ||= PaypalPaymentTokenCustomerType::CONSUMER
105
+ permit_multiple_payment_tokens =
106
+ hash['permit_multiple_payment_tokens'] ||= false
107
+
108
+ # Create object from extracted values.
109
+ PaypalWalletVaultBase.new(store_in_vault: store_in_vault,
110
+ description: description,
111
+ usage_pattern: usage_pattern,
112
+ usage_type: usage_type,
113
+ customer_type: customer_type,
114
+ permit_multiple_payment_tokens: permit_multiple_payment_tokens)
115
+ end
116
+
117
+ # Provides a human-readable string representation of the object.
118
+ def to_s
119
+ class_name = self.class.name.split('::').last
120
+ "<#{class_name} store_in_vault: #{@store_in_vault}, description: #{@description},"\
121
+ " usage_pattern: #{@usage_pattern}, usage_type: #{@usage_type}, customer_type:"\
122
+ " #{@customer_type}, permit_multiple_payment_tokens: #{@permit_multiple_payment_tokens}>"
123
+ end
124
+
125
+ # Provides a debugging-friendly string with detailed object information.
126
+ def inspect
127
+ class_name = self.class.name.split('::').last
128
+ "<#{class_name} store_in_vault: #{@store_in_vault.inspect}, description:"\
129
+ " #{@description.inspect}, usage_pattern: #{@usage_pattern.inspect}, usage_type:"\
130
+ " #{@usage_type.inspect}, customer_type: #{@customer_type.inspect},"\
131
+ " permit_multiple_payment_tokens: #{@permit_multiple_payment_tokens.inspect}>"
132
+ end
133
+ end
134
+ end
@@ -4,12 +4,15 @@
4
4
  # ( https://www.apimatic.io ).
5
5
 
6
6
  module PaypalServerSdk
7
- # Resource consolidating common request and response attributes for vaulting
8
- # PayPal Wallet.
7
+ # PaypalWalletVaultInstruction Model.
9
8
  class PaypalWalletVaultInstruction < BaseModel
10
9
  SKIP = Object.new
11
10
  private_constant :SKIP
12
11
 
12
+ # Defines how and when the payment source gets vaulted.
13
+ # @return [StoreInVaultInstruction]
14
+ attr_accessor :store_in_vault
15
+
13
16
  # The description displayed to PayPal consumer on the approval flow for
14
17
  # PayPal, as well as on the PayPal payment token management experience on
15
18
  # PayPal.com.
@@ -44,6 +47,7 @@ module PaypalServerSdk
44
47
  # A mapping from model property names to API property names.
45
48
  def self.names
46
49
  @_hash = {} if @_hash.nil?
50
+ @_hash['store_in_vault'] = 'store_in_vault'
47
51
  @_hash['description'] = 'description'
48
52
  @_hash['usage_pattern'] = 'usage_pattern'
49
53
  @_hash['usage_type'] = 'usage_type'
@@ -56,6 +60,7 @@ module PaypalServerSdk
56
60
  # An array for optional fields
57
61
  def self.optionals
58
62
  %w[
63
+ store_in_vault
59
64
  description
60
65
  usage_pattern
61
66
  customer_type
@@ -68,9 +73,11 @@ module PaypalServerSdk
68
73
  []
69
74
  end
70
75
 
71
- def initialize(usage_type:, description: SKIP, usage_pattern: SKIP,
76
+ def initialize(usage_type:, store_in_vault: SKIP, description: SKIP,
77
+ usage_pattern: SKIP,
72
78
  customer_type: PaypalPaymentTokenCustomerType::CONSUMER,
73
79
  permit_multiple_payment_tokens: false)
80
+ @store_in_vault = store_in_vault unless store_in_vault == SKIP
74
81
  @description = description unless description == SKIP
75
82
  @usage_pattern = usage_pattern unless usage_pattern == SKIP
76
83
  @usage_type = usage_type
@@ -87,6 +94,8 @@ module PaypalServerSdk
87
94
 
88
95
  # Extract variables from the hash.
89
96
  usage_type = hash.key?('usage_type') ? hash['usage_type'] : nil
97
+ store_in_vault =
98
+ hash.key?('store_in_vault') ? hash['store_in_vault'] : SKIP
90
99
  description = hash.key?('description') ? hash['description'] : SKIP
91
100
  usage_pattern = hash.key?('usage_pattern') ? hash['usage_pattern'] : SKIP
92
101
  customer_type =
@@ -96,6 +105,7 @@ module PaypalServerSdk
96
105
 
97
106
  # Create object from extracted values.
98
107
  PaypalWalletVaultInstruction.new(usage_type: usage_type,
108
+ store_in_vault: store_in_vault,
99
109
  description: description,
100
110
  usage_pattern: usage_pattern,
101
111
  customer_type: customer_type,
@@ -105,18 +115,18 @@ module PaypalServerSdk
105
115
  # Provides a human-readable string representation of the object.
106
116
  def to_s
107
117
  class_name = self.class.name.split('::').last
108
- "<#{class_name} description: #{@description}, usage_pattern: #{@usage_pattern}, usage_type:"\
109
- " #{@usage_type}, customer_type: #{@customer_type}, permit_multiple_payment_tokens:"\
110
- " #{@permit_multiple_payment_tokens}>"
118
+ "<#{class_name} store_in_vault: #{@store_in_vault}, description: #{@description},"\
119
+ " usage_pattern: #{@usage_pattern}, usage_type: #{@usage_type}, customer_type:"\
120
+ " #{@customer_type}, permit_multiple_payment_tokens: #{@permit_multiple_payment_tokens}>"
111
121
  end
112
122
 
113
123
  # Provides a debugging-friendly string with detailed object information.
114
124
  def inspect
115
125
  class_name = self.class.name.split('::').last
116
- "<#{class_name} description: #{@description.inspect}, usage_pattern:"\
117
- " #{@usage_pattern.inspect}, usage_type: #{@usage_type.inspect}, customer_type:"\
118
- " #{@customer_type.inspect}, permit_multiple_payment_tokens:"\
119
- " #{@permit_multiple_payment_tokens.inspect}>"
126
+ "<#{class_name} store_in_vault: #{@store_in_vault.inspect}, description:"\
127
+ " #{@description.inspect}, usage_pattern: #{@usage_pattern.inspect}, usage_type:"\
128
+ " #{@usage_type.inspect}, customer_type: #{@customer_type.inspect},"\
129
+ " permit_multiple_payment_tokens: #{@permit_multiple_payment_tokens.inspect}>"
120
130
  end
121
131
  end
122
132
  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
@@ -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
@@ -176,6 +176,7 @@ require_relative 'paypal_server_sdk/models/venmo_wallet_experience_context'
176
176
  require_relative 'paypal_server_sdk/models/venmo_wallet_request'
177
177
  require_relative 'paypal_server_sdk/models/venmo_wallet_response'
178
178
  require_relative 'paypal_server_sdk/models/payer_base'
179
+ require_relative 'paypal_server_sdk/models/paypal_wallet_vault_base'
179
180
  require_relative 'paypal_server_sdk/models/address'
180
181
  require_relative 'paypal_server_sdk/models/apple_pay_tokenized_card'
181
182
  require_relative 'paypal_server_sdk/models/google_pay_card'
@@ -312,6 +313,7 @@ require_relative 'paypal_server_sdk/models/subscription_transaction_details'
312
313
  require_relative 'paypal_server_sdk/models/transactions_list'
313
314
  require_relative 'paypal_server_sdk/models/update_pricing_scheme'
314
315
  require_relative 'paypal_server_sdk/models/update_pricing_schemes_request'
316
+ require_relative 'paypal_server_sdk/models/subscription_payer'
315
317
  require_relative 'paypal_server_sdk/models/last_payment_details'
316
318
  require_relative 'paypal_server_sdk/models/payment_method'
317
319
  require_relative 'paypal_server_sdk/models/plan_details'
@@ -386,6 +388,7 @@ require_relative 'paypal_server_sdk/models/tax_id_type'
386
388
  require_relative 'paypal_server_sdk/models/tenure_type'
387
389
  require_relative 'paypal_server_sdk/models/token_type'
388
390
  require_relative 'paypal_server_sdk/models/upc_type'
391
+ require_relative 'paypal_server_sdk/models/usage_type'
389
392
  require_relative 'paypal_server_sdk/models/vault_status'
390
393
  require_relative 'paypal_server_sdk/models/venmo_payment_token_customer_type'
391
394
  require_relative 'paypal_server_sdk/models/venmo_payment_token_usage_pattern'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paypal-server-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - PayPal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-04 00:00:00.000000000 Z
11
+ date: 2026-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: apimatic_core_interfaces
@@ -306,6 +306,7 @@ files:
306
306
  - lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb
307
307
  - lib/paypal_server_sdk/models/paypal_wallet_response.rb
308
308
  - lib/paypal_server_sdk/models/paypal_wallet_stored_credential.rb
309
+ - lib/paypal_server_sdk/models/paypal_wallet_vault_base.rb
309
310
  - lib/paypal_server_sdk/models/paypal_wallet_vault_instruction.rb
310
311
  - lib/paypal_server_sdk/models/paypal_wallet_vault_response.rb
311
312
  - lib/paypal_server_sdk/models/paypal_wallet_vault_status.rb
@@ -383,6 +384,7 @@ files:
383
384
  - lib/paypal_server_sdk/models/subscription_collection.rb
384
385
  - lib/paypal_server_sdk/models/subscription_customer_information.rb
385
386
  - lib/paypal_server_sdk/models/subscription_patch_application_context.rb
387
+ - lib/paypal_server_sdk/models/subscription_payer.rb
386
388
  - lib/paypal_server_sdk/models/subscription_payer_name.rb
387
389
  - lib/paypal_server_sdk/models/subscription_payment_source.rb
388
390
  - lib/paypal_server_sdk/models/subscription_payment_source_response.rb
@@ -415,6 +417,7 @@ files:
415
417
  - lib/paypal_server_sdk/models/update_pricing_scheme.rb
416
418
  - lib/paypal_server_sdk/models/update_pricing_schemes_request.rb
417
419
  - lib/paypal_server_sdk/models/usage_pattern.rb
420
+ - lib/paypal_server_sdk/models/usage_type.rb
418
421
  - lib/paypal_server_sdk/models/vault_apple_pay_request.rb
419
422
  - lib/paypal_server_sdk/models/vault_card_experience_context.rb
420
423
  - lib/paypal_server_sdk/models/vault_card_verification_method.rb