postfinancecheckout-ruby-sdk 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (364) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +8 -0
  3. data/LICENSE +201 -0
  4. data/README.md +137 -0
  5. data/Rakefile +13 -0
  6. data/lib/.DS_Store +0 -0
  7. data/lib/postfinancecheckout-ruby-sdk.rb +392 -0
  8. data/lib/postfinancecheckout-ruby-sdk/api/account_service_api.rb +368 -0
  9. data/lib/postfinancecheckout-ruby-sdk/api/application_user_service_api.rb +368 -0
  10. data/lib/postfinancecheckout-ruby-sdk/api/bank_account_service_api.rb +213 -0
  11. data/lib/postfinancecheckout-ruby-sdk/api/bank_transaction_service_api.rb +213 -0
  12. data/lib/postfinancecheckout-ruby-sdk/api/charge_attempt_service_api.rb +213 -0
  13. data/lib/postfinancecheckout-ruby-sdk/api/charge_bank_transaction_service_api.rb +213 -0
  14. data/lib/postfinancecheckout-ruby-sdk/api/charge_flow_level_payment_link_service_api.rb +213 -0
  15. data/lib/postfinancecheckout-ruby-sdk/api/charge_flow_level_service_api.rb +276 -0
  16. data/lib/postfinancecheckout-ruby-sdk/api/charge_flow_service_api.rb +348 -0
  17. data/lib/postfinancecheckout-ruby-sdk/api/condition_type_service_api.rb +139 -0
  18. data/lib/postfinancecheckout-ruby-sdk/api/country_service_api.rb +81 -0
  19. data/lib/postfinancecheckout-ruby-sdk/api/country_state_service_api.rb +139 -0
  20. data/lib/postfinancecheckout-ruby-sdk/api/currency_bank_account_service_api.rb +213 -0
  21. data/lib/postfinancecheckout-ruby-sdk/api/currency_service_api.rb +81 -0
  22. data/lib/postfinancecheckout-ruby-sdk/api/customer_address_service_api.rb +460 -0
  23. data/lib/postfinancecheckout-ruby-sdk/api/customer_comment_service_api.rb +522 -0
  24. data/lib/postfinancecheckout-ruby-sdk/api/customer_service_api.rb +398 -0
  25. data/lib/postfinancecheckout-ruby-sdk/api/delivery_indication_service_api.rb +337 -0
  26. data/lib/postfinancecheckout-ruby-sdk/api/document_template_service_api.rb +213 -0
  27. data/lib/postfinancecheckout-ruby-sdk/api/document_template_type_service_api.rb +139 -0
  28. data/lib/postfinancecheckout-ruby-sdk/api/external_transfer_bank_transaction_service_api.rb +213 -0
  29. data/lib/postfinancecheckout-ruby-sdk/api/human_user_service_api.rb +425 -0
  30. data/lib/postfinancecheckout-ruby-sdk/api/internal_transfer_bank_transaction_service_api.rb +213 -0
  31. data/lib/postfinancecheckout-ruby-sdk/api/label_description_group_service_api.rb +139 -0
  32. data/lib/postfinancecheckout-ruby-sdk/api/label_description_service_api.rb +139 -0
  33. data/lib/postfinancecheckout-ruby-sdk/api/language_service_api.rb +81 -0
  34. data/lib/postfinancecheckout-ruby-sdk/api/legal_organization_form_service_api.rb +197 -0
  35. data/lib/postfinancecheckout-ruby-sdk/api/manual_task_service_api.rb +213 -0
  36. data/lib/postfinancecheckout-ruby-sdk/api/payment_connector_configuration_service_api.rb +213 -0
  37. data/lib/postfinancecheckout-ruby-sdk/api/payment_connector_service_api.rb +139 -0
  38. data/lib/postfinancecheckout-ruby-sdk/api/payment_link_service_api.rb +398 -0
  39. data/lib/postfinancecheckout-ruby-sdk/api/payment_method_brand_service_api.rb +139 -0
  40. data/lib/postfinancecheckout-ruby-sdk/api/payment_method_configuration_service_api.rb +213 -0
  41. data/lib/postfinancecheckout-ruby-sdk/api/payment_method_service_api.rb +139 -0
  42. data/lib/postfinancecheckout-ruby-sdk/api/payment_processor_configuration_service_api.rb +213 -0
  43. data/lib/postfinancecheckout-ruby-sdk/api/payment_processor_service_api.rb +139 -0
  44. data/lib/postfinancecheckout-ruby-sdk/api/payment_terminal_service_api.rb +213 -0
  45. data/lib/postfinancecheckout-ruby-sdk/api/payment_terminal_till_service_api.rb +170 -0
  46. data/lib/postfinancecheckout-ruby-sdk/api/permission_service_api.rb +139 -0
  47. data/lib/postfinancecheckout-ruby-sdk/api/refund_bank_transaction_service_api.rb +213 -0
  48. data/lib/postfinancecheckout-ruby-sdk/api/refund_comment_service_api.rb +464 -0
  49. data/lib/postfinancecheckout-ruby-sdk/api/refund_recovery_bank_transaction_service_api.rb +213 -0
  50. data/lib/postfinancecheckout-ruby-sdk/api/refund_service_api.rb +532 -0
  51. data/lib/postfinancecheckout-ruby-sdk/api/shopify_recurring_order_service_api.rb +274 -0
  52. data/lib/postfinancecheckout-ruby-sdk/api/shopify_subscriber_service_api.rb +275 -0
  53. data/lib/postfinancecheckout-ruby-sdk/api/shopify_subscription_product_service_api.rb +337 -0
  54. data/lib/postfinancecheckout-ruby-sdk/api/shopify_subscription_service_api.rb +466 -0
  55. data/lib/postfinancecheckout-ruby-sdk/api/shopify_subscription_suspension_service_api.rb +337 -0
  56. data/lib/postfinancecheckout-ruby-sdk/api/shopify_subscription_version_service_api.rb +213 -0
  57. data/lib/postfinancecheckout-ruby-sdk/api/shopify_transaction_service_api.rb +213 -0
  58. data/lib/postfinancecheckout-ruby-sdk/api/space_service_api.rb +368 -0
  59. data/lib/postfinancecheckout-ruby-sdk/api/static_value_service_api.rb +139 -0
  60. data/lib/postfinancecheckout-ruby-sdk/api/token_service_api.rb +650 -0
  61. data/lib/postfinancecheckout-ruby-sdk/api/token_version_service_api.rb +276 -0
  62. data/lib/postfinancecheckout-ruby-sdk/api/transaction_comment_service_api.rb +464 -0
  63. data/lib/postfinancecheckout-ruby-sdk/api/transaction_completion_service_api.rb +463 -0
  64. data/lib/postfinancecheckout-ruby-sdk/api/transaction_iframe_service_api.rb +91 -0
  65. data/lib/postfinancecheckout-ruby-sdk/api/transaction_invoice_comment_service_api.rb +464 -0
  66. data/lib/postfinancecheckout-ruby-sdk/api/transaction_invoice_service_api.rb +600 -0
  67. data/lib/postfinancecheckout-ruby-sdk/api/transaction_lightbox_service_api.rb +91 -0
  68. data/lib/postfinancecheckout-ruby-sdk/api/transaction_mobile_sdk_service_api.rb +86 -0
  69. data/lib/postfinancecheckout-ruby-sdk/api/transaction_payment_page_service_api.rb +91 -0
  70. data/lib/postfinancecheckout-ruby-sdk/api/transaction_service_api.rb +1210 -0
  71. data/lib/postfinancecheckout-ruby-sdk/api/transaction_terminal_service_api.rb +161 -0
  72. data/lib/postfinancecheckout-ruby-sdk/api/transaction_void_service_api.rb +339 -0
  73. data/lib/postfinancecheckout-ruby-sdk/api/user_account_role_service_api.rb +219 -0
  74. data/lib/postfinancecheckout-ruby-sdk/api/user_space_role_service_api.rb +216 -0
  75. data/lib/postfinancecheckout-ruby-sdk/api/webhook_listener_service_api.rb +398 -0
  76. data/lib/postfinancecheckout-ruby-sdk/api/webhook_url_service_api.rb +398 -0
  77. data/lib/postfinancecheckout-ruby-sdk/api_client.rb +405 -0
  78. data/lib/postfinancecheckout-ruby-sdk/api_error.rb +43 -0
  79. data/lib/postfinancecheckout-ruby-sdk/configuration.rb +140 -0
  80. data/lib/postfinancecheckout-ruby-sdk/models/abstract_account_update.rb +234 -0
  81. data/lib/postfinancecheckout-ruby-sdk/models/abstract_application_user_update.rb +225 -0
  82. data/lib/postfinancecheckout-ruby-sdk/models/abstract_customer_active.rb +312 -0
  83. data/lib/postfinancecheckout-ruby-sdk/models/abstract_customer_address_active.rb +200 -0
  84. data/lib/postfinancecheckout-ruby-sdk/models/abstract_customer_comment_active.rb +205 -0
  85. data/lib/postfinancecheckout-ruby-sdk/models/abstract_human_user_update.rb +320 -0
  86. data/lib/postfinancecheckout-ruby-sdk/models/abstract_payment_link_update.rb +309 -0
  87. data/lib/postfinancecheckout-ruby-sdk/models/abstract_refund_comment_active.rb +205 -0
  88. data/lib/postfinancecheckout-ruby-sdk/models/abstract_shopify_subscription_product_update.rb +320 -0
  89. data/lib/postfinancecheckout-ruby-sdk/models/abstract_space_update.rb +286 -0
  90. data/lib/postfinancecheckout-ruby-sdk/models/abstract_token_update.rb +270 -0
  91. data/lib/postfinancecheckout-ruby-sdk/models/abstract_transaction_comment_active.rb +205 -0
  92. data/lib/postfinancecheckout-ruby-sdk/models/abstract_transaction_invoice_comment_active.rb +205 -0
  93. data/lib/postfinancecheckout-ruby-sdk/models/abstract_transaction_pending.rb +486 -0
  94. data/lib/postfinancecheckout-ruby-sdk/models/abstract_webhook_listener_update.rb +237 -0
  95. data/lib/postfinancecheckout-ruby-sdk/models/abstract_webhook_url_update.rb +249 -0
  96. data/lib/postfinancecheckout-ruby-sdk/models/account.rb +375 -0
  97. data/lib/postfinancecheckout-ruby-sdk/models/account_create.rb +260 -0
  98. data/lib/postfinancecheckout-ruby-sdk/models/account_state.rb +39 -0
  99. data/lib/postfinancecheckout-ruby-sdk/models/account_type.rb +36 -0
  100. data/lib/postfinancecheckout-ruby-sdk/models/account_update.rb +265 -0
  101. data/lib/postfinancecheckout-ruby-sdk/models/address.rb +606 -0
  102. data/lib/postfinancecheckout-ruby-sdk/models/address_create.rb +606 -0
  103. data/lib/postfinancecheckout-ruby-sdk/models/application_user.rb +286 -0
  104. data/lib/postfinancecheckout-ruby-sdk/models/application_user_create.rb +241 -0
  105. data/lib/postfinancecheckout-ruby-sdk/models/application_user_create_with_mac_key.rb +296 -0
  106. data/lib/postfinancecheckout-ruby-sdk/models/application_user_update.rb +256 -0
  107. data/lib/postfinancecheckout-ruby-sdk/models/bank_account.rb +291 -0
  108. data/lib/postfinancecheckout-ruby-sdk/models/bank_account_environment.rb +35 -0
  109. data/lib/postfinancecheckout-ruby-sdk/models/bank_account_state.rb +37 -0
  110. data/lib/postfinancecheckout-ruby-sdk/models/bank_account_type.rb +227 -0
  111. data/lib/postfinancecheckout-ruby-sdk/models/bank_transaction.rb +387 -0
  112. data/lib/postfinancecheckout-ruby-sdk/models/bank_transaction_flow_direction.rb +35 -0
  113. data/lib/postfinancecheckout-ruby-sdk/models/bank_transaction_source.rb +215 -0
  114. data/lib/postfinancecheckout-ruby-sdk/models/bank_transaction_state.rb +35 -0
  115. data/lib/postfinancecheckout-ruby-sdk/models/bank_transaction_type.rb +215 -0
  116. data/lib/postfinancecheckout-ruby-sdk/models/charge.rb +331 -0
  117. data/lib/postfinancecheckout-ruby-sdk/models/charge_attempt.rb +468 -0
  118. data/lib/postfinancecheckout-ruby-sdk/models/charge_attempt_environment.rb +35 -0
  119. data/lib/postfinancecheckout-ruby-sdk/models/charge_attempt_state.rb +36 -0
  120. data/lib/postfinancecheckout-ruby-sdk/models/charge_bank_transaction.rb +291 -0
  121. data/lib/postfinancecheckout-ruby-sdk/models/charge_flow.rb +263 -0
  122. data/lib/postfinancecheckout-ruby-sdk/models/charge_flow_level.rb +311 -0
  123. data/lib/postfinancecheckout-ruby-sdk/models/charge_flow_level_configuration.rb +296 -0
  124. data/lib/postfinancecheckout-ruby-sdk/models/charge_flow_level_configuration_type.rb +227 -0
  125. data/lib/postfinancecheckout-ruby-sdk/models/charge_flow_level_payment_link.rb +231 -0
  126. data/lib/postfinancecheckout-ruby-sdk/models/charge_flow_level_state.rb +36 -0
  127. data/lib/postfinancecheckout-ruby-sdk/models/charge_state.rb +36 -0
  128. data/lib/postfinancecheckout-ruby-sdk/models/charge_type.rb +37 -0
  129. data/lib/postfinancecheckout-ruby-sdk/models/client_error.rb +231 -0
  130. data/lib/postfinancecheckout-ruby-sdk/models/client_error_type.rb +36 -0
  131. data/lib/postfinancecheckout-ruby-sdk/models/completion_line_item.rb +226 -0
  132. data/lib/postfinancecheckout-ruby-sdk/models/completion_line_item_create.rb +245 -0
  133. data/lib/postfinancecheckout-ruby-sdk/models/condition.rb +266 -0
  134. data/lib/postfinancecheckout-ruby-sdk/models/condition_type.rb +215 -0
  135. data/lib/postfinancecheckout-ruby-sdk/models/connector_invocation.rb +271 -0
  136. data/lib/postfinancecheckout-ruby-sdk/models/connector_invocation_stage.rb +37 -0
  137. data/lib/postfinancecheckout-ruby-sdk/models/creation_entity_state.rb +38 -0
  138. data/lib/postfinancecheckout-ruby-sdk/models/criteria_operator.rb +45 -0
  139. data/lib/postfinancecheckout-ruby-sdk/models/currency_bank_account.rb +241 -0
  140. data/lib/postfinancecheckout-ruby-sdk/models/customer.rb +353 -0
  141. data/lib/postfinancecheckout-ruby-sdk/models/customer_active.rb +343 -0
  142. data/lib/postfinancecheckout-ruby-sdk/models/customer_address.rb +261 -0
  143. data/lib/postfinancecheckout-ruby-sdk/models/customer_address_active.rb +231 -0
  144. data/lib/postfinancecheckout-ruby-sdk/models/customer_address_create.rb +216 -0
  145. data/lib/postfinancecheckout-ruby-sdk/models/customer_address_type.rb +36 -0
  146. data/lib/postfinancecheckout-ruby-sdk/models/customer_comment.rb +296 -0
  147. data/lib/postfinancecheckout-ruby-sdk/models/customer_comment_active.rb +236 -0
  148. data/lib/postfinancecheckout-ruby-sdk/models/customer_comment_create.rb +221 -0
  149. data/lib/postfinancecheckout-ruby-sdk/models/customer_create.rb +313 -0
  150. data/lib/postfinancecheckout-ruby-sdk/models/customer_postal_address.rb +606 -0
  151. data/lib/postfinancecheckout-ruby-sdk/models/customer_postal_address_create.rb +606 -0
  152. data/lib/postfinancecheckout-ruby-sdk/models/customers_presence.rb +36 -0
  153. data/lib/postfinancecheckout-ruby-sdk/models/data_collection_type.rb +35 -0
  154. data/lib/postfinancecheckout-ruby-sdk/models/database_translated_string.rb +215 -0
  155. data/lib/postfinancecheckout-ruby-sdk/models/database_translated_string_item.rb +226 -0
  156. data/lib/postfinancecheckout-ruby-sdk/models/delivery_indication.rb +321 -0
  157. data/lib/postfinancecheckout-ruby-sdk/models/delivery_indication_decision_reason.rb +215 -0
  158. data/lib/postfinancecheckout-ruby-sdk/models/delivery_indication_state.rb +37 -0
  159. data/lib/postfinancecheckout-ruby-sdk/models/document_template.rb +306 -0
  160. data/lib/postfinancecheckout-ruby-sdk/models/document_template_type.rb +235 -0
  161. data/lib/postfinancecheckout-ruby-sdk/models/document_template_type_group.rb +203 -0
  162. data/lib/postfinancecheckout-ruby-sdk/models/entity_export_request.rb +208 -0
  163. data/lib/postfinancecheckout-ruby-sdk/models/entity_query.rb +233 -0
  164. data/lib/postfinancecheckout-ruby-sdk/models/entity_query_filter.rb +238 -0
  165. data/lib/postfinancecheckout-ruby-sdk/models/entity_query_filter_type.rb +36 -0
  166. data/lib/postfinancecheckout-ruby-sdk/models/entity_query_order_by.rb +211 -0
  167. data/lib/postfinancecheckout-ruby-sdk/models/entity_query_order_by_type.rb +35 -0
  168. data/lib/postfinancecheckout-ruby-sdk/models/environment.rb +35 -0
  169. data/lib/postfinancecheckout-ruby-sdk/models/external_transfer_bank_transaction.rb +251 -0
  170. data/lib/postfinancecheckout-ruby-sdk/models/failure_category.rb +38 -0
  171. data/lib/postfinancecheckout-ruby-sdk/models/failure_reason.rb +237 -0
  172. data/lib/postfinancecheckout-ruby-sdk/models/feature.rb +277 -0
  173. data/lib/postfinancecheckout-ruby-sdk/models/feature_category.rb +225 -0
  174. data/lib/postfinancecheckout-ruby-sdk/models/gender.rb +35 -0
  175. data/lib/postfinancecheckout-ruby-sdk/models/human_user.rb +361 -0
  176. data/lib/postfinancecheckout-ruby-sdk/models/human_user_create.rb +331 -0
  177. data/lib/postfinancecheckout-ruby-sdk/models/human_user_update.rb +351 -0
  178. data/lib/postfinancecheckout-ruby-sdk/models/internal_transfer_bank_transaction.rb +231 -0
  179. data/lib/postfinancecheckout-ruby-sdk/models/label.rb +231 -0
  180. data/lib/postfinancecheckout-ruby-sdk/models/label_descriptor.rb +267 -0
  181. data/lib/postfinancecheckout-ruby-sdk/models/label_descriptor_category.rb +35 -0
  182. data/lib/postfinancecheckout-ruby-sdk/models/label_descriptor_group.rb +225 -0
  183. data/lib/postfinancecheckout-ruby-sdk/models/label_descriptor_type.rb +215 -0
  184. data/lib/postfinancecheckout-ruby-sdk/models/legal_organization_form.rb +235 -0
  185. data/lib/postfinancecheckout-ruby-sdk/models/line_item.rb +449 -0
  186. data/lib/postfinancecheckout-ruby-sdk/models/line_item_attribute.rb +231 -0
  187. data/lib/postfinancecheckout-ruby-sdk/models/line_item_attribute_create.rb +249 -0
  188. data/lib/postfinancecheckout-ruby-sdk/models/line_item_create.rb +372 -0
  189. data/lib/postfinancecheckout-ruby-sdk/models/line_item_reduction.rb +226 -0
  190. data/lib/postfinancecheckout-ruby-sdk/models/line_item_reduction_create.rb +245 -0
  191. data/lib/postfinancecheckout-ruby-sdk/models/line_item_type.rb +37 -0
  192. data/lib/postfinancecheckout-ruby-sdk/models/localized_string.rb +211 -0
  193. data/lib/postfinancecheckout-ruby-sdk/models/manual_task.rb +283 -0
  194. data/lib/postfinancecheckout-ruby-sdk/models/manual_task_action.rb +223 -0
  195. data/lib/postfinancecheckout-ruby-sdk/models/manual_task_action_style.rb +36 -0
  196. data/lib/postfinancecheckout-ruby-sdk/models/manual_task_state.rb +36 -0
  197. data/lib/postfinancecheckout-ruby-sdk/models/manual_task_type.rb +227 -0
  198. data/lib/postfinancecheckout-ruby-sdk/models/one_click_payment_mode.rb +36 -0
  199. data/lib/postfinancecheckout-ruby-sdk/models/payment_adjustment.rb +231 -0
  200. data/lib/postfinancecheckout-ruby-sdk/models/payment_adjustment_type.rb +215 -0
  201. data/lib/postfinancecheckout-ruby-sdk/models/payment_connector.rb +321 -0
  202. data/lib/postfinancecheckout-ruby-sdk/models/payment_connector_configuration.rb +342 -0
  203. data/lib/postfinancecheckout-ruby-sdk/models/payment_connector_feature.rb +211 -0
  204. data/lib/postfinancecheckout-ruby-sdk/models/payment_contract.rb +331 -0
  205. data/lib/postfinancecheckout-ruby-sdk/models/payment_contract_state.rb +38 -0
  206. data/lib/postfinancecheckout-ruby-sdk/models/payment_contract_type.rb +225 -0
  207. data/lib/postfinancecheckout-ruby-sdk/models/payment_information_hash.rb +211 -0
  208. data/lib/postfinancecheckout-ruby-sdk/models/payment_information_hash_type.rb +203 -0
  209. data/lib/postfinancecheckout-ruby-sdk/models/payment_link.rb +390 -0
  210. data/lib/postfinancecheckout-ruby-sdk/models/payment_link_active.rb +350 -0
  211. data/lib/postfinancecheckout-ruby-sdk/models/payment_link_address_handling_mode.rb +36 -0
  212. data/lib/postfinancecheckout-ruby-sdk/models/payment_link_create.rb +345 -0
  213. data/lib/postfinancecheckout-ruby-sdk/models/payment_link_protection_mode.rb +35 -0
  214. data/lib/postfinancecheckout-ruby-sdk/models/payment_link_update.rb +340 -0
  215. data/lib/postfinancecheckout-ruby-sdk/models/payment_method.rb +261 -0
  216. data/lib/postfinancecheckout-ruby-sdk/models/payment_method_brand.rb +245 -0
  217. data/lib/postfinancecheckout-ruby-sdk/models/payment_method_configuration.rb +370 -0
  218. data/lib/postfinancecheckout-ruby-sdk/models/payment_primary_risk_taker.rb +36 -0
  219. data/lib/postfinancecheckout-ruby-sdk/models/payment_processor.rb +271 -0
  220. data/lib/postfinancecheckout-ruby-sdk/models/payment_processor_configuration.rb +276 -0
  221. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal.rb +306 -0
  222. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_address.rb +396 -0
  223. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_configuration.rb +266 -0
  224. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_configuration_state.rb +37 -0
  225. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_configuration_version.rb +323 -0
  226. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_configuration_version_state.rb +38 -0
  227. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_location.rb +266 -0
  228. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_location_state.rb +37 -0
  229. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_location_version.rb +281 -0
  230. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_location_version_state.rb +38 -0
  231. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_receipt_type.rb +215 -0
  232. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_state.rb +38 -0
  233. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_type.rb +215 -0
  234. data/lib/postfinancecheckout-ruby-sdk/models/permission.rb +299 -0
  235. data/lib/postfinancecheckout-ruby-sdk/models/refund.rb +567 -0
  236. data/lib/postfinancecheckout-ruby-sdk/models/refund_bank_transaction.rb +281 -0
  237. data/lib/postfinancecheckout-ruby-sdk/models/refund_comment.rb +296 -0
  238. data/lib/postfinancecheckout-ruby-sdk/models/refund_comment_active.rb +236 -0
  239. data/lib/postfinancecheckout-ruby-sdk/models/refund_comment_create.rb +221 -0
  240. data/lib/postfinancecheckout-ruby-sdk/models/refund_create.rb +306 -0
  241. data/lib/postfinancecheckout-ruby-sdk/models/refund_recovery_bank_transaction.rb +293 -0
  242. data/lib/postfinancecheckout-ruby-sdk/models/refund_state.rb +39 -0
  243. data/lib/postfinancecheckout-ruby-sdk/models/refund_type.rb +37 -0
  244. data/lib/postfinancecheckout-ruby-sdk/models/rendered_document.rb +223 -0
  245. data/lib/postfinancecheckout-ruby-sdk/models/rendered_terminal_receipt.rb +223 -0
  246. data/lib/postfinancecheckout-ruby-sdk/models/resource_path.rb +275 -0
  247. data/lib/postfinancecheckout-ruby-sdk/models/resource_state.rb +36 -0
  248. data/lib/postfinancecheckout-ruby-sdk/models/rest_address_format.rb +227 -0
  249. data/lib/postfinancecheckout-ruby-sdk/models/rest_address_format_field.rb +43 -0
  250. data/lib/postfinancecheckout-ruby-sdk/models/rest_country.rb +243 -0
  251. data/lib/postfinancecheckout-ruby-sdk/models/rest_country_state.rb +221 -0
  252. data/lib/postfinancecheckout-ruby-sdk/models/rest_currency.rb +211 -0
  253. data/lib/postfinancecheckout-ruby-sdk/models/rest_language.rb +241 -0
  254. data/lib/postfinancecheckout-ruby-sdk/models/role.rb +263 -0
  255. data/lib/postfinancecheckout-ruby-sdk/models/role_state.rb +37 -0
  256. data/lib/postfinancecheckout-ruby-sdk/models/sales_channel.rb +245 -0
  257. data/lib/postfinancecheckout-ruby-sdk/models/scope.rb +350 -0
  258. data/lib/postfinancecheckout-ruby-sdk/models/server_error.rb +211 -0
  259. data/lib/postfinancecheckout-ruby-sdk/models/shopify_additional_line_item_data.rb +35 -0
  260. data/lib/postfinancecheckout-ruby-sdk/models/shopify_integration.rb +470 -0
  261. data/lib/postfinancecheckout-ruby-sdk/models/shopify_integration_payment_app_version.rb +34 -0
  262. data/lib/postfinancecheckout-ruby-sdk/models/shopify_integration_subscription_app_version.rb +36 -0
  263. data/lib/postfinancecheckout-ruby-sdk/models/shopify_recurring_order.rb +351 -0
  264. data/lib/postfinancecheckout-ruby-sdk/models/shopify_recurring_order_state.rb +39 -0
  265. data/lib/postfinancecheckout-ruby-sdk/models/shopify_recurring_order_update_request.rb +201 -0
  266. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscriber.rb +281 -0
  267. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscriber_active.rb +241 -0
  268. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscriber_creation.rb +216 -0
  269. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscriber_state.rb +36 -0
  270. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription.rb +375 -0
  271. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_address.rb +546 -0
  272. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_address_create.rb +546 -0
  273. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_billing_interval_unit.rb +39 -0
  274. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_creation_request.rb +363 -0
  275. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_model_billing_configuration.rb +271 -0
  276. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_model_item.rb +233 -0
  277. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_model_tax_line.rb +201 -0
  278. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_product.rb +471 -0
  279. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_product_create.rb +366 -0
  280. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_product_pricing_option.rb +38 -0
  281. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_product_state.rb +39 -0
  282. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_product_update.rb +351 -0
  283. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_state.rb +39 -0
  284. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_suspension.rb +311 -0
  285. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_suspension_create.rb +226 -0
  286. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_suspension_initiator.rb +35 -0
  287. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_suspension_state.rb +35 -0
  288. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_suspension_type.rb +35 -0
  289. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_update_addresses_request.rb +211 -0
  290. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_update_request.rb +233 -0
  291. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_version.rb +463 -0
  292. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_version_item.rb +233 -0
  293. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_version_item_price_strategy.rb +35 -0
  294. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_version_state.rb +36 -0
  295. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_weekday.rb +40 -0
  296. data/lib/postfinancecheckout-ruby-sdk/models/shopify_tax_line.rb +231 -0
  297. data/lib/postfinancecheckout-ruby-sdk/models/shopify_transaction.rb +301 -0
  298. data/lib/postfinancecheckout-ruby-sdk/models/shopify_transaction_state.rb +38 -0
  299. data/lib/postfinancecheckout-ruby-sdk/models/space.rb +407 -0
  300. data/lib/postfinancecheckout-ruby-sdk/models/space_address.rb +416 -0
  301. data/lib/postfinancecheckout-ruby-sdk/models/space_address_create.rb +416 -0
  302. data/lib/postfinancecheckout-ruby-sdk/models/space_create.rb +302 -0
  303. data/lib/postfinancecheckout-ruby-sdk/models/space_update.rb +317 -0
  304. data/lib/postfinancecheckout-ruby-sdk/models/space_view.rb +275 -0
  305. data/lib/postfinancecheckout-ruby-sdk/models/static_value.rb +227 -0
  306. data/lib/postfinancecheckout-ruby-sdk/models/tax.rb +225 -0
  307. data/lib/postfinancecheckout-ruby-sdk/models/tax_create.rb +239 -0
  308. data/lib/postfinancecheckout-ruby-sdk/models/tenant_database.rb +226 -0
  309. data/lib/postfinancecheckout-ruby-sdk/models/terminal_receipt_fetch_request.rb +221 -0
  310. data/lib/postfinancecheckout-ruby-sdk/models/terminal_receipt_format.rb +35 -0
  311. data/lib/postfinancecheckout-ruby-sdk/models/token.rb +341 -0
  312. data/lib/postfinancecheckout-ruby-sdk/models/token_create.rb +296 -0
  313. data/lib/postfinancecheckout-ruby-sdk/models/token_update.rb +301 -0
  314. data/lib/postfinancecheckout-ruby-sdk/models/token_version.rb +445 -0
  315. data/lib/postfinancecheckout-ruby-sdk/models/token_version_state.rb +36 -0
  316. data/lib/postfinancecheckout-ruby-sdk/models/token_version_type.rb +225 -0
  317. data/lib/postfinancecheckout-ruby-sdk/models/tokenization_mode.rb +37 -0
  318. data/lib/postfinancecheckout-ruby-sdk/models/transaction.rb +1011 -0
  319. data/lib/postfinancecheckout-ruby-sdk/models/transaction_aware_entity.rb +211 -0
  320. data/lib/postfinancecheckout-ruby-sdk/models/transaction_comment.rb +296 -0
  321. data/lib/postfinancecheckout-ruby-sdk/models/transaction_comment_active.rb +236 -0
  322. data/lib/postfinancecheckout-ruby-sdk/models/transaction_comment_create.rb +221 -0
  323. data/lib/postfinancecheckout-ruby-sdk/models/transaction_completion.rb +528 -0
  324. data/lib/postfinancecheckout-ruby-sdk/models/transaction_completion_behavior.rb +36 -0
  325. data/lib/postfinancecheckout-ruby-sdk/models/transaction_completion_mode.rb +36 -0
  326. data/lib/postfinancecheckout-ruby-sdk/models/transaction_completion_request.rb +291 -0
  327. data/lib/postfinancecheckout-ruby-sdk/models/transaction_completion_state.rb +38 -0
  328. data/lib/postfinancecheckout-ruby-sdk/models/transaction_create.rb +596 -0
  329. data/lib/postfinancecheckout-ruby-sdk/models/transaction_environment_selection_strategy.rb +36 -0
  330. data/lib/postfinancecheckout-ruby-sdk/models/transaction_group.rb +276 -0
  331. data/lib/postfinancecheckout-ruby-sdk/models/transaction_group_state.rb +36 -0
  332. data/lib/postfinancecheckout-ruby-sdk/models/transaction_invoice.rb +452 -0
  333. data/lib/postfinancecheckout-ruby-sdk/models/transaction_invoice_comment.rb +296 -0
  334. data/lib/postfinancecheckout-ruby-sdk/models/transaction_invoice_comment_active.rb +236 -0
  335. data/lib/postfinancecheckout-ruby-sdk/models/transaction_invoice_comment_create.rb +221 -0
  336. data/lib/postfinancecheckout-ruby-sdk/models/transaction_invoice_replacement.rb +296 -0
  337. data/lib/postfinancecheckout-ruby-sdk/models/transaction_invoice_state.rb +40 -0
  338. data/lib/postfinancecheckout-ruby-sdk/models/transaction_line_item_update_request.rb +208 -0
  339. data/lib/postfinancecheckout-ruby-sdk/models/transaction_line_item_version.rb +313 -0
  340. data/lib/postfinancecheckout-ruby-sdk/models/transaction_pending.rb +517 -0
  341. data/lib/postfinancecheckout-ruby-sdk/models/transaction_state.rb +43 -0
  342. data/lib/postfinancecheckout-ruby-sdk/models/transaction_user_interface_type.rb +38 -0
  343. data/lib/postfinancecheckout-ruby-sdk/models/transaction_void.rb +373 -0
  344. data/lib/postfinancecheckout-ruby-sdk/models/transaction_void_mode.rb +35 -0
  345. data/lib/postfinancecheckout-ruby-sdk/models/transaction_void_state.rb +37 -0
  346. data/lib/postfinancecheckout-ruby-sdk/models/two_factor_authentication_type.rb +235 -0
  347. data/lib/postfinancecheckout-ruby-sdk/models/user.rb +241 -0
  348. data/lib/postfinancecheckout-ruby-sdk/models/user_account_role.rb +241 -0
  349. data/lib/postfinancecheckout-ruby-sdk/models/user_space_role.rb +231 -0
  350. data/lib/postfinancecheckout-ruby-sdk/models/user_type.rb +38 -0
  351. data/lib/postfinancecheckout-ruby-sdk/models/webhook_identity.rb +256 -0
  352. data/lib/postfinancecheckout-ruby-sdk/models/webhook_listener.rb +308 -0
  353. data/lib/postfinancecheckout-ruby-sdk/models/webhook_listener_create.rb +278 -0
  354. data/lib/postfinancecheckout-ruby-sdk/models/webhook_listener_entity.rb +213 -0
  355. data/lib/postfinancecheckout-ruby-sdk/models/webhook_listener_update.rb +268 -0
  356. data/lib/postfinancecheckout-ruby-sdk/models/webhook_url.rb +300 -0
  357. data/lib/postfinancecheckout-ruby-sdk/models/webhook_url_create.rb +250 -0
  358. data/lib/postfinancecheckout-ruby-sdk/models/webhook_url_update.rb +280 -0
  359. data/lib/postfinancecheckout-ruby-sdk/version.rb +20 -0
  360. data/postfinancecheckout-ruby-sdk.gemspec +44 -0
  361. data/test/condition_type_service_test.rb +22 -0
  362. data/test/transaction_create_service_test.rb +89 -0
  363. data/test/transaction_payment_page_service_test.rb +91 -0
  364. metadata +469 -0
@@ -0,0 +1,36 @@
1
+ =begin
2
+ The PostFinance Checkout API allows an easy interaction with the PostFinance Checkout web service.
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+
16
+ =end
17
+
18
+ require 'date'
19
+
20
+ module PostFinanceCheckout
21
+ class TransactionCompletionBehavior
22
+
23
+ COMPLETE_IMMEDIATELY = 'COMPLETE_IMMEDIATELY'.freeze
24
+ COMPLETE_DEFERRED = 'COMPLETE_DEFERRED'.freeze
25
+ USE_CONFIGURATION = 'USE_CONFIGURATION'.freeze
26
+
27
+ # Builds the enum from string
28
+ # @param [String] The enum value in the form of the string
29
+ # @return [String] The enum value
30
+ def build_from_hash(value)
31
+ constantValues = TransactionCompletionBehavior.constants.select { |c| TransactionCompletionBehavior::const_get(c) == value }
32
+ raise "Invalid ENUM value #{value} for class #TransactionCompletionBehavior" if constantValues.empty?
33
+ value
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,36 @@
1
+ =begin
2
+ The PostFinance Checkout API allows an easy interaction with the PostFinance Checkout web service.
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+
16
+ =end
17
+
18
+ require 'date'
19
+
20
+ module PostFinanceCheckout
21
+ class TransactionCompletionMode
22
+
23
+ DIRECT = 'DIRECT'.freeze
24
+ ONLINE = 'ONLINE'.freeze
25
+ OFFLINE = 'OFFLINE'.freeze
26
+
27
+ # Builds the enum from string
28
+ # @param [String] The enum value in the form of the string
29
+ # @return [String] The enum value
30
+ def build_from_hash(value)
31
+ constantValues = TransactionCompletionMode.constants.select { |c| TransactionCompletionMode::const_get(c) == value }
32
+ raise "Invalid ENUM value #{value} for class #TransactionCompletionMode" if constantValues.empty?
33
+ value
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,291 @@
1
+ =begin
2
+ The PostFinance Checkout API allows an easy interaction with the PostFinance Checkout web service.
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+
16
+ =end
17
+
18
+ require 'date'
19
+
20
+ module PostFinanceCheckout
21
+ #
22
+ class TransactionCompletionRequest
23
+ # The external ID helps to identify the entity and a subsequent creation of an entity with the same ID will not create a new entity.
24
+ attr_accessor :external_id
25
+
26
+ #
27
+ attr_accessor :invoice_merchant_reference
28
+
29
+ # The last completion flag indicates if this is the last completion. After the last completion is created no further completions can be issued.
30
+ attr_accessor :last_completion
31
+
32
+ # The line items which will be used to complete the transaction.
33
+ attr_accessor :line_items
34
+
35
+ # The ID of the transaction which should be completed.
36
+ attr_accessor :transaction_id
37
+
38
+ # Attribute mapping from ruby-style variable name to JSON key.
39
+ def self.attribute_map
40
+ {
41
+ :'external_id' => :'externalId',
42
+ :'invoice_merchant_reference' => :'invoiceMerchantReference',
43
+ :'last_completion' => :'lastCompletion',
44
+ :'line_items' => :'lineItems',
45
+ :'transaction_id' => :'transactionId'
46
+ }
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ def self.swagger_types
51
+ {
52
+ :'external_id' => :'String',
53
+ :'invoice_merchant_reference' => :'String',
54
+ :'last_completion' => :'BOOLEAN',
55
+ :'line_items' => :'Array<CompletionLineItemCreate>',
56
+ :'transaction_id' => :'Integer'
57
+ }
58
+ end
59
+
60
+ # Initializes the object
61
+ # @param [Hash] attributes Model attributes in the form of hash
62
+ def initialize(attributes = {})
63
+ return unless attributes.is_a?(Hash)
64
+
65
+ # convert string to symbol for hash key
66
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
67
+
68
+ if attributes.has_key?(:'externalId')
69
+ self.external_id = attributes[:'externalId']
70
+ end
71
+
72
+ if attributes.has_key?(:'invoiceMerchantReference')
73
+ self.invoice_merchant_reference = attributes[:'invoiceMerchantReference']
74
+ end
75
+
76
+ if attributes.has_key?(:'lastCompletion')
77
+ self.last_completion = attributes[:'lastCompletion']
78
+ end
79
+
80
+ if attributes.has_key?(:'lineItems')
81
+ if (value = attributes[:'lineItems']).is_a?(Array)
82
+ self.line_items = value
83
+ end
84
+ end
85
+
86
+ if attributes.has_key?(:'transactionId')
87
+ self.transaction_id = attributes[:'transactionId']
88
+ end
89
+ end
90
+
91
+ # Show invalid properties with the reasons. Usually used together with valid?
92
+ # @return Array for valid properties with the reasons
93
+ def list_invalid_properties
94
+ invalid_properties = Array.new
95
+ if @external_id.nil?
96
+ invalid_properties.push('invalid value for "external_id", external_id cannot be nil.')
97
+ end
98
+
99
+ if @external_id.to_s.length > 100
100
+ invalid_properties.push('invalid value for "external_id", the character length must be smaller than or equal to 100.')
101
+ end
102
+
103
+ if @external_id.to_s.length < 1
104
+ invalid_properties.push('invalid value for "external_id", the character length must be great than or equal to 1.')
105
+ end
106
+
107
+ if !@invoice_merchant_reference.nil? && @invoice_merchant_reference.to_s.length > 100
108
+ invalid_properties.push('invalid value for "invoice_merchant_reference", the character length must be smaller than or equal to 100.')
109
+ end
110
+
111
+ if @last_completion.nil?
112
+ invalid_properties.push('invalid value for "last_completion", last_completion cannot be nil.')
113
+ end
114
+
115
+ if @transaction_id.nil?
116
+ invalid_properties.push('invalid value for "transaction_id", transaction_id cannot be nil.')
117
+ end
118
+
119
+ invalid_properties
120
+ end
121
+
122
+ # Check to see if the all the properties in the model are valid
123
+ # @return true if the model is valid
124
+ def valid?
125
+ return false if @external_id.nil?
126
+ return false if @external_id.to_s.length > 100
127
+ return false if @external_id.to_s.length < 1
128
+ return false if !@invoice_merchant_reference.nil? && @invoice_merchant_reference.to_s.length > 100
129
+ return false if @last_completion.nil?
130
+ return false if @transaction_id.nil?
131
+ true
132
+ end
133
+
134
+ # Custom attribute writer method with validation
135
+ # @param [Object] external_id Value to be assigned
136
+ def external_id=(external_id)
137
+ if external_id.nil?
138
+ fail ArgumentError, 'external_id cannot be nil'
139
+ end
140
+
141
+ if external_id.to_s.length > 100
142
+ fail ArgumentError, 'invalid value for "external_id", the character length must be smaller than or equal to 100.'
143
+ end
144
+
145
+ if external_id.to_s.length < 1
146
+ fail ArgumentError, 'invalid value for "external_id", the character length must be great than or equal to 1.'
147
+ end
148
+
149
+ @external_id = external_id
150
+ end
151
+
152
+ # Custom attribute writer method with validation
153
+ # @param [Object] invoice_merchant_reference Value to be assigned
154
+ def invoice_merchant_reference=(invoice_merchant_reference)
155
+ if !invoice_merchant_reference.nil? && invoice_merchant_reference.to_s.length > 100
156
+ fail ArgumentError, 'invalid value for "invoice_merchant_reference", the character length must be smaller than or equal to 100.'
157
+ end
158
+
159
+ @invoice_merchant_reference = invoice_merchant_reference
160
+ end
161
+
162
+ # Checks equality by comparing each attribute.
163
+ # @param [Object] Object to be compared
164
+ def ==(o)
165
+ return true if self.equal?(o)
166
+ self.class == o.class &&
167
+ external_id == o.external_id &&
168
+ invoice_merchant_reference == o.invoice_merchant_reference &&
169
+ last_completion == o.last_completion &&
170
+ line_items == o.line_items &&
171
+ transaction_id == o.transaction_id
172
+ end
173
+
174
+ # @see the `==` method
175
+ # @param [Object] Object to be compared
176
+ def eql?(o)
177
+ self == o
178
+ end
179
+
180
+ # Calculates hash code according to all attributes.
181
+ # @return [Fixnum] Hash code
182
+ def hash
183
+ [external_id, invoice_merchant_reference, last_completion, line_items, transaction_id].hash
184
+ end
185
+
186
+ # Builds the object from hash
187
+ # @param [Hash] attributes Model attributes in the form of hash
188
+ # @return [Object] Returns the model itself
189
+ def build_from_hash(attributes)
190
+ return nil unless attributes.is_a?(Hash)
191
+ self.class.swagger_types.each_pair do |key, type|
192
+ if type =~ /\AArray<(.*)>/i
193
+ # check to ensure the input is an array given that the attribute
194
+ # is documented as an array but the input is not
195
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
196
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
197
+ end
198
+ elsif !attributes[self.class.attribute_map[key]].nil?
199
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
200
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
201
+ end
202
+
203
+ self
204
+ end
205
+
206
+ # Deserializes the data based on type
207
+ # @param string type Data type
208
+ # @param string value Value to be deserialized
209
+ # @return [Object] Deserialized data
210
+ def _deserialize(type, value)
211
+ case type.to_sym
212
+ when :DateTime
213
+ DateTime.parse(value)
214
+ when :Date
215
+ Date.parse(value)
216
+ when :String
217
+ value.to_s
218
+ when :Integer
219
+ value.to_i
220
+ when :Float
221
+ value.to_f
222
+ when :BOOLEAN
223
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
224
+ true
225
+ else
226
+ false
227
+ end
228
+ when :Object
229
+ # generic object (usually a Hash), return directly
230
+ value
231
+ when /\AArray<(?<inner_type>.+)>\z/
232
+ inner_type = Regexp.last_match[:inner_type]
233
+ value.map { |v| _deserialize(inner_type, v) }
234
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
235
+ k_type = Regexp.last_match[:k_type]
236
+ v_type = Regexp.last_match[:v_type]
237
+ {}.tap do |hash|
238
+ value.each do |k, v|
239
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
240
+ end
241
+ end
242
+ else # model
243
+ temp_model = PostFinanceCheckout.const_get(type).new
244
+ temp_model.build_from_hash(value)
245
+ end
246
+ end
247
+
248
+ # Returns the string representation of the object
249
+ # @return [String] String presentation of the object
250
+ def to_s
251
+ to_hash.to_s
252
+ end
253
+
254
+ # to_body is an alias to to_hash (backward compatibility)
255
+ # @return [Hash] Returns the object in the form of hash
256
+ def to_body
257
+ to_hash
258
+ end
259
+
260
+ # Returns the object in the form of hash
261
+ # @return [Hash] Returns the object in the form of hash
262
+ def to_hash
263
+ hash = {}
264
+ self.class.attribute_map.each_pair do |attr, param|
265
+ value = self.send(attr)
266
+ next if value.nil?
267
+ hash[param] = _to_hash(value)
268
+ end
269
+ hash
270
+ end
271
+
272
+ # Outputs non-array value in the form of hash
273
+ # For object, use to_hash. Otherwise, just return the value
274
+ # @param [Object] value Any valid value
275
+ # @return [Hash] Returns the value in the form of hash
276
+ def _to_hash(value)
277
+ if value.is_a?(Array)
278
+ value.compact.map{ |v| _to_hash(v) }
279
+ elsif value.is_a?(Hash)
280
+ {}.tap do |hash|
281
+ value.each { |k, v| hash[k] = _to_hash(v) }
282
+ end
283
+ elsif value.respond_to? :to_hash
284
+ value.to_hash
285
+ else
286
+ value
287
+ end
288
+ end
289
+
290
+ end
291
+ end
@@ -0,0 +1,38 @@
1
+ =begin
2
+ The PostFinance Checkout API allows an easy interaction with the PostFinance Checkout web service.
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+
16
+ =end
17
+
18
+ require 'date'
19
+
20
+ module PostFinanceCheckout
21
+ class TransactionCompletionState
22
+
23
+ CREATE = 'CREATE'.freeze
24
+ SCHEDULED = 'SCHEDULED'.freeze
25
+ PENDING = 'PENDING'.freeze
26
+ FAILED = 'FAILED'.freeze
27
+ SUCCESSFUL = 'SUCCESSFUL'.freeze
28
+
29
+ # Builds the enum from string
30
+ # @param [String] The enum value in the form of the string
31
+ # @return [String] The enum value
32
+ def build_from_hash(value)
33
+ constantValues = TransactionCompletionState.constants.select { |c| TransactionCompletionState::const_get(c) == value }
34
+ raise "Invalid ENUM value #{value} for class #TransactionCompletionState" if constantValues.empty?
35
+ value
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,596 @@
1
+ =begin
2
+ The PostFinance Checkout API allows an easy interaction with the PostFinance Checkout web service.
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+
16
+ =end
17
+
18
+ require 'date'
19
+
20
+ module PostFinanceCheckout
21
+ #
22
+ class TransactionCreate
23
+ #
24
+ attr_accessor :allowed_payment_method_brands
25
+
26
+ #
27
+ attr_accessor :allowed_payment_method_configurations
28
+
29
+ #
30
+ attr_accessor :billing_address
31
+
32
+ # The completion behavior controls when the transaction is completed.
33
+ attr_accessor :completion_behavior
34
+
35
+ #
36
+ attr_accessor :currency
37
+
38
+ # The customer email address is the email address of the customer. If no email address is provided on the shipping or billing address this address is used.
39
+ attr_accessor :customer_email_address
40
+
41
+ #
42
+ attr_accessor :customer_id
43
+
44
+ # The user will be redirected to failed URL when the transaction could not be authorized or completed. In case no failed URL is specified a default failed page will be displayed.
45
+ attr_accessor :failed_url
46
+
47
+ #
48
+ attr_accessor :invoice_merchant_reference
49
+
50
+ #
51
+ attr_accessor :language
52
+
53
+ #
54
+ attr_accessor :line_items
55
+
56
+ #
57
+ attr_accessor :merchant_reference
58
+
59
+ # Meta data allow to store additional data along the object.
60
+ attr_accessor :meta_data
61
+
62
+ #
63
+ attr_accessor :shipping_address
64
+
65
+ #
66
+ attr_accessor :shipping_method
67
+
68
+ # The user will be redirected to success URL when the transaction could be authorized or completed. In case no success URL is specified a default success page will be displayed.
69
+ attr_accessor :success_url
70
+
71
+ # The time zone defines in which time zone the customer is located in. The time zone may affects how dates are formatted when interacting with the customer.
72
+ attr_accessor :time_zone
73
+
74
+ #
75
+ attr_accessor :token
76
+
77
+ # The tokenization mode controls if and how the tokenization of payment information is applied to the transaction.
78
+ attr_accessor :tokenization_mode
79
+
80
+ # When auto confirmation is enabled the transaction can be confirmed by the user and does not require an explicit confirmation through the web service API.
81
+ attr_accessor :auto_confirmation_enabled
82
+
83
+ # When the charging of the customer fails we can retry the charging. This implies that we redirect the user back to the payment page which allows the customer to retry. By default we will retry.
84
+ attr_accessor :charge_retry_enabled
85
+
86
+ # The customer's presence indicates what kind of authentication methods can be used during the authorization of the transaction. If no value is provided, 'Virtually Present' is used by default.
87
+ attr_accessor :customers_presence
88
+
89
+ # The device session identifier links the transaction with the session identifier provided in the URL of the device data JavaScript. This allows to link the transaction with the collected device data of the buyer.
90
+ attr_accessor :device_session_identifier
91
+
92
+ # Flag indicating whether email sending is disabled for this particular transaction. Defaults to false.
93
+ attr_accessor :emails_disabled
94
+
95
+ #
96
+ attr_accessor :environment
97
+
98
+ # The environment selection strategy determines how the environment (test or production) for processing the transaction is selected.
99
+ attr_accessor :environment_selection_strategy
100
+
101
+ #
102
+ attr_accessor :space_view_id
103
+
104
+ # Attribute mapping from ruby-style variable name to JSON key.
105
+ def self.attribute_map
106
+ {
107
+ :'allowed_payment_method_brands' => :'allowedPaymentMethodBrands',
108
+ :'allowed_payment_method_configurations' => :'allowedPaymentMethodConfigurations',
109
+ :'billing_address' => :'billingAddress',
110
+ :'completion_behavior' => :'completionBehavior',
111
+ :'currency' => :'currency',
112
+ :'customer_email_address' => :'customerEmailAddress',
113
+ :'customer_id' => :'customerId',
114
+ :'failed_url' => :'failedUrl',
115
+ :'invoice_merchant_reference' => :'invoiceMerchantReference',
116
+ :'language' => :'language',
117
+ :'line_items' => :'lineItems',
118
+ :'merchant_reference' => :'merchantReference',
119
+ :'meta_data' => :'metaData',
120
+ :'shipping_address' => :'shippingAddress',
121
+ :'shipping_method' => :'shippingMethod',
122
+ :'success_url' => :'successUrl',
123
+ :'time_zone' => :'timeZone',
124
+ :'token' => :'token',
125
+ :'tokenization_mode' => :'tokenizationMode',
126
+ :'auto_confirmation_enabled' => :'autoConfirmationEnabled',
127
+ :'charge_retry_enabled' => :'chargeRetryEnabled',
128
+ :'customers_presence' => :'customersPresence',
129
+ :'device_session_identifier' => :'deviceSessionIdentifier',
130
+ :'emails_disabled' => :'emailsDisabled',
131
+ :'environment' => :'environment',
132
+ :'environment_selection_strategy' => :'environmentSelectionStrategy',
133
+ :'space_view_id' => :'spaceViewId'
134
+ }
135
+ end
136
+
137
+ # Attribute type mapping.
138
+ def self.swagger_types
139
+ {
140
+ :'allowed_payment_method_brands' => :'Array<PaymentMethodBrand>',
141
+ :'allowed_payment_method_configurations' => :'Array<Integer>',
142
+ :'billing_address' => :'AddressCreate',
143
+ :'completion_behavior' => :'TransactionCompletionBehavior',
144
+ :'currency' => :'String',
145
+ :'customer_email_address' => :'String',
146
+ :'customer_id' => :'String',
147
+ :'failed_url' => :'String',
148
+ :'invoice_merchant_reference' => :'String',
149
+ :'language' => :'String',
150
+ :'line_items' => :'Array<LineItemCreate>',
151
+ :'merchant_reference' => :'String',
152
+ :'meta_data' => :'Hash<String, String>',
153
+ :'shipping_address' => :'AddressCreate',
154
+ :'shipping_method' => :'String',
155
+ :'success_url' => :'String',
156
+ :'time_zone' => :'String',
157
+ :'token' => :'Integer',
158
+ :'tokenization_mode' => :'TokenizationMode',
159
+ :'auto_confirmation_enabled' => :'BOOLEAN',
160
+ :'charge_retry_enabled' => :'BOOLEAN',
161
+ :'customers_presence' => :'CustomersPresence',
162
+ :'device_session_identifier' => :'String',
163
+ :'emails_disabled' => :'BOOLEAN',
164
+ :'environment' => :'Environment',
165
+ :'environment_selection_strategy' => :'TransactionEnvironmentSelectionStrategy',
166
+ :'space_view_id' => :'Integer'
167
+ }
168
+ end
169
+
170
+ # Initializes the object
171
+ # @param [Hash] attributes Model attributes in the form of hash
172
+ def initialize(attributes = {})
173
+ return unless attributes.is_a?(Hash)
174
+
175
+ # convert string to symbol for hash key
176
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
177
+
178
+ if attributes.has_key?(:'allowedPaymentMethodBrands')
179
+ if (value = attributes[:'allowedPaymentMethodBrands']).is_a?(Array)
180
+ self.allowed_payment_method_brands = value
181
+ end
182
+ end
183
+
184
+ if attributes.has_key?(:'allowedPaymentMethodConfigurations')
185
+ if (value = attributes[:'allowedPaymentMethodConfigurations']).is_a?(Array)
186
+ self.allowed_payment_method_configurations = value
187
+ end
188
+ end
189
+
190
+ if attributes.has_key?(:'billingAddress')
191
+ self.billing_address = attributes[:'billingAddress']
192
+ end
193
+
194
+ if attributes.has_key?(:'completionBehavior')
195
+ self.completion_behavior = attributes[:'completionBehavior']
196
+ end
197
+
198
+ if attributes.has_key?(:'currency')
199
+ self.currency = attributes[:'currency']
200
+ end
201
+
202
+ if attributes.has_key?(:'customerEmailAddress')
203
+ self.customer_email_address = attributes[:'customerEmailAddress']
204
+ end
205
+
206
+ if attributes.has_key?(:'customerId')
207
+ self.customer_id = attributes[:'customerId']
208
+ end
209
+
210
+ if attributes.has_key?(:'failedUrl')
211
+ self.failed_url = attributes[:'failedUrl']
212
+ end
213
+
214
+ if attributes.has_key?(:'invoiceMerchantReference')
215
+ self.invoice_merchant_reference = attributes[:'invoiceMerchantReference']
216
+ end
217
+
218
+ if attributes.has_key?(:'language')
219
+ self.language = attributes[:'language']
220
+ end
221
+
222
+ if attributes.has_key?(:'lineItems')
223
+ if (value = attributes[:'lineItems']).is_a?(Array)
224
+ self.line_items = value
225
+ end
226
+ end
227
+
228
+ if attributes.has_key?(:'merchantReference')
229
+ self.merchant_reference = attributes[:'merchantReference']
230
+ end
231
+
232
+ if attributes.has_key?(:'metaData')
233
+ if (value = attributes[:'metaData']).is_a?(Hash)
234
+ self.meta_data = value
235
+ end
236
+ end
237
+
238
+ if attributes.has_key?(:'shippingAddress')
239
+ self.shipping_address = attributes[:'shippingAddress']
240
+ end
241
+
242
+ if attributes.has_key?(:'shippingMethod')
243
+ self.shipping_method = attributes[:'shippingMethod']
244
+ end
245
+
246
+ if attributes.has_key?(:'successUrl')
247
+ self.success_url = attributes[:'successUrl']
248
+ end
249
+
250
+ if attributes.has_key?(:'timeZone')
251
+ self.time_zone = attributes[:'timeZone']
252
+ end
253
+
254
+ if attributes.has_key?(:'token')
255
+ self.token = attributes[:'token']
256
+ end
257
+
258
+ if attributes.has_key?(:'tokenizationMode')
259
+ self.tokenization_mode = attributes[:'tokenizationMode']
260
+ end
261
+
262
+ if attributes.has_key?(:'autoConfirmationEnabled')
263
+ self.auto_confirmation_enabled = attributes[:'autoConfirmationEnabled']
264
+ end
265
+
266
+ if attributes.has_key?(:'chargeRetryEnabled')
267
+ self.charge_retry_enabled = attributes[:'chargeRetryEnabled']
268
+ end
269
+
270
+ if attributes.has_key?(:'customersPresence')
271
+ self.customers_presence = attributes[:'customersPresence']
272
+ end
273
+
274
+ if attributes.has_key?(:'deviceSessionIdentifier')
275
+ self.device_session_identifier = attributes[:'deviceSessionIdentifier']
276
+ end
277
+
278
+ if attributes.has_key?(:'emailsDisabled')
279
+ self.emails_disabled = attributes[:'emailsDisabled']
280
+ end
281
+
282
+ if attributes.has_key?(:'environment')
283
+ self.environment = attributes[:'environment']
284
+ end
285
+
286
+ if attributes.has_key?(:'environmentSelectionStrategy')
287
+ self.environment_selection_strategy = attributes[:'environmentSelectionStrategy']
288
+ end
289
+
290
+ if attributes.has_key?(:'spaceViewId')
291
+ self.space_view_id = attributes[:'spaceViewId']
292
+ end
293
+ end
294
+
295
+ # Show invalid properties with the reasons. Usually used together with valid?
296
+ # @return Array for valid properties with the reasons
297
+ def list_invalid_properties
298
+ invalid_properties = Array.new
299
+ if !@customer_email_address.nil? && @customer_email_address.to_s.length > 254
300
+ invalid_properties.push('invalid value for "customer_email_address", the character length must be smaller than or equal to 254.')
301
+ end
302
+
303
+ if !@failed_url.nil? && @failed_url.to_s.length > 1000
304
+ invalid_properties.push('invalid value for "failed_url", the character length must be smaller than or equal to 1000.')
305
+ end
306
+
307
+ if !@failed_url.nil? && @failed_url.to_s.length < 9
308
+ invalid_properties.push('invalid value for "failed_url", the character length must be great than or equal to 9.')
309
+ end
310
+
311
+ if !@invoice_merchant_reference.nil? && @invoice_merchant_reference.to_s.length > 100
312
+ invalid_properties.push('invalid value for "invoice_merchant_reference", the character length must be smaller than or equal to 100.')
313
+ end
314
+
315
+ if @line_items.nil?
316
+ invalid_properties.push('invalid value for "line_items", line_items cannot be nil.')
317
+ end
318
+
319
+ if !@merchant_reference.nil? && @merchant_reference.to_s.length > 100
320
+ invalid_properties.push('invalid value for "merchant_reference", the character length must be smaller than or equal to 100.')
321
+ end
322
+
323
+ if !@shipping_method.nil? && @shipping_method.to_s.length > 200
324
+ invalid_properties.push('invalid value for "shipping_method", the character length must be smaller than or equal to 200.')
325
+ end
326
+
327
+ if !@success_url.nil? && @success_url.to_s.length > 1000
328
+ invalid_properties.push('invalid value for "success_url", the character length must be smaller than or equal to 1000.')
329
+ end
330
+
331
+ if !@success_url.nil? && @success_url.to_s.length < 9
332
+ invalid_properties.push('invalid value for "success_url", the character length must be great than or equal to 9.')
333
+ end
334
+
335
+ if !@device_session_identifier.nil? && @device_session_identifier.to_s.length > 40
336
+ invalid_properties.push('invalid value for "device_session_identifier", the character length must be smaller than or equal to 40.')
337
+ end
338
+
339
+ if !@device_session_identifier.nil? && @device_session_identifier.to_s.length < 10
340
+ invalid_properties.push('invalid value for "device_session_identifier", the character length must be great than or equal to 10.')
341
+ end
342
+
343
+ invalid_properties
344
+ end
345
+
346
+ # Check to see if the all the properties in the model are valid
347
+ # @return true if the model is valid
348
+ def valid?
349
+ return false if !@customer_email_address.nil? && @customer_email_address.to_s.length > 254
350
+ return false if !@failed_url.nil? && @failed_url.to_s.length > 1000
351
+ return false if !@failed_url.nil? && @failed_url.to_s.length < 9
352
+ return false if !@invoice_merchant_reference.nil? && @invoice_merchant_reference.to_s.length > 100
353
+ return false if @line_items.nil?
354
+ return false if !@merchant_reference.nil? && @merchant_reference.to_s.length > 100
355
+ return false if !@shipping_method.nil? && @shipping_method.to_s.length > 200
356
+ return false if !@success_url.nil? && @success_url.to_s.length > 1000
357
+ return false if !@success_url.nil? && @success_url.to_s.length < 9
358
+ return false if !@device_session_identifier.nil? && @device_session_identifier.to_s.length > 40
359
+ return false if !@device_session_identifier.nil? && @device_session_identifier.to_s.length < 10
360
+ true
361
+ end
362
+
363
+ # Custom attribute writer method with validation
364
+ # @param [Object] customer_email_address Value to be assigned
365
+ def customer_email_address=(customer_email_address)
366
+ if !customer_email_address.nil? && customer_email_address.to_s.length > 254
367
+ fail ArgumentError, 'invalid value for "customer_email_address", the character length must be smaller than or equal to 254.'
368
+ end
369
+
370
+ @customer_email_address = customer_email_address
371
+ end
372
+
373
+ # Custom attribute writer method with validation
374
+ # @param [Object] failed_url Value to be assigned
375
+ def failed_url=(failed_url)
376
+ if !failed_url.nil? && failed_url.to_s.length > 1000
377
+ fail ArgumentError, 'invalid value for "failed_url", the character length must be smaller than or equal to 1000.'
378
+ end
379
+
380
+ if !failed_url.nil? && failed_url.to_s.length < 9
381
+ fail ArgumentError, 'invalid value for "failed_url", the character length must be great than or equal to 9.'
382
+ end
383
+
384
+ @failed_url = failed_url
385
+ end
386
+
387
+ # Custom attribute writer method with validation
388
+ # @param [Object] invoice_merchant_reference Value to be assigned
389
+ def invoice_merchant_reference=(invoice_merchant_reference)
390
+ if !invoice_merchant_reference.nil? && invoice_merchant_reference.to_s.length > 100
391
+ fail ArgumentError, 'invalid value for "invoice_merchant_reference", the character length must be smaller than or equal to 100.'
392
+ end
393
+
394
+ @invoice_merchant_reference = invoice_merchant_reference
395
+ end
396
+
397
+ # Custom attribute writer method with validation
398
+ # @param [Object] merchant_reference Value to be assigned
399
+ def merchant_reference=(merchant_reference)
400
+ if !merchant_reference.nil? && merchant_reference.to_s.length > 100
401
+ fail ArgumentError, 'invalid value for "merchant_reference", the character length must be smaller than or equal to 100.'
402
+ end
403
+
404
+ @merchant_reference = merchant_reference
405
+ end
406
+
407
+ # Custom attribute writer method with validation
408
+ # @param [Object] shipping_method Value to be assigned
409
+ def shipping_method=(shipping_method)
410
+ if !shipping_method.nil? && shipping_method.to_s.length > 200
411
+ fail ArgumentError, 'invalid value for "shipping_method", the character length must be smaller than or equal to 200.'
412
+ end
413
+
414
+ @shipping_method = shipping_method
415
+ end
416
+
417
+ # Custom attribute writer method with validation
418
+ # @param [Object] success_url Value to be assigned
419
+ def success_url=(success_url)
420
+ if !success_url.nil? && success_url.to_s.length > 1000
421
+ fail ArgumentError, 'invalid value for "success_url", the character length must be smaller than or equal to 1000.'
422
+ end
423
+
424
+ if !success_url.nil? && success_url.to_s.length < 9
425
+ fail ArgumentError, 'invalid value for "success_url", the character length must be great than or equal to 9.'
426
+ end
427
+
428
+ @success_url = success_url
429
+ end
430
+
431
+ # Custom attribute writer method with validation
432
+ # @param [Object] device_session_identifier Value to be assigned
433
+ def device_session_identifier=(device_session_identifier)
434
+ if !device_session_identifier.nil? && device_session_identifier.to_s.length > 40
435
+ fail ArgumentError, 'invalid value for "device_session_identifier", the character length must be smaller than or equal to 40.'
436
+ end
437
+
438
+ if !device_session_identifier.nil? && device_session_identifier.to_s.length < 10
439
+ fail ArgumentError, 'invalid value for "device_session_identifier", the character length must be great than or equal to 10.'
440
+ end
441
+
442
+ @device_session_identifier = device_session_identifier
443
+ end
444
+
445
+ # Checks equality by comparing each attribute.
446
+ # @param [Object] Object to be compared
447
+ def ==(o)
448
+ return true if self.equal?(o)
449
+ self.class == o.class &&
450
+ allowed_payment_method_brands == o.allowed_payment_method_brands &&
451
+ allowed_payment_method_configurations == o.allowed_payment_method_configurations &&
452
+ billing_address == o.billing_address &&
453
+ completion_behavior == o.completion_behavior &&
454
+ currency == o.currency &&
455
+ customer_email_address == o.customer_email_address &&
456
+ customer_id == o.customer_id &&
457
+ failed_url == o.failed_url &&
458
+ invoice_merchant_reference == o.invoice_merchant_reference &&
459
+ language == o.language &&
460
+ line_items == o.line_items &&
461
+ merchant_reference == o.merchant_reference &&
462
+ meta_data == o.meta_data &&
463
+ shipping_address == o.shipping_address &&
464
+ shipping_method == o.shipping_method &&
465
+ success_url == o.success_url &&
466
+ time_zone == o.time_zone &&
467
+ token == o.token &&
468
+ tokenization_mode == o.tokenization_mode &&
469
+ auto_confirmation_enabled == o.auto_confirmation_enabled &&
470
+ charge_retry_enabled == o.charge_retry_enabled &&
471
+ customers_presence == o.customers_presence &&
472
+ device_session_identifier == o.device_session_identifier &&
473
+ emails_disabled == o.emails_disabled &&
474
+ environment == o.environment &&
475
+ environment_selection_strategy == o.environment_selection_strategy &&
476
+ space_view_id == o.space_view_id
477
+ end
478
+
479
+ # @see the `==` method
480
+ # @param [Object] Object to be compared
481
+ def eql?(o)
482
+ self == o
483
+ end
484
+
485
+ # Calculates hash code according to all attributes.
486
+ # @return [Fixnum] Hash code
487
+ def hash
488
+ [allowed_payment_method_brands, allowed_payment_method_configurations, billing_address, completion_behavior, currency, customer_email_address, customer_id, failed_url, invoice_merchant_reference, language, line_items, merchant_reference, meta_data, shipping_address, shipping_method, success_url, time_zone, token, tokenization_mode, auto_confirmation_enabled, charge_retry_enabled, customers_presence, device_session_identifier, emails_disabled, environment, environment_selection_strategy, space_view_id].hash
489
+ end
490
+
491
+ # Builds the object from hash
492
+ # @param [Hash] attributes Model attributes in the form of hash
493
+ # @return [Object] Returns the model itself
494
+ def build_from_hash(attributes)
495
+ return nil unless attributes.is_a?(Hash)
496
+ self.class.swagger_types.each_pair do |key, type|
497
+ if type =~ /\AArray<(.*)>/i
498
+ # check to ensure the input is an array given that the attribute
499
+ # is documented as an array but the input is not
500
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
501
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
502
+ end
503
+ elsif !attributes[self.class.attribute_map[key]].nil?
504
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
505
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
506
+ end
507
+
508
+ self
509
+ end
510
+
511
+ # Deserializes the data based on type
512
+ # @param string type Data type
513
+ # @param string value Value to be deserialized
514
+ # @return [Object] Deserialized data
515
+ def _deserialize(type, value)
516
+ case type.to_sym
517
+ when :DateTime
518
+ DateTime.parse(value)
519
+ when :Date
520
+ Date.parse(value)
521
+ when :String
522
+ value.to_s
523
+ when :Integer
524
+ value.to_i
525
+ when :Float
526
+ value.to_f
527
+ when :BOOLEAN
528
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
529
+ true
530
+ else
531
+ false
532
+ end
533
+ when :Object
534
+ # generic object (usually a Hash), return directly
535
+ value
536
+ when /\AArray<(?<inner_type>.+)>\z/
537
+ inner_type = Regexp.last_match[:inner_type]
538
+ value.map { |v| _deserialize(inner_type, v) }
539
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
540
+ k_type = Regexp.last_match[:k_type]
541
+ v_type = Regexp.last_match[:v_type]
542
+ {}.tap do |hash|
543
+ value.each do |k, v|
544
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
545
+ end
546
+ end
547
+ else # model
548
+ temp_model = PostFinanceCheckout.const_get(type).new
549
+ temp_model.build_from_hash(value)
550
+ end
551
+ end
552
+
553
+ # Returns the string representation of the object
554
+ # @return [String] String presentation of the object
555
+ def to_s
556
+ to_hash.to_s
557
+ end
558
+
559
+ # to_body is an alias to to_hash (backward compatibility)
560
+ # @return [Hash] Returns the object in the form of hash
561
+ def to_body
562
+ to_hash
563
+ end
564
+
565
+ # Returns the object in the form of hash
566
+ # @return [Hash] Returns the object in the form of hash
567
+ def to_hash
568
+ hash = {}
569
+ self.class.attribute_map.each_pair do |attr, param|
570
+ value = self.send(attr)
571
+ next if value.nil?
572
+ hash[param] = _to_hash(value)
573
+ end
574
+ hash
575
+ end
576
+
577
+ # Outputs non-array value in the form of hash
578
+ # For object, use to_hash. Otherwise, just return the value
579
+ # @param [Object] value Any valid value
580
+ # @return [Hash] Returns the value in the form of hash
581
+ def _to_hash(value)
582
+ if value.is_a?(Array)
583
+ value.compact.map{ |v| _to_hash(v) }
584
+ elsif value.is_a?(Hash)
585
+ {}.tap do |hash|
586
+ value.each { |k, v| hash[k] = _to_hash(v) }
587
+ end
588
+ elsif value.respond_to? :to_hash
589
+ value.to_hash
590
+ else
591
+ value
592
+ end
593
+ end
594
+
595
+ end
596
+ end