pcp-server-ruby-sdk 1.12.0 → 1.14.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 (181) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/api-definition.yaml +693 -40
  5. data/lib/PCP-server-Ruby-SDK/endpoints/pay_by_link_api_client.rb +33 -0
  6. data/lib/PCP-server-Ruby-SDK/endpoints/payment_intent_api_client.rb +37 -0
  7. data/lib/PCP-server-Ruby-SDK/models/address.rb +9 -237
  8. data/lib/PCP-server-Ruby-SDK/models/address_personal.rb +10 -246
  9. data/lib/PCP-server-Ruby-SDK/models/amount_of_money.rb +4 -195
  10. data/lib/PCP-server-Ruby-SDK/models/api_error.rb +27 -232
  11. data/lib/PCP-server-Ruby-SDK/models/apple_payment_data_token_header_information.rb +6 -194
  12. data/lib/PCP-server-Ruby-SDK/models/apple_payment_data_token_information.rb +8 -229
  13. data/lib/PCP-server-Ruby-SDK/models/authentication_token.rb +6 -183
  14. data/lib/PCP-server-Ruby-SDK/models/bank_account_information.rb +11 -207
  15. data/lib/PCP-server-Ruby-SDK/models/bank_payout_method_specific_input.rb +4 -187
  16. data/lib/PCP-server-Ruby-SDK/models/cancel_item.rb +6 -195
  17. data/lib/PCP-server-Ruby-SDK/models/cancel_payment_request.rb +6 -222
  18. data/lib/PCP-server-Ruby-SDK/models/cancel_payment_response.rb +4 -190
  19. data/lib/PCP-server-Ruby-SDK/models/cancel_request.rb +6 -224
  20. data/lib/PCP-server-Ruby-SDK/models/cancel_response.rb +4 -190
  21. data/lib/PCP-server-Ruby-SDK/models/capture_output.rb +9 -214
  22. data/lib/PCP-server-Ruby-SDK/models/capture_payment_request.rb +14 -253
  23. data/lib/PCP-server-Ruby-SDK/models/capture_payment_response.rb +7 -239
  24. data/lib/PCP-server-Ruby-SDK/models/card_fraud_results.rb +29 -184
  25. data/lib/PCP-server-Ruby-SDK/models/card_info.rb +3 -182
  26. data/lib/PCP-server-Ruby-SDK/models/card_payment_details.rb +8 -210
  27. data/lib/PCP-server-Ruby-SDK/models/card_payment_method_specific_input.rb +32 -307
  28. data/lib/PCP-server-Ruby-SDK/models/card_payment_method_specific_output.rb +6 -210
  29. data/lib/PCP-server-Ruby-SDK/models/card_recurrence_details.rb +12 -186
  30. data/lib/PCP-server-Ruby-SDK/models/cart_item_data.rb +10 -0
  31. data/lib/PCP-server-Ruby-SDK/models/cart_item_input.rb +5 -198
  32. data/lib/PCP-server-Ruby-SDK/models/cart_item_invoice_data.rb +5 -184
  33. data/lib/PCP-server-Ruby-SDK/models/cart_item_order_status.rb +4 -213
  34. data/lib/PCP-server-Ruby-SDK/models/cart_item_patch.rb +5 -200
  35. data/lib/PCP-server-Ruby-SDK/models/cart_item_result.rb +5 -200
  36. data/lib/PCP-server-Ruby-SDK/models/cart_item_supplier_references.rb +6 -195
  37. data/lib/PCP-server-Ruby-SDK/models/checkout_references.rb +4 -192
  38. data/lib/PCP-server-Ruby-SDK/models/checkout_response.rb +15 -319
  39. data/lib/PCP-server-Ruby-SDK/models/checkouts_response.rb +4 -193
  40. data/lib/PCP-server-Ruby-SDK/models/company_information.rb +3 -182
  41. data/lib/PCP-server-Ruby-SDK/models/complete_financing_payment_method_specific_input.rb +12 -202
  42. data/lib/PCP-server-Ruby-SDK/models/complete_order_request.rb +3 -181
  43. data/lib/PCP-server-Ruby-SDK/models/complete_payment_method_specific_input.rb +4 -191
  44. data/lib/PCP-server-Ruby-SDK/models/complete_payment_product840_specific_input.rb +7 -226
  45. data/lib/PCP-server-Ruby-SDK/models/complete_payment_request.rb +6 -209
  46. data/lib/PCP-server-Ruby-SDK/models/complete_payment_response.rb +5 -199
  47. data/lib/PCP-server-Ruby-SDK/models/complete_redirect_payment_method_specific_input.rb +4 -192
  48. data/lib/PCP-server-Ruby-SDK/models/contact_details.rb +4 -191
  49. data/lib/PCP-server-Ruby-SDK/models/create_checkout_request.rb +13 -240
  50. data/lib/PCP-server-Ruby-SDK/models/create_checkout_response.rb +16 -307
  51. data/lib/PCP-server-Ruby-SDK/models/create_commerce_case_response.rb +7 -219
  52. data/lib/PCP-server-Ruby-SDK/models/create_pay_by_link_request.rb +12 -0
  53. data/lib/PCP-server-Ruby-SDK/models/create_pay_by_link_response.rb +13 -0
  54. data/lib/PCP-server-Ruby-SDK/models/create_payment_intent.rb +11 -0
  55. data/lib/PCP-server-Ruby-SDK/models/create_payment_intent_request.rb +13 -0
  56. data/lib/PCP-server-Ruby-SDK/models/create_payment_intent_response.rb +10 -0
  57. data/lib/PCP-server-Ruby-SDK/models/create_payment_response.rb +7 -218
  58. data/lib/PCP-server-Ruby-SDK/models/customer.rb +28 -260
  59. data/lib/PCP-server-Ruby-SDK/models/customer_account.rb +10 -44
  60. data/lib/PCP-server-Ruby-SDK/models/customer_device.rb +8 -209
  61. data/lib/PCP-server-Ruby-SDK/models/deliver_item.rb +6 -195
  62. data/lib/PCP-server-Ruby-SDK/models/deliver_request.rb +10 -246
  63. data/lib/PCP-server-Ruby-SDK/models/deliver_response.rb +4 -191
  64. data/lib/PCP-server-Ruby-SDK/models/delivery_information.rb +3 -185
  65. data/lib/PCP-server-Ruby-SDK/models/error_response.rb +4 -193
  66. data/lib/PCP-server-Ruby-SDK/models/financing_payment_method_specific_input.rb +15 -203
  67. data/lib/PCP-server-Ruby-SDK/models/financing_payment_method_specific_output.rb +10 -196
  68. data/lib/PCP-server-Ruby-SDK/models/fund_distribution.rb +12 -263
  69. data/lib/PCP-server-Ruby-SDK/models/fund_split.rb +5 -205
  70. data/lib/PCP-server-Ruby-SDK/models/fund_split_request.rb +3 -147
  71. data/lib/PCP-server-Ruby-SDK/models/fund_split_response.rb +10 -174
  72. data/lib/PCP-server-Ruby-SDK/models/installment_option.rb +13 -273
  73. data/lib/PCP-server-Ruby-SDK/models/link_information.rb +4 -196
  74. data/lib/PCP-server-Ruby-SDK/models/merchant_action.rb +16 -194
  75. data/lib/PCP-server-Ruby-SDK/models/mobile_payment_method_specific_input.rb +13 -246
  76. data/lib/PCP-server-Ruby-SDK/models/mobile_payment_method_specific_output.rb +7 -219
  77. data/lib/PCP-server-Ruby-SDK/models/mobile_payment_three_dsecure.rb +3 -179
  78. data/lib/PCP-server-Ruby-SDK/models/model_base.rb +147 -0
  79. data/lib/PCP-server-Ruby-SDK/models/order.rb +7 -221
  80. data/lib/PCP-server-Ruby-SDK/models/order_item.rb +6 -197
  81. data/lib/PCP-server-Ruby-SDK/models/order_line_details_input.rb +29 -305
  82. data/lib/PCP-server-Ruby-SDK/models/order_line_details_patch.rb +5 -326
  83. data/lib/PCP-server-Ruby-SDK/models/order_line_details_result.rb +5 -326
  84. data/lib/PCP-server-Ruby-SDK/models/order_request.rb +7 -244
  85. data/lib/PCP-server-Ruby-SDK/models/order_response.rb +4 -192
  86. data/lib/PCP-server-Ruby-SDK/models/patch_checkout_request.rb +8 -228
  87. data/lib/PCP-server-Ruby-SDK/models/patch_commerce_case_request.rb +3 -183
  88. data/lib/PCP-server-Ruby-SDK/models/pause_payment_request.rb +2 -165
  89. data/lib/PCP-server-Ruby-SDK/models/pause_payment_response.rb +3 -186
  90. data/lib/PCP-server-Ruby-SDK/models/pay_link_status_value.rb +20 -0
  91. data/lib/PCP-server-Ruby-SDK/models/payee.rb +6 -204
  92. data/lib/PCP-server-Ruby-SDK/models/payment_creation_output.rb +3 -183
  93. data/lib/PCP-server-Ruby-SDK/models/payment_event.rb +19 -274
  94. data/lib/PCP-server-Ruby-SDK/models/payment_execution.rb +29 -335
  95. data/lib/PCP-server-Ruby-SDK/models/payment_execution_request.rb +4 -191
  96. data/lib/PCP-server-Ruby-SDK/models/payment_execution_specific_input.rb +6 -212
  97. data/lib/PCP-server-Ruby-SDK/models/payment_information_refund_request.rb +7 -205
  98. data/lib/PCP-server-Ruby-SDK/models/payment_information_refund_response.rb +5 -196
  99. data/lib/PCP-server-Ruby-SDK/models/payment_information_request.rb +10 -249
  100. data/lib/PCP-server-Ruby-SDK/models/payment_information_response.rb +34 -314
  101. data/lib/PCP-server-Ruby-SDK/models/payment_instructions.rb +8 -214
  102. data/lib/PCP-server-Ruby-SDK/models/payment_intent_output.rb +13 -0
  103. data/lib/PCP-server-Ruby-SDK/models/payment_intent_response.rb +13 -0
  104. data/lib/PCP-server-Ruby-SDK/models/payment_intent_response_data.rb +12 -0
  105. data/lib/PCP-server-Ruby-SDK/models/payment_link_order.rb +10 -0
  106. data/lib/PCP-server-Ruby-SDK/models/payment_link_specific_input.rb +19 -0
  107. data/lib/PCP-server-Ruby-SDK/models/payment_method_specific_input.rb +9 -261
  108. data/lib/PCP-server-Ruby-SDK/models/payment_method_specific_input_for_intent.rb +9 -0
  109. data/lib/PCP-server-Ruby-SDK/models/payment_output.rb +11 -255
  110. data/lib/PCP-server-Ruby-SDK/models/payment_product302_specific_input.rb +11 -225
  111. data/lib/PCP-server-Ruby-SDK/models/payment_product3391_specific_input.rb +6 -197
  112. data/lib/PCP-server-Ruby-SDK/models/payment_product3391_specific_output.rb +3 -185
  113. data/lib/PCP-server-Ruby-SDK/models/payment_product3392_specific_input.rb +3 -185
  114. data/lib/PCP-server-Ruby-SDK/models/payment_product5002_specific_input.rb +7 -203
  115. data/lib/PCP-server-Ruby-SDK/models/payment_product771_specific_output.rb +3 -183
  116. data/lib/PCP-server-Ruby-SDK/models/payment_product840_customer_account.rb +6 -210
  117. data/lib/PCP-server-Ruby-SDK/models/payment_product840_customer_account_for_intent.rb +12 -0
  118. data/lib/PCP-server-Ruby-SDK/models/payment_product840_specific_output.rb +6 -211
  119. data/lib/PCP-server-Ruby-SDK/models/payment_product840_specific_output_for_intent.rb +12 -0
  120. data/lib/PCP-server-Ruby-SDK/models/payment_references.rb +6 -184
  121. data/lib/PCP-server-Ruby-SDK/models/payment_references_for_payment_intent.rb +11 -0
  122. data/lib/PCP-server-Ruby-SDK/models/payment_references_for_refund.rb +12 -197
  123. data/lib/PCP-server-Ruby-SDK/models/payment_response.rb +6 -234
  124. data/lib/PCP-server-Ruby-SDK/models/payment_status_output.rb +6 -234
  125. data/lib/PCP-server-Ruby-SDK/models/payout_output.rb +5 -205
  126. data/lib/PCP-server-Ruby-SDK/models/payout_response.rb +6 -215
  127. data/lib/PCP-server-Ruby-SDK/models/personal_information.rb +11 -227
  128. data/lib/PCP-server-Ruby-SDK/models/personal_name.rb +5 -201
  129. data/lib/PCP-server-Ruby-SDK/models/positive_amount_of_money.rb +4 -196
  130. data/lib/PCP-server-Ruby-SDK/models/processing_mandate_information.rb +9 -254
  131. data/lib/PCP-server-Ruby-SDK/models/redirect_data.rb +3 -183
  132. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_input.rb +14 -249
  133. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_input_for_intent.rb +12 -0
  134. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_output.rb +6 -211
  135. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_output_for_create_intent.rb +12 -0
  136. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_output_for_intent.rb +10 -0
  137. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_product840_specific_input.rb +6 -205
  138. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_product840_specific_input_data.rb +10 -0
  139. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_product900_specific_input.rb +12 -177
  140. data/lib/PCP-server-Ruby-SDK/models/redirection_data.rb +11 -186
  141. data/lib/PCP-server-Ruby-SDK/models/references.rb +47 -205
  142. data/lib/PCP-server-Ruby-SDK/models/refresh_payment_request.rb +3 -186
  143. data/lib/PCP-server-Ruby-SDK/models/refund_error_response.rb +4 -193
  144. data/lib/PCP-server-Ruby-SDK/models/refund_output.rb +8 -211
  145. data/lib/PCP-server-Ruby-SDK/models/refund_payment_response.rb +7 -242
  146. data/lib/PCP-server-Ruby-SDK/models/refund_request.rb +6 -210
  147. data/lib/PCP-server-Ruby-SDK/models/return_information.rb +4 -194
  148. data/lib/PCP-server-Ruby-SDK/models/return_item.rb +6 -196
  149. data/lib/PCP-server-Ruby-SDK/models/return_request.rb +6 -234
  150. data/lib/PCP-server-Ruby-SDK/models/return_response.rb +4 -191
  151. data/lib/PCP-server-Ruby-SDK/models/sepa_direct_debit_payment_method_specific_input.rb +4 -193
  152. data/lib/PCP-server-Ruby-SDK/models/sepa_direct_debit_payment_method_specific_output.rb +4 -193
  153. data/lib/PCP-server-Ruby-SDK/models/sepa_direct_debit_payment_product771_specific_input.rb +4 -192
  154. data/lib/PCP-server-Ruby-SDK/models/sepa_transfer_payment_product_772_specific_input.rb +3 -186
  155. data/lib/PCP-server-Ruby-SDK/models/shipping.rb +3 -183
  156. data/lib/PCP-server-Ruby-SDK/models/shipping_address.rb +14 -0
  157. data/lib/PCP-server-Ruby-SDK/models/shopping_cart_data.rb +9 -0
  158. data/lib/PCP-server-Ruby-SDK/models/shopping_cart_input.rb +3 -185
  159. data/lib/PCP-server-Ruby-SDK/models/shopping_cart_patch.rb +3 -185
  160. data/lib/PCP-server-Ruby-SDK/models/shopping_cart_result.rb +3 -185
  161. data/lib/PCP-server-Ruby-SDK/models/status_output.rb +21 -264
  162. data/lib/PCP-server-Ruby-SDK/models/three_d_secure_results.rb +6 -226
  163. data/lib/PCP-server-Ruby-SDK/queries/get_checkouts_query.rb +5 -1
  164. data/lib/PCP-server-Ruby-SDK/version.rb +1 -1
  165. data/lib/PCP-server-Ruby-SDK.rb +25 -0
  166. data/package-lock.json +2 -2
  167. data/package.json +1 -1
  168. data/scripts/convert_models_to_model_base.rb +128 -0
  169. data/spec/endpoints/pay_by_link_api_client_spec.rb +38 -0
  170. data/spec/endpoints/payment_information_api_client_spec.rb +9 -2
  171. data/spec/endpoints/payment_intent_api_client_spec.rb +45 -0
  172. data/spec/models/api_definition_conformance_spec.rb +88 -0
  173. data/spec/models/model_base_spec.rb +87 -0
  174. data/spec/models/pay_by_link_models_spec.rb +50 -0
  175. data/spec/models/payment_intent_models_spec.rb +51 -0
  176. data/spec/models/required_field_validation_spec.rb +5 -5
  177. data/spec/queries/get_checkouts_query_spec.rb +15 -0
  178. metadata +45 -10
  179. data/lib/PCP-server-Ruby-SDK/models/action_type.rb +0 -34
  180. data/lib/PCP-server-Ruby-SDK/models/avs_result.rb +0 -52
  181. data/lib/PCP-server-Ruby-SDK/models/business_relation.rb +0 -30
@@ -1,192 +1,17 @@
1
+ require_relative 'model_base'
1
2
 
2
- require 'date'
3
- require 'time'
4
-
5
- # Object containing browser specific redirection related data.
6
3
  module PCPServerSDK
7
4
  module Models
8
- class RedirectionData
9
- # The URL that the customer is redirected to after the payment flow has finished. You can add any number of key value pairs in the query string that, for instance help you to identify the customer when they return to your site. Please note that we will also append some additional key value pairs that will also help you with this identification process. Note: The provided URL should be absolute and contain the protocol to use, e.g. http:// or https://. For use on mobile devices a custom protocol can be used in the form of protocol://. This protocol must be registered on the device first. URLs without a protocol will be rejected.
10
- attr_accessor :return_url
11
-
12
- # Attribute mapping from ruby-style variable name to JSON key.
13
- def self.attribute_map
14
- {
15
- :'return_url' => :'returnUrl'
16
- }
17
- end
18
-
19
- # Returns all the JSON keys this model knows about
20
- def self.acceptable_attributes
21
- attribute_map.values
22
- end
23
-
24
- # Attribute type mapping.
25
- def self.openapi_types
26
- {
27
- :'return_url' => :'String'
28
- }
29
- end
30
-
31
- # List of attributes with nullable: true
32
- def self.openapi_nullable
33
- Set.new([
34
- ])
35
- end
36
-
37
- # Initializes the object
38
- # @param [Hash] attributes Model attributes in the form of hash
39
- def initialize(attributes = {})
40
- if (!attributes.is_a?(Hash))
41
- fail ArgumentError, "The input argument (attributes) must be a hash in `RedirectionData` initialize method"
42
- end
43
-
44
- # check to see if the attribute exists and convert string to symbol for hash key
45
- attributes = attributes.each_with_object({}) { |(k, v), h|
46
- if (!self.class.attribute_map.key?(k.to_sym))
47
- fail ArgumentError, "`#{k}` is not a valid attribute in `RedirectionData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
48
- end
49
- h[k.to_sym] = v
50
- }
51
-
52
- if attributes.key?(:'return_url')
53
- self.return_url = attributes[:'return_url']
54
- else
55
- self.return_url = nil
56
- end
57
- end
58
-
59
- # Checks equality by comparing each attribute.
60
- # @param [Object] Object to be compared
61
- def ==(o)
62
- return true if self.equal?(o)
63
- self.class == o.class &&
64
- return_url == o.return_url
65
- end
66
-
67
- # @see the `==` method
68
- # @param [Object] Object to be compared
69
- def eql?(o)
70
- self == o
71
- end
72
-
73
- # Calculates hash code according to all attributes.
74
- # @return [Integer] Hash code
75
- def hash
76
- [return_url].hash
77
- end
78
-
79
- # Builds the object from hash
80
- # @param [Hash] attributes Model attributes in the form of hash
81
- # @return [Object] Returns the model itself
82
- def self.build_from_hash(attributes)
83
- return nil unless attributes.is_a?(Hash)
84
- attributes = attributes.transform_keys(&:to_sym)
85
- transformed_hash = {}
86
- openapi_types.each_pair do |key, type|
87
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
88
- transformed_hash["#{key}"] = nil
89
- elsif type =~ /\AArray<(.*)>/i
90
- # check to ensure the input is an array given that the attribute
91
- # is documented as an array but the input is not
92
- if attributes[attribute_map[key]].is_a?(Array)
93
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
94
- end
95
- elsif !attributes[attribute_map[key]].nil?
96
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
97
- end
98
- end
99
- new(transformed_hash)
100
- end
101
-
102
- # Deserializes the data based on type
103
- # @param string type Data type
104
- # @param string value Value to be deserialized
105
- # @return [Object] Deserialized data
106
- def self._deserialize(type, value)
107
- case type.to_sym
108
- when :Time
109
- Time.parse(value)
110
- when :Date
111
- Date.parse(value)
112
- when :String
113
- value.to_s
114
- when :Integer
115
- value.to_i
116
- when :Float
117
- value.to_f
118
- when :Boolean
119
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
120
- true
121
- else
122
- false
123
- end
124
- when :Object
125
- # generic object (usually a Hash), return directly
126
- value
127
- when /\AArray<(?<inner_type>.+)>\z/
128
- inner_type = Regexp.last_match[:inner_type]
129
- value.map { |v| _deserialize(inner_type, v) }
130
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
131
- k_type = Regexp.last_match[:k_type]
132
- v_type = Regexp.last_match[:v_type]
133
- {}.tap do |hash|
134
- value.each do |k, v|
135
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
136
- end
137
- end
138
- else # model
139
- # models (e.g. Pet) or oneOf
140
- klass = PCPServerSDK::Models.const_get(type)
141
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
142
- end
143
- end
144
-
145
- # Returns the string representation of the object
146
- # @return [String] String presentation of the object
147
- def to_s
148
- to_hash.to_s
149
- end
150
-
151
- # to_body is an alias to to_hash (backward compatibility)
152
- # @return [Hash] Returns the object in the form of hash
153
- def to_body
154
- to_hash
155
- end
156
-
157
- # Returns the object in the form of hash
158
- # @return [Hash] Returns the object in the form of hash
159
- def to_hash
160
- hash = {}
161
- self.class.attribute_map.each_pair do |attr, param|
162
- value = self.send(attr)
163
- if value.nil?
164
- is_nullable = self.class.openapi_nullable.include?(attr)
165
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
166
- end
167
-
168
- hash[param] = _to_hash(value)
169
- end
170
- hash
171
- end
172
-
173
- # Outputs non-array value in the form of hash
174
- # For object, use to_hash. Otherwise, just return the value
175
- # @param [Object] value Any valid value
176
- # @return [Hash] Returns the value in the form of hash
177
- def _to_hash(value)
178
- if value.is_a?(Array)
179
- value.compact.map { |v| _to_hash(v) }
180
- elsif value.is_a?(Hash)
181
- {}.tap do |hash|
182
- value.each { |k, v| hash[k] = _to_hash(v) }
183
- end
184
- elsif value.respond_to? :to_hash
185
- value.to_hash
186
- else
187
- value
188
- end
189
- end
5
+ class RedirectionData < ModelBase
6
+ # The URL that the customer is redirected to after the payment flow has finished. You can add any number of
7
+ # key value pairs in the query string that, for instance help you to identify the customer when they return to
8
+ # your site. Please note that we will also append some additional key value pairs that will also help you with
9
+ # this identification process.
10
+ # Note: The provided URL should be absolute and contain the protocol to use, e.g. http:// or https://. For use
11
+ # on mobile devices a custom protocol can be used in the form of protocol://. This protocol must be registered
12
+ # on the device first.
13
+ # URLs without a protocol will be rejected.
14
+ attribute :return_url, :returnUrl, :String
190
15
  end
191
16
  end
192
17
  end
@@ -1,212 +1,54 @@
1
+ require_relative 'model_base'
1
2
 
2
- require 'date'
3
- require 'time'
4
-
5
- # Object that holds all reference properties that are linked to this transaction.
6
3
  module PCPServerSDK
7
4
  module Models
8
- class References
9
- # Descriptive text that is used towards to customer, either during an online Checkout at a third party and/or on the statement of the customer. For card transactions this is usually referred to as a Soft Descriptor. The maximum allowed length varies per card acquirer: * AIB - 22 characters * American Express - 25 characters * Atos Origin BNP - 15 characters * Barclays - 25 characters * Catella - 22 characters * CBA - 20 characters * Elavon - 25 characters * First Data - 25 characters * INICIS (INIPAY) - 22-30 characters * JCB - 25 characters * Merchant Solutions - 22-25 characters * Payvision (EU & HK) - 25 characters * SEB Euroline - 22 characters * Sub1 Argentina - 15 characters * Wells Fargo - 25 characters Note that we advise you to use 22 characters as the max length as beyond this our experience is that issuers will start to truncate. We currently also only allow per API call overrides for AIB and Barclays For alternative payment products the maximum allowed length varies per payment product: * 402 e-Przelewy - 30 characters * 404 INICIS - 80 characters * 802 Nordea ePayment Finland - 234 characters * 809 iDeal - 32 characters * 836 SOFORT - 42 characters * 840 PayPal - 127 characters * 841 WebMoney - 175 characters * 849 Yandex - 64 characters * 861 Alipay - 256 characters * 863 WeChat Pay - 32 characters * 880 BOKU - 20 characters * 8580 Qiwi - 255 characters * 1504 Konbini - 80 characters All other payment products don't support a descriptor.
10
- attr_accessor :descriptor
11
-
12
- # The merchantReference is a unique identifier for a payment and can be used for reporting purposes. The merchantReference is required for the execution of a payment and has to be unique. In case a payment has failed the same merchantReference can be used again. Once a successful payment has been made the same merchantReference can no longer be used and will be rejected.
13
- attr_accessor :merchant_reference
14
-
5
+ class References < ModelBase
6
+ # Descriptive text that is used towards to customer, either during an online Checkout at a third party and/or
7
+ # on the statement of the customer. For card transactions this is usually referred to as a Soft Descriptor.
8
+ # The maximum allowed length varies per card acquirer:
9
+ # * AIB - 22 characters
10
+ # * American Express - 25 characters
11
+ # * Atos Origin BNP - 15 characters
12
+ # * Barclays - 25 characters
13
+ # * Catella - 22 characters
14
+ # * CBA - 20 characters
15
+ # * Elavon - 25 characters
16
+ # * First Data - 25 characters
17
+ # * INICIS (INIPAY) - 22-30 characters
18
+ # * JCB - 25 characters
19
+ # * Merchant Solutions - 22-25 characters
20
+ # * Payvision (EU & HK) - 25 characters
21
+ # * SEB Euroline - 22 characters
22
+ # * Sub1 Argentina - 15 characters
23
+ # * Wells Fargo - 25 characters
24
+ #
25
+ # Note that we advise you to use 22 characters as the max length as beyond this our experience is that issuers
26
+ # will start to truncate. We currently also only allow per API call overrides for AIB and Barclays
27
+ # For alternative payment products the maximum allowed length varies per payment product:
28
+ # * 402 e-Przelewy - 30 characters
29
+ # * 404 INICIS - 80 characters
30
+ # * 802 Nordea ePayment Finland - 234 characters
31
+ # * 809 iDeal - 32 characters
32
+ # * 836 SOFORT - 42 characters
33
+ # * 840 PayPal - 127 characters
34
+ # * 841 WebMoney - 175 characters
35
+ # * 849 Yandex - 64 characters
36
+ # * 861 Alipay - 256 characters
37
+ # * 863 WeChat Pay - 32 characters
38
+ # * 880 BOKU - 20 characters
39
+ # * 8580 Qiwi - 255 characters
40
+ # * 1504 Konbini - 80 characters
41
+ #
42
+ # All other payment products don't support a descriptor.
43
+ attribute :descriptor, :descriptor, :String
44
+ # The merchantReference is a unique identifier for a payment and can be used for reporting purposes. The
45
+ # merchantReference is required for the execution of a payment and has to be unique. In case a payment has
46
+ # failed the same merchantReference can be used again.
47
+ # Once a successful payment has been made the same merchantReference can no longer be used and will be
48
+ # rejected.
49
+ attribute :merchant_reference, :merchantReference, :String
15
50
  # It allows you to store additional parameters for the transaction in JSON format. This field must not contain any personal data.
16
- attr_accessor :merchant_parameters
17
-
18
- # Attribute mapping from ruby-style variable name to JSON key.
19
- def self.attribute_map
20
- {
21
- :'descriptor' => :'descriptor',
22
- :'merchant_reference' => :'merchantReference',
23
- :'merchant_parameters' => :'merchantParameters'
24
- }
25
- end
26
-
27
- # Returns all the JSON keys this model knows about
28
- def self.acceptable_attributes
29
- attribute_map.values
30
- end
31
-
32
- # Attribute type mapping.
33
- def self.openapi_types
34
- {
35
- :'descriptor' => :'String',
36
- :'merchant_reference' => :'String',
37
- :'merchant_parameters' => :'String'
38
- }
39
- end
40
-
41
- # List of attributes with nullable: true
42
- def self.openapi_nullable
43
- Set.new([
44
- ])
45
- end
46
-
47
- # Initializes the object
48
- # @param [Hash] attributes Model attributes in the form of hash
49
- def initialize(attributes = {})
50
- if (!attributes.is_a?(Hash))
51
- fail ArgumentError, "The input argument (attributes) must be a hash in `References` initialize method"
52
- end
53
-
54
- # check to see if the attribute exists and convert string to symbol for hash key
55
- attributes = attributes.each_with_object({}) { |(k, v), h|
56
- if (!self.class.attribute_map.key?(k.to_sym))
57
- fail ArgumentError, "`#{k}` is not a valid attribute in `References`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
58
- end
59
- h[k.to_sym] = v
60
- }
61
-
62
- if attributes.key?(:'descriptor')
63
- self.descriptor = attributes[:'descriptor']
64
- end
65
-
66
- if attributes.key?(:'merchant_reference')
67
- self.merchant_reference = attributes[:'merchant_reference']
68
- else
69
- self.merchant_reference = nil
70
- end
71
-
72
- if attributes.key?(:'merchant_parameters')
73
- self.merchant_parameters = attributes[:'merchant_parameters']
74
- end
75
- end
76
-
77
- # Checks equality by comparing each attribute.
78
- # @param [Object] Object to be compared
79
- def ==(o)
80
- return true if self.equal?(o)
81
- self.class == o.class &&
82
- descriptor == o.descriptor &&
83
- merchant_reference == o.merchant_reference &&
84
- merchant_parameters == o.merchant_parameters
85
- end
86
-
87
- # @see the `==` method
88
- # @param [Object] Object to be compared
89
- def eql?(o)
90
- self == o
91
- end
92
-
93
- # Calculates hash code according to all attributes.
94
- # @return [Integer] Hash code
95
- def hash
96
- [descriptor, merchant_reference, merchant_parameters].hash
97
- end
98
-
99
- # Builds the object from hash
100
- # @param [Hash] attributes Model attributes in the form of hash
101
- # @return [Object] Returns the model itself
102
- def self.build_from_hash(attributes)
103
- return nil unless attributes.is_a?(Hash)
104
- attributes = attributes.transform_keys(&:to_sym)
105
- transformed_hash = {}
106
- openapi_types.each_pair do |key, type|
107
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
108
- transformed_hash["#{key}"] = nil
109
- elsif type =~ /\AArray<(.*)>/i
110
- # check to ensure the input is an array given that the attribute
111
- # is documented as an array but the input is not
112
- if attributes[attribute_map[key]].is_a?(Array)
113
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
114
- end
115
- elsif !attributes[attribute_map[key]].nil?
116
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
117
- end
118
- end
119
- new(transformed_hash)
120
- end
121
-
122
- # Deserializes the data based on type
123
- # @param string type Data type
124
- # @param string value Value to be deserialized
125
- # @return [Object] Deserialized data
126
- def self._deserialize(type, value)
127
- case type.to_sym
128
- when :Time
129
- Time.parse(value)
130
- when :Date
131
- Date.parse(value)
132
- when :String
133
- value.to_s
134
- when :Integer
135
- value.to_i
136
- when :Float
137
- value.to_f
138
- when :Boolean
139
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
140
- true
141
- else
142
- false
143
- end
144
- when :Object
145
- # generic object (usually a Hash), return directly
146
- value
147
- when /\AArray<(?<inner_type>.+)>\z/
148
- inner_type = Regexp.last_match[:inner_type]
149
- value.map { |v| _deserialize(inner_type, v) }
150
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
151
- k_type = Regexp.last_match[:k_type]
152
- v_type = Regexp.last_match[:v_type]
153
- {}.tap do |hash|
154
- value.each do |k, v|
155
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
156
- end
157
- end
158
- else # model
159
- # models (e.g. Pet) or oneOf
160
- klass = PCPServerSDK::Models.const_get(type)
161
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
162
- end
163
- end
164
-
165
- # Returns the string representation of the object
166
- # @return [String] String presentation of the object
167
- def to_s
168
- to_hash.to_s
169
- end
170
-
171
- # to_body is an alias to to_hash (backward compatibility)
172
- # @return [Hash] Returns the object in the form of hash
173
- def to_body
174
- to_hash
175
- end
176
-
177
- # Returns the object in the form of hash
178
- # @return [Hash] Returns the object in the form of hash
179
- def to_hash
180
- hash = {}
181
- self.class.attribute_map.each_pair do |attr, param|
182
- value = self.send(attr)
183
- if value.nil?
184
- is_nullable = self.class.openapi_nullable.include?(attr)
185
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
186
- end
187
-
188
- hash[param] = _to_hash(value)
189
- end
190
- hash
191
- end
192
-
193
- # Outputs non-array value in the form of hash
194
- # For object, use to_hash. Otherwise, just return the value
195
- # @param [Object] value Any valid value
196
- # @return [Hash] Returns the value in the form of hash
197
- def _to_hash(value)
198
- if value.is_a?(Array)
199
- value.compact.map { |v| _to_hash(v) }
200
- elsif value.is_a?(Hash)
201
- {}.tap do |hash|
202
- value.each { |k, v| hash[k] = _to_hash(v) }
203
- end
204
- elsif value.respond_to? :to_hash
205
- value.to_hash
206
- else
207
- value
208
- end
209
- end
51
+ attribute :merchant_parameters, :merchantParameters, :String
210
52
  end
211
53
  end
212
54
  end
@@ -1,192 +1,9 @@
1
- require 'date'
2
- require 'time'
1
+ require_relative 'model_base'
3
2
 
4
- # Request to refresh the payment status of a specific payment.
5
3
  module PCPServerSDK
6
4
  module Models
7
- class RefreshPaymentRequest
8
- # Type of refresh request
9
- attr_accessor :refresh_type
10
-
11
- class EnumAttributeValidator
12
- attr_reader :datatype
13
- attr_reader :allowable_values
14
-
15
- def initialize(datatype, allowable_values)
16
- @allowable_values = allowable_values.map do |value|
17
- case datatype.to_s
18
- when /Integer/i
19
- value.to_i
20
- when /Float/i
21
- value.to_f
22
- else
23
- value
24
- end
25
- end
26
- end
27
-
28
- def valid?(value)
29
- !value || allowable_values.include?(value)
30
- end
31
- end
32
-
33
- # Attribute mapping from Ruby-style variable name to JSON key.
34
- def self.attribute_map
35
- {
36
- :'refresh_type' => :'refreshType'
37
- }
38
- end
39
-
40
- # Returns all the JSON keys this model knows about
41
- def self.acceptable_attributes
42
- attribute_map.values
43
- end
44
-
45
- # Attribute type mapping.
46
- def self.openapi_types
47
- {
48
- :'refresh_type' => :'RefreshType'
49
- }
50
- end
51
-
52
- # List of attributes with nullable: true
53
- def self.openapi_nullable
54
- Set.new([])
55
- end
56
-
57
- # Initializes the object
58
- # @param [Hash] attributes Model attributes in the form of hash
59
- def initialize(attributes = {})
60
- if (!attributes.is_a?(Hash))
61
- fail ArgumentError, "The input argument (attributes) must be a hash in `RefreshPaymentRequest` initialize method"
62
- end
63
-
64
- attributes = attributes.each_with_object({}) { |(k, v), h|
65
- if (!self.class.attribute_map.key?(k.to_sym))
66
- fail ArgumentError, "`#{k}` is not a valid attribute in `RefreshPaymentRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
67
- end
68
- h[k.to_sym] = v
69
- }
70
-
71
- if attributes.key?(:'refresh_type')
72
- self.refresh_type = attributes[:'refresh_type']
73
- end
74
- end
75
-
76
- # Checks equality by comparing each attribute.
77
- def ==(o)
78
- return true if self.equal?(o)
79
- self.class == o.class &&
80
- refresh_type == o.refresh_type
81
- end
82
-
83
- # @see the `==` method
84
- def eql?(o)
85
- self == o
86
- end
87
-
88
- # Calculates hash code according to all attributes.
89
- def hash
90
- [refresh_type].hash
91
- end
92
-
93
- # Builds the object from hash
94
- # @param [Hash] attributes Model attributes in the form of hash
95
- # @return [Object] Returns the model itself
96
- def self.build_from_hash(attributes)
97
- return nil unless attributes.is_a?(Hash)
98
- attributes = attributes.transform_keys(&:to_sym)
99
- transformed_hash = {}
100
- openapi_types.each_pair do |key, type|
101
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
102
- transformed_hash["#{key}"] = nil
103
- elsif type =~ /\AArray<(.*)>/i
104
- if attributes[attribute_map[key]].is_a?(Array)
105
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
106
- end
107
- elsif !attributes[attribute_map[key]].nil?
108
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
109
- end
110
- end
111
- new(transformed_hash)
112
- end
113
-
114
- # Deserializes the data based on type
115
- def self._deserialize(type, value)
116
- case type.to_sym
117
- when :Time
118
- Time.parse(value)
119
- when :Date
120
- Date.parse(value)
121
- when :String
122
- value.to_s
123
- when :Integer
124
- value.to_i
125
- when :Float
126
- value.to_f
127
- when :Boolean
128
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
129
- true
130
- else
131
- false
132
- end
133
- when :Object
134
- value
135
- when /\AArray<(?<inner_type>.+)>\z/
136
- inner_type = Regexp.last_match[:inner_type]
137
- value.map { |v| _deserialize(inner_type, v) }
138
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
139
- k_type = Regexp.last_match[:k_type]
140
- v_type = Regexp.last_match[:v_type]
141
- {}.tap do |hash|
142
- value.each do |k, v|
143
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
144
- end
145
- end
146
- else
147
- klass = PCPServerSDK::Models.const_get(type)
148
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
149
- end
150
- end
151
-
152
- # Returns the string representation of the object
153
- def to_s
154
- to_hash.to_s
155
- end
156
-
157
- # to_body is an alias to to_hash (backward compatibility)
158
- def to_body
159
- to_hash
160
- end
161
-
162
- # Returns the object in the form of hash
163
- def to_hash
164
- hash = {}
165
- self.class.attribute_map.each_pair do |attr, param|
166
- value = self.send(attr)
167
- if value.nil?
168
- is_nullable = self.class.openapi_nullable.include?(attr)
169
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
170
- end
171
- hash[param] = _to_hash(value)
172
- end
173
- hash
174
- end
175
-
176
- # Outputs non-array value in the form of hash
177
- def _to_hash(value)
178
- if value.is_a?(Array)
179
- value.compact.map { |v| _to_hash(v) }
180
- elsif value.is_a?(Hash)
181
- {}.tap do |hash|
182
- value.each { |k, v| hash[k] = _to_hash(v) }
183
- end
184
- elsif value.respond_to? :to_hash
185
- value.to_hash
186
- else
187
- value
188
- end
189
- end
5
+ class RefreshPaymentRequest < ModelBase
6
+ attribute :refresh_type, :refreshType, :RefreshType
190
7
  end
191
8
  end
192
9
  end