paypal-server-sdk 2.1.0 → 2.3.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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +28 -28
  3. data/lib/paypal_server_sdk/controllers/base_controller.rb +1 -1
  4. data/lib/paypal_server_sdk/controllers/transaction_search_controller.rb +4 -4
  5. data/lib/paypal_server_sdk/exceptions/error_exception.rb +1 -1
  6. data/lib/paypal_server_sdk/exceptions/subscription_error_exception.rb +1 -1
  7. data/lib/paypal_server_sdk/models/address.rb +2 -1
  8. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +3 -2
  9. data/lib/paypal_server_sdk/models/apple_pay_card_response.rb +6 -5
  10. data/lib/paypal_server_sdk/models/bancontact_payment_object.rb +6 -5
  11. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +6 -5
  12. data/lib/paypal_server_sdk/models/bin_details.rb +6 -5
  13. data/lib/paypal_server_sdk/models/blik_experience_context.rb +3 -2
  14. data/lib/paypal_server_sdk/models/blik_payment_object.rb +6 -5
  15. data/lib/paypal_server_sdk/models/blik_payment_request.rb +6 -5
  16. data/lib/paypal_server_sdk/models/card_response_address.rb +2 -1
  17. data/lib/paypal_server_sdk/models/card_response_with_billing_address.rb +2 -1
  18. data/lib/paypal_server_sdk/models/confirm_order_request.rb +16 -5
  19. data/lib/paypal_server_sdk/models/customer_vault_payment_tokens_response.rb +2 -1
  20. data/lib/paypal_server_sdk/models/eps_payment_object.rb +6 -5
  21. data/lib/paypal_server_sdk/models/eps_payment_request.rb +6 -5
  22. data/lib/paypal_server_sdk/models/error_details.rb +3 -3
  23. data/lib/paypal_server_sdk/models/exchange_rate.rb +4 -2
  24. data/lib/paypal_server_sdk/models/experience_context.rb +3 -2
  25. data/lib/paypal_server_sdk/models/giropay_payment_object.rb +6 -5
  26. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +6 -5
  27. data/lib/paypal_server_sdk/models/ideal_payment_object.rb +6 -5
  28. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +6 -5
  29. data/lib/paypal_server_sdk/models/link_description.rb +6 -1
  30. data/lib/paypal_server_sdk/models/money.rb +3 -2
  31. data/lib/paypal_server_sdk/models/mybank_payment_object.rb +6 -5
  32. data/lib/paypal_server_sdk/models/mybank_payment_request.rb +6 -5
  33. data/lib/paypal_server_sdk/models/order.rb +18 -5
  34. data/lib/paypal_server_sdk/models/order_authorize_response.rb +18 -5
  35. data/lib/paypal_server_sdk/models/order_confirm_application_context.rb +3 -2
  36. data/lib/paypal_server_sdk/models/order_request.rb +17 -5
  37. data/lib/paypal_server_sdk/models/p24_payment_object.rb +6 -5
  38. data/lib/paypal_server_sdk/models/p24_payment_request.rb +6 -5
  39. data/lib/paypal_server_sdk/models/payment_token_response.rb +2 -1
  40. data/lib/paypal_server_sdk/models/paypal_wallet_attributes.rb +1 -2
  41. data/lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb +3 -2
  42. data/lib/paypal_server_sdk/models/paypal_wallet_vault_base.rb +134 -0
  43. data/lib/paypal_server_sdk/models/paypal_wallet_vault_instruction.rb +20 -10
  44. data/lib/paypal_server_sdk/models/processing_instruction.rb +33 -0
  45. data/lib/paypal_server_sdk/models/search_response.rb +1 -1
  46. data/lib/paypal_server_sdk/models/sepa_debit_experience_context.rb +3 -2
  47. data/lib/paypal_server_sdk/models/setup_token_response.rb +2 -1
  48. data/lib/paypal_server_sdk/models/sofort_payment_object.rb +6 -5
  49. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +6 -5
  50. data/lib/paypal_server_sdk/models/subscriber.rb +29 -6
  51. data/lib/paypal_server_sdk/models/subscriber_request.rb +40 -17
  52. data/lib/paypal_server_sdk/models/subscription_payer.rb +85 -0
  53. data/lib/paypal_server_sdk/models/trustly_payment_object.rb +6 -5
  54. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +6 -5
  55. data/lib/paypal_server_sdk/models/usage_type.rb +39 -0
  56. data/lib/paypal_server_sdk/models/vault_card_experience_context.rb +3 -2
  57. data/lib/paypal_server_sdk/models/vault_experience_context.rb +3 -2
  58. data/lib/paypal_server_sdk.rb +4 -0
  59. metadata +6 -2
@@ -0,0 +1,33 @@
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 instruction to process an order.
8
+ class ProcessingInstruction
9
+ PROCESSING_INSTRUCTION = [
10
+ # API Caller expects the Order to be auto completed (i.e. for PayPal to
11
+ # authorize or capture depending on the intent) on completion of payer
12
+ # approval. This option is not relevant for payment_source that typically
13
+ # do not require a payer approval or interaction. This option is currently
14
+ # only available for the following payment_source: Alipay, BANCOMAT Pay,
15
+ # Bancontact, BLIK, boletobancario, eps, giropay, GrabPay, iDEAL, MB WAY
16
+ # Multibanco, MyBank, OXXO, P24, PayU, PUI, SafetyPay, SatisPay, Swish,
17
+ # Sofort, Trustly, Verkkopankki, WeChat Pay
18
+ ORDER_COMPLETE_ON_PAYMENT_APPROVAL = 'ORDER_COMPLETE_ON_PAYMENT_APPROVAL'.freeze
19
+ ].freeze
20
+
21
+ def self.validate(value)
22
+ return false if value.nil?
23
+
24
+ true
25
+ end
26
+
27
+ def self.from_value(value, default_value = ORDER_COMPLETE_ON_PAYMENT_APPROVAL)
28
+ return default_value if value.nil?
29
+
30
+ default_value
31
+ end
32
+ end
33
+ end
@@ -53,7 +53,7 @@ module PaypalServerSdk
53
53
  attr_accessor :total_pages
54
54
 
55
55
  # An array of request-related [HATEOAS
56
- # links](/api/rest/responses/#hateoas-links).
56
+ # links](https://developer.paypal.com/api/rest/responses/#hateoas-links).
57
57
  # @return [Array[LinkDescription]]
58
58
  attr_accessor :links
59
59
 
@@ -16,8 +16,9 @@ module PaypalServerSdk
16
16
  # language code](https://www.loc.gov/standards/iso639-2/php/code_list.php),
17
17
  # the optional [ISO-15924 script
18
18
  # tag](https://www.unicode.org/iso15924/codelists.html), and the [ISO-3166
19
- # alpha-2 country code](/api/rest/reference/country-codes/) or [M49 region
20
- # code](https://unstats.un.org/unsd/methodology/m49/).
19
+ # alpha-2 country
20
+ # code](https://developer.paypal.com/api/rest/reference/country-codes/) or
21
+ # [M49 region code](https://unstats.un.org/unsd/methodology/m49/).
21
22
  # @return [String]
22
23
  attr_accessor :locale
23
24
 
@@ -28,7 +28,8 @@ module PaypalServerSdk
28
28
  # @return [SetupTokenResponsePaymentSource]
29
29
  attr_accessor :payment_source
30
30
 
31
- # An array of related [HATEOAS links](/api/rest/responses/#hateoas).
31
+ # An array of related [HATEOAS
32
+ # links](https://developer.paypal.com/api/rest/responses/#hateoas).
32
33
  # @return [Array[LinkDescription]]
33
34
  attr_accessor :links
34
35
 
@@ -13,11 +13,12 @@ module PaypalServerSdk
13
13
  # @return [String]
14
14
  attr_accessor :name
15
15
 
16
- # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
17
- # that identifies the country or region. Note: The country code for Great
18
- # Britain is GB and not UK as used in the top-level domain names for that
19
- # country. Use the `C2` country code for China worldwide for comparable
20
- # uncontrolled price (CUP) method, bank card, and cross-border transactions.
16
+ # The [two-character ISO 3166-1
17
+ # code](https://developer.paypal.com/api/rest/reference/country-codes/) that
18
+ # identifies the country or region. Note: The country code for Great Britain
19
+ # is GB and not UK as used in the top-level domain names for that country.
20
+ # Use the `C2` country code for China worldwide for comparable uncontrolled
21
+ # price (CUP) method, bank card, and cross-border transactions.
21
22
  # @return [String]
22
23
  attr_accessor :country_code
23
24
 
@@ -13,11 +13,12 @@ module PaypalServerSdk
13
13
  # @return [String]
14
14
  attr_accessor :name
15
15
 
16
- # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
17
- # that identifies the country or region. Note: The country code for Great
18
- # Britain is GB and not UK as used in the top-level domain names for that
19
- # country. Use the `C2` country code for China worldwide for comparable
20
- # uncontrolled price (CUP) method, bank card, and cross-border transactions.
16
+ # The [two-character ISO 3166-1
17
+ # code](https://developer.paypal.com/api/rest/reference/country-codes/) that
18
+ # identifies the country or region. Note: The country code for Great Britain
19
+ # is GB and not UK as used in the top-level domain names for that country.
20
+ # Use the `C2` country code for China worldwide for comparable uncontrolled
21
+ # price (CUP) method, bank card, and cross-border transactions.
21
22
  # @return [String]
22
23
  attr_accessor :country_code
23
24
 
@@ -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
@@ -13,11 +13,12 @@ module PaypalServerSdk
13
13
  # @return [String]
14
14
  attr_accessor :name
15
15
 
16
- # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
17
- # that identifies the country or region. Note: The country code for Great
18
- # Britain is GB and not UK as used in the top-level domain names for that
19
- # country. Use the `C2` country code for China worldwide for comparable
20
- # uncontrolled price (CUP) method, bank card, and cross-border transactions.
16
+ # The [two-character ISO 3166-1
17
+ # code](https://developer.paypal.com/api/rest/reference/country-codes/) that
18
+ # identifies the country or region. Note: The country code for Great Britain
19
+ # is GB and not UK as used in the top-level domain names for that country.
20
+ # Use the `C2` country code for China worldwide for comparable uncontrolled
21
+ # price (CUP) method, bank card, and cross-border transactions.
21
22
  # @return [String]
22
23
  attr_accessor :country_code
23
24
 
@@ -13,11 +13,12 @@ module PaypalServerSdk
13
13
  # @return [String]
14
14
  attr_accessor :name
15
15
 
16
- # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
17
- # that identifies the country or region. Note: The country code for Great
18
- # Britain is GB and not UK as used in the top-level domain names for that
19
- # country. Use the `C2` country code for China worldwide for comparable
20
- # uncontrolled price (CUP) method, bank card, and cross-border transactions.
16
+ # The [two-character ISO 3166-1
17
+ # code](https://developer.paypal.com/api/rest/reference/country-codes/) that
18
+ # identifies the country or region. Note: The country code for Great Britain
19
+ # is GB and not UK as used in the top-level domain names for that country.
20
+ # Use the `C2` country code for China worldwide for comparable uncontrolled
21
+ # price (CUP) method, bank card, and cross-border transactions.
21
22
  # @return [String]
22
23
  attr_accessor :country_code
23
24
 
@@ -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
@@ -21,8 +21,9 @@ module PaypalServerSdk
21
21
  # language code](https://www.loc.gov/standards/iso639-2/php/code_list.php),
22
22
  # the optional [ISO-15924 script
23
23
  # tag](https://www.unicode.org/iso15924/codelists.html), and the [ISO-3166
24
- # alpha-2 country code](/api/rest/reference/country-codes/) or [M49 region
25
- # code](https://unstats.un.org/unsd/methodology/m49/).
24
+ # alpha-2 country
25
+ # code](https://developer.paypal.com/api/rest/reference/country-codes/) or
26
+ # [M49 region code](https://unstats.un.org/unsd/methodology/m49/).
26
27
  # @return [String]
27
28
  attr_accessor :locale
28
29
 
@@ -21,8 +21,9 @@ module PaypalServerSdk
21
21
  # language code](https://www.loc.gov/standards/iso639-2/php/code_list.php),
22
22
  # the optional [ISO-15924 script
23
23
  # tag](https://www.unicode.org/iso15924/codelists.html), and the [ISO-3166
24
- # alpha-2 country code](/api/rest/reference/country-codes/) or [M49 region
25
- # code](https://unstats.un.org/unsd/methodology/m49/).
24
+ # alpha-2 country
25
+ # code](https://developer.paypal.com/api/rest/reference/country-codes/) or
26
+ # [M49 region code](https://unstats.un.org/unsd/methodology/m49/).
26
27
  # @return [String]
27
28
  attr_accessor :locale
28
29
 
@@ -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'
@@ -339,6 +341,7 @@ require_relative 'paypal_server_sdk/models/store_in_vault_instruction'
339
341
  require_relative 'paypal_server_sdk/models/stored_payment_source_payment_type'
340
342
  require_relative 'paypal_server_sdk/models/stored_payment_source_usage_type'
341
343
  require_relative 'paypal_server_sdk/models/order_tracker_status'
344
+ require_relative 'paypal_server_sdk/models/processing_instruction'
342
345
  require_relative 'paypal_server_sdk/models/apple_pay_payment_data_type'
343
346
  require_relative 'paypal_server_sdk/models/authorization_incomplete_reason'
344
347
  require_relative 'paypal_server_sdk/models/authorization_status'
@@ -386,6 +389,7 @@ require_relative 'paypal_server_sdk/models/tax_id_type'
386
389
  require_relative 'paypal_server_sdk/models/tenure_type'
387
390
  require_relative 'paypal_server_sdk/models/token_type'
388
391
  require_relative 'paypal_server_sdk/models/upc_type'
392
+ require_relative 'paypal_server_sdk/models/usage_type'
389
393
  require_relative 'paypal_server_sdk/models/vault_status'
390
394
  require_relative 'paypal_server_sdk/models/venmo_payment_token_customer_type'
391
395
  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.3.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-06-05 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
@@ -325,6 +326,7 @@ files:
325
326
  - lib/paypal_server_sdk/models/pricing_model.rb
326
327
  - lib/paypal_server_sdk/models/pricing_scheme.rb
327
328
  - lib/paypal_server_sdk/models/pricing_tier.rb
329
+ - lib/paypal_server_sdk/models/processing_instruction.rb
328
330
  - lib/paypal_server_sdk/models/processor_response.rb
329
331
  - lib/paypal_server_sdk/models/processor_response_code.rb
330
332
  - lib/paypal_server_sdk/models/purchase_unit.rb
@@ -383,6 +385,7 @@ files:
383
385
  - lib/paypal_server_sdk/models/subscription_collection.rb
384
386
  - lib/paypal_server_sdk/models/subscription_customer_information.rb
385
387
  - lib/paypal_server_sdk/models/subscription_patch_application_context.rb
388
+ - lib/paypal_server_sdk/models/subscription_payer.rb
386
389
  - lib/paypal_server_sdk/models/subscription_payer_name.rb
387
390
  - lib/paypal_server_sdk/models/subscription_payment_source.rb
388
391
  - lib/paypal_server_sdk/models/subscription_payment_source_response.rb
@@ -415,6 +418,7 @@ files:
415
418
  - lib/paypal_server_sdk/models/update_pricing_scheme.rb
416
419
  - lib/paypal_server_sdk/models/update_pricing_schemes_request.rb
417
420
  - lib/paypal_server_sdk/models/usage_pattern.rb
421
+ - lib/paypal_server_sdk/models/usage_type.rb
418
422
  - lib/paypal_server_sdk/models/vault_apple_pay_request.rb
419
423
  - lib/paypal_server_sdk/models/vault_card_experience_context.rb
420
424
  - lib/paypal_server_sdk/models/vault_card_verification_method.rb