payjpv2 1.0.2

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 (430) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yml +33 -0
  3. data/.github/workflows/release.yml +46 -0
  4. data/.gitignore +39 -0
  5. data/.rspec +2 -0
  6. data/.rubocop.yml +111 -0
  7. data/Gemfile +9 -0
  8. data/Gemfile.lock +94 -0
  9. data/README.md +399 -0
  10. data/Rakefile +10 -0
  11. data/docs/ApplePayConfigRequest.md +18 -0
  12. data/docs/BalanceListResponse.md +24 -0
  13. data/docs/BalanceResponse.md +40 -0
  14. data/docs/BalanceState.md +15 -0
  15. data/docs/BalanceURLResponse.md +22 -0
  16. data/docs/BalancesApi.md +235 -0
  17. data/docs/BankInfoResponse.md +28 -0
  18. data/docs/CaptureMethod.md +15 -0
  19. data/docs/CardConfigRequest.md +18 -0
  20. data/docs/CheckoutSessionCreateRequest.md +52 -0
  21. data/docs/CheckoutSessionCustomerDetailsAddressResponse.md +28 -0
  22. data/docs/CheckoutSessionCustomerDetailsResponse.md +24 -0
  23. data/docs/CheckoutSessionDetailsResponse.md +66 -0
  24. data/docs/CheckoutSessionLineItemDataResponse.md +34 -0
  25. data/docs/CheckoutSessionLineItemListResponse.md +24 -0
  26. data/docs/CheckoutSessionListResponse.md +24 -0
  27. data/docs/CheckoutSessionMode.md +15 -0
  28. data/docs/CheckoutSessionPaymentMethodOptionsCardRequest.md +20 -0
  29. data/docs/CheckoutSessionPaymentMethodOptionsRequest.md +18 -0
  30. data/docs/CheckoutSessionStatus.md +15 -0
  31. data/docs/CheckoutSessionSubmitType.md +15 -0
  32. data/docs/CheckoutSessionUIMode.md +15 -0
  33. data/docs/CheckoutSessionUpdateRequest.md +18 -0
  34. data/docs/CheckoutSessionsApi.md +373 -0
  35. data/docs/Country.md +15 -0
  36. data/docs/Currency.md +15 -0
  37. data/docs/CustomerCreateRequest.md +26 -0
  38. data/docs/CustomerCreation.md +15 -0
  39. data/docs/CustomerListResponse.md +24 -0
  40. data/docs/CustomerResponse.md +34 -0
  41. data/docs/CustomerUpdateRequest.md +24 -0
  42. data/docs/CustomersApi.md +443 -0
  43. data/docs/DisplayPreferenceRequest.md +18 -0
  44. data/docs/ErrorResponse.md +28 -0
  45. data/docs/EventListResponse.md +24 -0
  46. data/docs/EventResponse.md +32 -0
  47. data/docs/EventsApi.md +159 -0
  48. data/docs/LineItemRequest.md +22 -0
  49. data/docs/Locale.md +15 -0
  50. data/docs/MetadataValue.md +15 -0
  51. data/docs/PayPayConfigRequest.md +18 -0
  52. data/docs/PaymentDisputeListResponse.md +24 -0
  53. data/docs/PaymentDisputeReason.md +15 -0
  54. data/docs/PaymentDisputeResponse.md +42 -0
  55. data/docs/PaymentDisputeStatus.md +15 -0
  56. data/docs/PaymentDisputesApi.md +157 -0
  57. data/docs/PaymentFlowCancelRequest.md +18 -0
  58. data/docs/PaymentFlowCancellationReason.md +15 -0
  59. data/docs/PaymentFlowCaptureRequest.md +18 -0
  60. data/docs/PaymentFlowConfirmRequest.md +28 -0
  61. data/docs/PaymentFlowCreateRequest.md +38 -0
  62. data/docs/PaymentFlowDataRequest.md +22 -0
  63. data/docs/PaymentFlowListResponse.md +24 -0
  64. data/docs/PaymentFlowPaymentMethodOptionsCardRequest.md +20 -0
  65. data/docs/PaymentFlowPaymentMethodOptionsRequest.md +18 -0
  66. data/docs/PaymentFlowResponse.md +62 -0
  67. data/docs/PaymentFlowStatus.md +15 -0
  68. data/docs/PaymentFlowUpdateRequest.md +32 -0
  69. data/docs/PaymentFlowsApi.md +599 -0
  70. data/docs/PaymentMethodApplePayCreateRequest.md +26 -0
  71. data/docs/PaymentMethodApplePayUpdateRequest.md +22 -0
  72. data/docs/PaymentMethodAttachRequest.md +18 -0
  73. data/docs/PaymentMethodBillingAddressRequest.md +28 -0
  74. data/docs/PaymentMethodBillingAddressResponse.md +28 -0
  75. data/docs/PaymentMethodBillingDetailsRequest.md +24 -0
  76. data/docs/PaymentMethodBillingDetailsResponse.md +24 -0
  77. data/docs/PaymentMethodCardBillingDetailsRequest.md +24 -0
  78. data/docs/PaymentMethodCardCreateRequest.md +26 -0
  79. data/docs/PaymentMethodCardDetailsResponse.md +28 -0
  80. data/docs/PaymentMethodCardResponse.md +38 -0
  81. data/docs/PaymentMethodCardUpdateRequest.md +22 -0
  82. data/docs/PaymentMethodConfigurationDetailsResponse.md +32 -0
  83. data/docs/PaymentMethodConfigurationDisplayPreference.md +20 -0
  84. data/docs/PaymentMethodConfigurationListResponse.md +24 -0
  85. data/docs/PaymentMethodConfigurationSettingResponse.md +20 -0
  86. data/docs/PaymentMethodConfigurationUpdateRequest.md +26 -0
  87. data/docs/PaymentMethodConfigurationsApi.md +225 -0
  88. data/docs/PaymentMethodCreateCardDetailsRequest.md +24 -0
  89. data/docs/PaymentMethodCreateRequest.md +82 -0
  90. data/docs/PaymentMethodListResponse.md +24 -0
  91. data/docs/PaymentMethodPayPayCreateRequest.md +24 -0
  92. data/docs/PaymentMethodPayPayResponse.md +36 -0
  93. data/docs/PaymentMethodPayPayUpdateRequest.md +22 -0
  94. data/docs/PaymentMethodResponse.md +38 -0
  95. data/docs/PaymentMethodTypes.md +15 -0
  96. data/docs/PaymentMethodUpdateRequest.md +82 -0
  97. data/docs/PaymentMethodsApi.md +507 -0
  98. data/docs/PaymentRefundCreateRequest.md +24 -0
  99. data/docs/PaymentRefundListResponse.md +24 -0
  100. data/docs/PaymentRefundReason.md +15 -0
  101. data/docs/PaymentRefundResponse.md +36 -0
  102. data/docs/PaymentRefundStatus.md +15 -0
  103. data/docs/PaymentRefundUpdateRequest.md +18 -0
  104. data/docs/PaymentRefundsApi.md +295 -0
  105. data/docs/PaymentTransactionListResponse.md +24 -0
  106. data/docs/PaymentTransactionResponse.md +42 -0
  107. data/docs/PaymentTransactionType.md +15 -0
  108. data/docs/PaymentTransactionsApi.md +159 -0
  109. data/docs/PriceCreateRequest.md +32 -0
  110. data/docs/PriceDetailsResponse.md +42 -0
  111. data/docs/PriceListResponse.md +24 -0
  112. data/docs/PriceType.md +15 -0
  113. data/docs/PriceUpdateRequest.md +24 -0
  114. data/docs/PricesApi.md +297 -0
  115. data/docs/ProductCreateRequest.md +28 -0
  116. data/docs/ProductDeletedResponse.md +22 -0
  117. data/docs/ProductDetailsResponse.md +32 -0
  118. data/docs/ProductListResponse.md +24 -0
  119. data/docs/ProductUpdateRequest.md +28 -0
  120. data/docs/ProductsApi.md +365 -0
  121. data/docs/SetupFlowCancelRequest.md +18 -0
  122. data/docs/SetupFlowCancellationReason.md +15 -0
  123. data/docs/SetupFlowCreateRequest.md +28 -0
  124. data/docs/SetupFlowDataRequest.md +20 -0
  125. data/docs/SetupFlowListResponse.md +24 -0
  126. data/docs/SetupFlowPaymentMethodOptionsCardRequest.md +18 -0
  127. data/docs/SetupFlowPaymentMethodOptionsRequest.md +18 -0
  128. data/docs/SetupFlowResponse.md +50 -0
  129. data/docs/SetupFlowStatus.md +15 -0
  130. data/docs/SetupFlowUpdateRequest.md +26 -0
  131. data/docs/SetupFlowsApi.md +371 -0
  132. data/docs/StatementItemResponse.md +24 -0
  133. data/docs/StatementListResponse.md +24 -0
  134. data/docs/StatementResponse.md +38 -0
  135. data/docs/StatementSubject.md +15 -0
  136. data/docs/StatementType.md +15 -0
  137. data/docs/StatementURLResponse.md +22 -0
  138. data/docs/StatementsApi.md +231 -0
  139. data/docs/TaxRateCreateRequest.md +30 -0
  140. data/docs/TaxRateDetailsResponse.md +34 -0
  141. data/docs/TaxRateListResponse.md +24 -0
  142. data/docs/TaxRateUpdateRequest.md +26 -0
  143. data/docs/TaxRatesApi.md +295 -0
  144. data/docs/TermListResponse.md +24 -0
  145. data/docs/TermResponse.md +28 -0
  146. data/docs/TermsApi.md +157 -0
  147. data/docs/Usage.md +15 -0
  148. data/example.rb +157 -0
  149. data/lib/payjpv2/api/balances_api.rb +223 -0
  150. data/lib/payjpv2/api/checkout_sessions_api.rb +360 -0
  151. data/lib/payjpv2/api/customers_api.rb +420 -0
  152. data/lib/payjpv2/api/events_api.rb +157 -0
  153. data/lib/payjpv2/api/payment_disputes_api.rb +155 -0
  154. data/lib/payjpv2/api/payment_flows_api.rb +561 -0
  155. data/lib/payjpv2/api/payment_method_configurations_api.rb +221 -0
  156. data/lib/payjpv2/api/payment_methods_api.rb +476 -0
  157. data/lib/payjpv2/api/payment_refunds_api.rb +286 -0
  158. data/lib/payjpv2/api/payment_transactions_api.rb +157 -0
  159. data/lib/payjpv2/api/prices_api.rb +288 -0
  160. data/lib/payjpv2/api/products_api.rb +346 -0
  161. data/lib/payjpv2/api/setup_flows_api.rb +348 -0
  162. data/lib/payjpv2/api/statements_api.rb +219 -0
  163. data/lib/payjpv2/api/tax_rates_api.rb +286 -0
  164. data/lib/payjpv2/api/terms_api.rb +155 -0
  165. data/lib/payjpv2/api_client.rb +410 -0
  166. data/lib/payjpv2/api_error.rb +58 -0
  167. data/lib/payjpv2/configuration.rb +315 -0
  168. data/lib/payjpv2/models/apple_pay_config_request.rb +206 -0
  169. data/lib/payjpv2/models/balance_list_response.rb +306 -0
  170. data/lib/payjpv2/models/balance_response.rb +453 -0
  171. data/lib/payjpv2/models/balance_state.rb +41 -0
  172. data/lib/payjpv2/models/balance_url_response.rb +283 -0
  173. data/lib/payjpv2/models/bank_info_response.rb +328 -0
  174. data/lib/payjpv2/models/capture_method.rb +40 -0
  175. data/lib/payjpv2/models/card_config_request.rb +206 -0
  176. data/lib/payjpv2/models/checkout_session_create_request.rb +430 -0
  177. data/lib/payjpv2/models/checkout_session_customer_details_address_response.rb +269 -0
  178. data/lib/payjpv2/models/checkout_session_customer_details_response.rb +245 -0
  179. data/lib/payjpv2/models/checkout_session_details_response.rb +627 -0
  180. data/lib/payjpv2/models/checkout_session_line_item_data_response.rb +405 -0
  181. data/lib/payjpv2/models/checkout_session_line_item_list_response.rb +306 -0
  182. data/lib/payjpv2/models/checkout_session_list_response.rb +306 -0
  183. data/lib/payjpv2/models/checkout_session_mode.rb +40 -0
  184. data/lib/payjpv2/models/checkout_session_payment_method_options_card_request.rb +258 -0
  185. data/lib/payjpv2/models/checkout_session_payment_method_options_request.rb +206 -0
  186. data/lib/payjpv2/models/checkout_session_status.rb +41 -0
  187. data/lib/payjpv2/models/checkout_session_submit_type.rb +42 -0
  188. data/lib/payjpv2/models/checkout_session_ui_mode.rb +39 -0
  189. data/lib/payjpv2/models/checkout_session_update_request.rb +208 -0
  190. data/lib/payjpv2/models/country.rb +39 -0
  191. data/lib/payjpv2/models/currency.rb +39 -0
  192. data/lib/payjpv2/models/customer_create_request.rb +295 -0
  193. data/lib/payjpv2/models/customer_creation.rb +40 -0
  194. data/lib/payjpv2/models/customer_list_response.rb +306 -0
  195. data/lib/payjpv2/models/customer_response.rb +387 -0
  196. data/lib/payjpv2/models/customer_update_request.rb +266 -0
  197. data/lib/payjpv2/models/display_preference_request.rb +240 -0
  198. data/lib/payjpv2/models/error_response.rb +291 -0
  199. data/lib/payjpv2/models/event_list_response.rb +307 -0
  200. data/lib/payjpv2/models/event_response.rb +395 -0
  201. data/lib/payjpv2/models/line_item_request.rb +252 -0
  202. data/lib/payjpv2/models/locale.rb +40 -0
  203. data/lib/payjpv2/models/metadata_value.rb +105 -0
  204. data/lib/payjpv2/models/pay_pay_config_request.rb +206 -0
  205. data/lib/payjpv2/models/payment_dispute_list_response.rb +307 -0
  206. data/lib/payjpv2/models/payment_dispute_reason.rb +53 -0
  207. data/lib/payjpv2/models/payment_dispute_response.rb +485 -0
  208. data/lib/payjpv2/models/payment_dispute_status.rb +46 -0
  209. data/lib/payjpv2/models/payment_flow_cancel_request.rb +238 -0
  210. data/lib/payjpv2/models/payment_flow_cancellation_reason.rb +46 -0
  211. data/lib/payjpv2/models/payment_flow_capture_request.rb +224 -0
  212. data/lib/payjpv2/models/payment_flow_confirm_request.rb +280 -0
  213. data/lib/payjpv2/models/payment_flow_create_request.rb +366 -0
  214. data/lib/payjpv2/models/payment_flow_data_request.rb +250 -0
  215. data/lib/payjpv2/models/payment_flow_list_response.rb +307 -0
  216. data/lib/payjpv2/models/payment_flow_payment_method_options_card_request.rb +258 -0
  217. data/lib/payjpv2/models/payment_flow_payment_method_options_request.rb +206 -0
  218. data/lib/payjpv2/models/payment_flow_response.rb +623 -0
  219. data/lib/payjpv2/models/payment_flow_status.rb +45 -0
  220. data/lib/payjpv2/models/payment_flow_update_request.rb +298 -0
  221. data/lib/payjpv2/models/payment_method_apple_pay_create_request.rb +294 -0
  222. data/lib/payjpv2/models/payment_method_apple_pay_update_request.rb +262 -0
  223. data/lib/payjpv2/models/payment_method_attach_request.rb +218 -0
  224. data/lib/payjpv2/models/payment_method_billing_address_request.rb +256 -0
  225. data/lib/payjpv2/models/payment_method_billing_address_response.rb +268 -0
  226. data/lib/payjpv2/models/payment_method_billing_details_request.rb +236 -0
  227. data/lib/payjpv2/models/payment_method_billing_details_response.rb +254 -0
  228. data/lib/payjpv2/models/payment_method_card_billing_details_request.rb +237 -0
  229. data/lib/payjpv2/models/payment_method_card_create_request.rb +306 -0
  230. data/lib/payjpv2/models/payment_method_card_details_response.rb +318 -0
  231. data/lib/payjpv2/models/payment_method_card_response.rb +440 -0
  232. data/lib/payjpv2/models/payment_method_card_update_request.rb +262 -0
  233. data/lib/payjpv2/models/payment_method_configuration_details_response.rb +383 -0
  234. data/lib/payjpv2/models/payment_method_configuration_display_preference.rb +258 -0
  235. data/lib/payjpv2/models/payment_method_configuration_list_response.rb +306 -0
  236. data/lib/payjpv2/models/payment_method_configuration_setting_response.rb +216 -0
  237. data/lib/payjpv2/models/payment_method_configuration_update_request.rb +246 -0
  238. data/lib/payjpv2/models/payment_method_create_card_details_request.rb +310 -0
  239. data/lib/payjpv2/models/payment_method_create_request.rb +57 -0
  240. data/lib/payjpv2/models/payment_method_list_response.rb +306 -0
  241. data/lib/payjpv2/models/payment_method_pay_pay_create_request.rb +272 -0
  242. data/lib/payjpv2/models/payment_method_pay_pay_response.rb +418 -0
  243. data/lib/payjpv2/models/payment_method_pay_pay_update_request.rb +262 -0
  244. data/lib/payjpv2/models/payment_method_response.rb +104 -0
  245. data/lib/payjpv2/models/payment_method_types.rb +41 -0
  246. data/lib/payjpv2/models/payment_method_update_request.rb +57 -0
  247. data/lib/payjpv2/models/payment_refund_create_request.rb +286 -0
  248. data/lib/payjpv2/models/payment_refund_list_response.rb +307 -0
  249. data/lib/payjpv2/models/payment_refund_reason.rb +41 -0
  250. data/lib/payjpv2/models/payment_refund_response.rb +429 -0
  251. data/lib/payjpv2/models/payment_refund_status.rb +43 -0
  252. data/lib/payjpv2/models/payment_refund_update_request.rb +208 -0
  253. data/lib/payjpv2/models/payment_transaction_list_response.rb +307 -0
  254. data/lib/payjpv2/models/payment_transaction_response.rb +508 -0
  255. data/lib/payjpv2/models/payment_transaction_type.rb +42 -0
  256. data/lib/payjpv2/models/price_create_request.rb +342 -0
  257. data/lib/payjpv2/models/price_details_response.rb +485 -0
  258. data/lib/payjpv2/models/price_list_response.rb +306 -0
  259. data/lib/payjpv2/models/price_type.rb +39 -0
  260. data/lib/payjpv2/models/price_update_request.rb +238 -0
  261. data/lib/payjpv2/models/product_create_request.rb +270 -0
  262. data/lib/payjpv2/models/product_deleted_response.rb +273 -0
  263. data/lib/payjpv2/models/product_details_response.rb +353 -0
  264. data/lib/payjpv2/models/product_list_response.rb +306 -0
  265. data/lib/payjpv2/models/product_update_request.rb +256 -0
  266. data/lib/payjpv2/models/setup_flow_cancel_request.rb +228 -0
  267. data/lib/payjpv2/models/setup_flow_cancellation_reason.rb +41 -0
  268. data/lib/payjpv2/models/setup_flow_create_request.rb +282 -0
  269. data/lib/payjpv2/models/setup_flow_data_request.rb +218 -0
  270. data/lib/payjpv2/models/setup_flow_list_response.rb +306 -0
  271. data/lib/payjpv2/models/setup_flow_payment_method_options_card_request.rb +238 -0
  272. data/lib/payjpv2/models/setup_flow_payment_method_options_request.rb +206 -0
  273. data/lib/payjpv2/models/setup_flow_response.rb +521 -0
  274. data/lib/payjpv2/models/setup_flow_status.rb +44 -0
  275. data/lib/payjpv2/models/setup_flow_update_request.rb +272 -0
  276. data/lib/payjpv2/models/statement_item_response.rb +297 -0
  277. data/lib/payjpv2/models/statement_list_response.rb +306 -0
  278. data/lib/payjpv2/models/statement_response.rb +431 -0
  279. data/lib/payjpv2/models/statement_subject.rb +55 -0
  280. data/lib/payjpv2/models/statement_type.rb +43 -0
  281. data/lib/payjpv2/models/statement_url_response.rb +283 -0
  282. data/lib/payjpv2/models/tax_rate_create_request.rb +336 -0
  283. data/lib/payjpv2/models/tax_rate_details_response.rb +397 -0
  284. data/lib/payjpv2/models/tax_rate_list_response.rb +306 -0
  285. data/lib/payjpv2/models/tax_rate_update_request.rb +270 -0
  286. data/lib/payjpv2/models/term_list_response.rb +306 -0
  287. data/lib/payjpv2/models/term_response.rb +349 -0
  288. data/lib/payjpv2/models/usage.rb +40 -0
  289. data/lib/payjpv2/version.rb +15 -0
  290. data/lib/payjpv2.rb +176 -0
  291. data/payjpv2.gemspec +45 -0
  292. data/spec/api/balances_api_spec.rb +142 -0
  293. data/spec/api/checkout_sessions_api_spec.rb +206 -0
  294. data/spec/api/customers_api_spec.rb +239 -0
  295. data/spec/api/events_api_spec.rb +106 -0
  296. data/spec/api/payment_disputes_api_spec.rb +105 -0
  297. data/spec/api/payment_flows_api_spec.rb +310 -0
  298. data/spec/api/payment_method_configurations_api_spec.rb +137 -0
  299. data/spec/api/payment_methods_api_spec.rb +270 -0
  300. data/spec/api/payment_refunds_api_spec.rb +170 -0
  301. data/spec/api/payment_transactions_api_spec.rb +106 -0
  302. data/spec/api/prices_api_spec.rb +171 -0
  303. data/spec/api/products_api_spec.rb +203 -0
  304. data/spec/api/setup_flows_api_spec.rb +204 -0
  305. data/spec/api/statements_api_spec.rb +140 -0
  306. data/spec/api/tax_rates_api_spec.rb +170 -0
  307. data/spec/api/terms_api_spec.rb +105 -0
  308. data/spec/models/apple_pay_config_request_spec.rb +36 -0
  309. data/spec/models/balance_list_response_spec.rb +58 -0
  310. data/spec/models/balance_response_spec.rb +106 -0
  311. data/spec/models/balance_state_spec.rb +30 -0
  312. data/spec/models/balance_url_response_spec.rb +52 -0
  313. data/spec/models/bank_info_response_spec.rb +66 -0
  314. data/spec/models/capture_method_spec.rb +30 -0
  315. data/spec/models/card_config_request_spec.rb +36 -0
  316. data/spec/models/checkout_session_create_request_spec.rb +138 -0
  317. data/spec/models/checkout_session_customer_details_address_response_spec.rb +66 -0
  318. data/spec/models/checkout_session_customer_details_response_spec.rb +54 -0
  319. data/spec/models/checkout_session_details_response_spec.rb +184 -0
  320. data/spec/models/checkout_session_line_item_data_response_spec.rb +88 -0
  321. data/spec/models/checkout_session_line_item_list_response_spec.rb +58 -0
  322. data/spec/models/checkout_session_list_response_spec.rb +58 -0
  323. data/spec/models/checkout_session_mode_spec.rb +30 -0
  324. data/spec/models/checkout_session_payment_method_options_card_request_spec.rb +50 -0
  325. data/spec/models/checkout_session_payment_method_options_request_spec.rb +36 -0
  326. data/spec/models/checkout_session_status_spec.rb +30 -0
  327. data/spec/models/checkout_session_submit_type_spec.rb +30 -0
  328. data/spec/models/checkout_session_ui_mode_spec.rb +30 -0
  329. data/spec/models/checkout_session_update_request_spec.rb +36 -0
  330. data/spec/models/country_spec.rb +30 -0
  331. data/spec/models/currency_spec.rb +30 -0
  332. data/spec/models/customer_create_request_spec.rb +60 -0
  333. data/spec/models/customer_creation_spec.rb +30 -0
  334. data/spec/models/customer_list_response_spec.rb +58 -0
  335. data/spec/models/customer_response_spec.rb +88 -0
  336. data/spec/models/customer_update_request_spec.rb +54 -0
  337. data/spec/models/display_preference_request_spec.rb +40 -0
  338. data/spec/models/error_response_spec.rb +66 -0
  339. data/spec/models/event_list_response_spec.rb +58 -0
  340. data/spec/models/event_response_spec.rb +82 -0
  341. data/spec/models/line_item_request_spec.rb +48 -0
  342. data/spec/models/locale_spec.rb +30 -0
  343. data/spec/models/metadata_value_spec.rb +21 -0
  344. data/spec/models/pay_pay_config_request_spec.rb +36 -0
  345. data/spec/models/payment_dispute_list_response_spec.rb +58 -0
  346. data/spec/models/payment_dispute_reason_spec.rb +30 -0
  347. data/spec/models/payment_dispute_response_spec.rb +112 -0
  348. data/spec/models/payment_dispute_status_spec.rb +30 -0
  349. data/spec/models/payment_flow_cancel_request_spec.rb +40 -0
  350. data/spec/models/payment_flow_cancellation_reason_spec.rb +30 -0
  351. data/spec/models/payment_flow_capture_request_spec.rb +36 -0
  352. data/spec/models/payment_flow_confirm_request_spec.rb +66 -0
  353. data/spec/models/payment_flow_create_request_spec.rb +96 -0
  354. data/spec/models/payment_flow_data_request_spec.rb +48 -0
  355. data/spec/models/payment_flow_list_response_spec.rb +58 -0
  356. data/spec/models/payment_flow_payment_method_options_card_request_spec.rb +50 -0
  357. data/spec/models/payment_flow_payment_method_options_request_spec.rb +36 -0
  358. data/spec/models/payment_flow_response_spec.rb +172 -0
  359. data/spec/models/payment_flow_status_spec.rb +30 -0
  360. data/spec/models/payment_flow_update_request_spec.rb +78 -0
  361. data/spec/models/payment_method_apple_pay_create_request_spec.rb +64 -0
  362. data/spec/models/payment_method_apple_pay_update_request_spec.rb +52 -0
  363. data/spec/models/payment_method_attach_request_spec.rb +36 -0
  364. data/spec/models/payment_method_billing_address_request_spec.rb +66 -0
  365. data/spec/models/payment_method_billing_address_response_spec.rb +66 -0
  366. data/spec/models/payment_method_billing_details_request_spec.rb +54 -0
  367. data/spec/models/payment_method_billing_details_response_spec.rb +54 -0
  368. data/spec/models/payment_method_card_billing_details_request_spec.rb +54 -0
  369. data/spec/models/payment_method_card_create_request_spec.rb +64 -0
  370. data/spec/models/payment_method_card_details_response_spec.rb +66 -0
  371. data/spec/models/payment_method_card_response_spec.rb +104 -0
  372. data/spec/models/payment_method_card_update_request_spec.rb +52 -0
  373. data/spec/models/payment_method_configuration_details_response_spec.rb +82 -0
  374. data/spec/models/payment_method_configuration_display_preference_spec.rb +50 -0
  375. data/spec/models/payment_method_configuration_list_response_spec.rb +58 -0
  376. data/spec/models/payment_method_configuration_setting_response_spec.rb +42 -0
  377. data/spec/models/payment_method_configuration_update_request_spec.rb +60 -0
  378. data/spec/models/payment_method_create_card_details_request_spec.rb +54 -0
  379. data/spec/models/payment_method_create_request_spec.rb +44 -0
  380. data/spec/models/payment_method_list_response_spec.rb +58 -0
  381. data/spec/models/payment_method_pay_pay_create_request_spec.rb +58 -0
  382. data/spec/models/payment_method_pay_pay_response_spec.rb +98 -0
  383. data/spec/models/payment_method_pay_pay_update_request_spec.rb +52 -0
  384. data/spec/models/payment_method_response_spec.rb +21 -0
  385. data/spec/models/payment_method_types_spec.rb +30 -0
  386. data/spec/models/payment_method_update_request_spec.rb +44 -0
  387. data/spec/models/payment_refund_create_request_spec.rb +54 -0
  388. data/spec/models/payment_refund_list_response_spec.rb +58 -0
  389. data/spec/models/payment_refund_reason_spec.rb +30 -0
  390. data/spec/models/payment_refund_response_spec.rb +94 -0
  391. data/spec/models/payment_refund_status_spec.rb +30 -0
  392. data/spec/models/payment_refund_update_request_spec.rb +36 -0
  393. data/spec/models/payment_transaction_list_response_spec.rb +58 -0
  394. data/spec/models/payment_transaction_response_spec.rb +112 -0
  395. data/spec/models/payment_transaction_type_spec.rb +30 -0
  396. data/spec/models/price_create_request_spec.rb +78 -0
  397. data/spec/models/price_details_response_spec.rb +112 -0
  398. data/spec/models/price_list_response_spec.rb +58 -0
  399. data/spec/models/price_type_spec.rb +30 -0
  400. data/spec/models/price_update_request_spec.rb +54 -0
  401. data/spec/models/product_create_request_spec.rb +66 -0
  402. data/spec/models/product_deleted_response_spec.rb +52 -0
  403. data/spec/models/product_details_response_spec.rb +82 -0
  404. data/spec/models/product_list_response_spec.rb +58 -0
  405. data/spec/models/product_update_request_spec.rb +66 -0
  406. data/spec/models/setup_flow_cancel_request_spec.rb +36 -0
  407. data/spec/models/setup_flow_cancellation_reason_spec.rb +30 -0
  408. data/spec/models/setup_flow_create_request_spec.rb +70 -0
  409. data/spec/models/setup_flow_data_request_spec.rb +42 -0
  410. data/spec/models/setup_flow_list_response_spec.rb +58 -0
  411. data/spec/models/setup_flow_payment_method_options_card_request_spec.rb +40 -0
  412. data/spec/models/setup_flow_payment_method_options_request_spec.rb +36 -0
  413. data/spec/models/setup_flow_response_spec.rb +136 -0
  414. data/spec/models/setup_flow_status_spec.rb +30 -0
  415. data/spec/models/setup_flow_update_request_spec.rb +64 -0
  416. data/spec/models/statement_item_response_spec.rb +54 -0
  417. data/spec/models/statement_list_response_spec.rb +58 -0
  418. data/spec/models/statement_response_spec.rb +100 -0
  419. data/spec/models/statement_subject_spec.rb +30 -0
  420. data/spec/models/statement_type_spec.rb +30 -0
  421. data/spec/models/statement_url_response_spec.rb +52 -0
  422. data/spec/models/tax_rate_create_request_spec.rb +72 -0
  423. data/spec/models/tax_rate_details_response_spec.rb +88 -0
  424. data/spec/models/tax_rate_list_response_spec.rb +58 -0
  425. data/spec/models/tax_rate_update_request_spec.rb +60 -0
  426. data/spec/models/term_list_response_spec.rb +58 -0
  427. data/spec/models/term_response_spec.rb +70 -0
  428. data/spec/models/usage_spec.rb +30 -0
  429. data/spec/spec_helper.rb +111 -0
  430. metadata +651 -0
@@ -0,0 +1,627 @@
1
+ =begin
2
+ #PAY.JP API v2
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 2.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.14.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PAYJPv2
17
+ class CheckoutSessionDetailsResponse
18
+ attr_accessor :object
19
+
20
+ # Checkout Session ID
21
+ attr_accessor :id
22
+
23
+ # 本番環境かどうか
24
+ attr_accessor :livemode
25
+
26
+ attr_accessor :amount_subtotal
27
+
28
+ attr_accessor :amount_total
29
+
30
+ attr_accessor :customer_id
31
+
32
+ attr_accessor :customer_email
33
+
34
+ attr_accessor :customer_details
35
+
36
+ attr_accessor :expires_at
37
+
38
+ # 価格の通貨。現在は `jpy` のみサポートしています。
39
+ attr_accessor :currency
40
+
41
+ attr_accessor :locale
42
+
43
+ attr_accessor :payment_flow_id
44
+
45
+ attr_accessor :payment_method_types
46
+
47
+ attr_accessor :payment_method_options
48
+
49
+ attr_accessor :setup_flow_id
50
+
51
+ attr_accessor :submit_type
52
+
53
+ # Checkout Session のモード | 値 | |:---| | **payment**: 支払いモード | | **setup**: セットアップモード |
54
+ attr_accessor :mode
55
+
56
+ # Checkout Session の UI モード | 値 | |:---| | **hosted**: PAY.JP でホスティングしている画面を使用します。 |
57
+ attr_accessor :ui_mode
58
+
59
+ # チェックアウトセッションのステータス
60
+ attr_accessor :status
61
+
62
+ attr_accessor :success_url
63
+
64
+ attr_accessor :cancel_url
65
+
66
+ # URL
67
+ attr_accessor :url
68
+
69
+ # メタデータ
70
+ attr_accessor :metadata
71
+
72
+ # 作成日時 (UTC, ISO 8601 形式)
73
+ attr_accessor :created_at
74
+
75
+ # 更新日時 (UTC, ISO 8601 形式)
76
+ attr_accessor :updated_at
77
+
78
+ class EnumAttributeValidator
79
+ attr_reader :datatype
80
+ attr_reader :allowable_values
81
+
82
+ def initialize(datatype, allowable_values)
83
+ @allowable_values = allowable_values.map do |value|
84
+ case datatype.to_s
85
+ when /Integer/i
86
+ value.to_i
87
+ when /Float/i
88
+ value.to_f
89
+ else
90
+ value
91
+ end
92
+ end
93
+ end
94
+
95
+ def valid?(value)
96
+ !value || allowable_values.include?(value)
97
+ end
98
+ end
99
+
100
+ # Attribute mapping from ruby-style variable name to JSON key.
101
+ def self.attribute_map
102
+ {
103
+ :object => :object,
104
+ :id => :id,
105
+ :livemode => :livemode,
106
+ :amount_subtotal => :amount_subtotal,
107
+ :amount_total => :amount_total,
108
+ :customer_id => :customer_id,
109
+ :customer_email => :customer_email,
110
+ :customer_details => :customer_details,
111
+ :expires_at => :expires_at,
112
+ :currency => :currency,
113
+ :locale => :locale,
114
+ :payment_flow_id => :payment_flow_id,
115
+ :payment_method_types => :payment_method_types,
116
+ :payment_method_options => :payment_method_options,
117
+ :setup_flow_id => :setup_flow_id,
118
+ :submit_type => :submit_type,
119
+ :mode => :mode,
120
+ :ui_mode => :ui_mode,
121
+ :status => :status,
122
+ :success_url => :success_url,
123
+ :cancel_url => :cancel_url,
124
+ :url => :url,
125
+ :metadata => :metadata,
126
+ :created_at => :created_at,
127
+ :updated_at => :updated_at
128
+ }
129
+ end
130
+
131
+ # Returns attribute mapping this model knows about
132
+ def self.acceptable_attribute_map
133
+ attribute_map
134
+ end
135
+
136
+ # Returns all the JSON keys this model knows about
137
+ def self.acceptable_attributes
138
+ acceptable_attribute_map.values
139
+ end
140
+
141
+ # Attribute type mapping.
142
+ def self.openapi_types
143
+ {
144
+ :object => :'String',
145
+ :id => :'String',
146
+ :livemode => :'Boolean',
147
+ :amount_subtotal => :'Integer',
148
+ :amount_total => :'Integer',
149
+ :customer_id => :'String',
150
+ :customer_email => :'String',
151
+ :customer_details => :'CheckoutSessionCustomerDetailsResponse',
152
+ :expires_at => :'Time',
153
+ :currency => :'Currency',
154
+ :locale => :'Locale',
155
+ :payment_flow_id => :'String',
156
+ :payment_method_types => :'Array<PaymentMethodTypes>',
157
+ :payment_method_options => :'Hash<String, Object>',
158
+ :setup_flow_id => :'String',
159
+ :submit_type => :'CheckoutSessionSubmitType',
160
+ :mode => :'CheckoutSessionMode',
161
+ :ui_mode => :'CheckoutSessionUIMode',
162
+ :status => :'CheckoutSessionStatus',
163
+ :success_url => :'String',
164
+ :cancel_url => :'String',
165
+ :url => :'String',
166
+ :metadata => :'Hash<String, MetadataValue>',
167
+ :created_at => :'Time',
168
+ :updated_at => :'Time'
169
+ }
170
+ end
171
+
172
+ # List of attributes with nullable: true
173
+ def self.openapi_nullable
174
+ Set.new([
175
+ :amount_subtotal,
176
+ :amount_total,
177
+ :customer_id,
178
+ :customer_email,
179
+ :customer_details,
180
+ :expires_at,
181
+ :locale,
182
+ :payment_flow_id,
183
+ :payment_method_types,
184
+ :payment_method_options,
185
+ :setup_flow_id,
186
+ :submit_type,
187
+ :success_url,
188
+ :cancel_url,
189
+ ])
190
+ end
191
+
192
+ # Initializes the object
193
+ # @param [Hash] attributes Model attributes in the form of hash
194
+ def initialize(attributes = {})
195
+ if (!attributes.is_a?(Hash))
196
+ raise ArgumentError, "The input argument (attributes) must be a hash in `PAYJPv2::CheckoutSessionDetailsResponse` initialize method"
197
+ end
198
+
199
+ # check to see if the attribute exists and convert string to symbol for hash key
200
+ acceptable_attribute_map = self.class.acceptable_attribute_map
201
+ attributes = attributes.each_with_object({}) { |(k, v), h|
202
+ if (!acceptable_attribute_map.key?(k.to_sym))
203
+ raise ArgumentError, "`#{k}` is not a valid attribute in `PAYJPv2::CheckoutSessionDetailsResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
204
+ end
205
+ h[k.to_sym] = v
206
+ }
207
+
208
+ if attributes.key?(:object)
209
+ self.object = attributes[:object]
210
+ else
211
+ self.object = 'checkout.session'
212
+ end
213
+
214
+ if attributes.key?(:id)
215
+ self.id = attributes[:id]
216
+ else
217
+ self.id = nil
218
+ end
219
+
220
+ if attributes.key?(:livemode)
221
+ self.livemode = attributes[:livemode]
222
+ else
223
+ self.livemode = nil
224
+ end
225
+
226
+ if attributes.key?(:amount_subtotal)
227
+ self.amount_subtotal = attributes[:amount_subtotal]
228
+ else
229
+ self.amount_subtotal = nil
230
+ end
231
+
232
+ if attributes.key?(:amount_total)
233
+ self.amount_total = attributes[:amount_total]
234
+ else
235
+ self.amount_total = nil
236
+ end
237
+
238
+ if attributes.key?(:customer_id)
239
+ self.customer_id = attributes[:customer_id]
240
+ else
241
+ self.customer_id = nil
242
+ end
243
+
244
+ if attributes.key?(:customer_email)
245
+ self.customer_email = attributes[:customer_email]
246
+ else
247
+ self.customer_email = nil
248
+ end
249
+
250
+ if attributes.key?(:customer_details)
251
+ self.customer_details = attributes[:customer_details]
252
+ end
253
+
254
+ if attributes.key?(:expires_at)
255
+ self.expires_at = attributes[:expires_at]
256
+ else
257
+ self.expires_at = nil
258
+ end
259
+
260
+ if attributes.key?(:currency)
261
+ self.currency = attributes[:currency]
262
+ else
263
+ self.currency = nil
264
+ end
265
+
266
+ if attributes.key?(:locale)
267
+ self.locale = attributes[:locale]
268
+ else
269
+ self.locale = nil
270
+ end
271
+
272
+ if attributes.key?(:payment_flow_id)
273
+ self.payment_flow_id = attributes[:payment_flow_id]
274
+ end
275
+
276
+ if attributes.key?(:payment_method_types)
277
+ if (value = attributes[:payment_method_types]).is_a?(Array)
278
+ self.payment_method_types = value
279
+ end
280
+ else
281
+ self.payment_method_types = nil
282
+ end
283
+
284
+ if attributes.key?(:payment_method_options)
285
+ if (value = attributes[:payment_method_options]).is_a?(Hash)
286
+ self.payment_method_options = value
287
+ end
288
+ else
289
+ self.payment_method_options = nil
290
+ end
291
+
292
+ if attributes.key?(:setup_flow_id)
293
+ self.setup_flow_id = attributes[:setup_flow_id]
294
+ end
295
+
296
+ if attributes.key?(:submit_type)
297
+ self.submit_type = attributes[:submit_type]
298
+ else
299
+ self.submit_type = nil
300
+ end
301
+
302
+ if attributes.key?(:mode)
303
+ self.mode = attributes[:mode]
304
+ else
305
+ self.mode = nil
306
+ end
307
+
308
+ if attributes.key?(:ui_mode)
309
+ self.ui_mode = attributes[:ui_mode]
310
+ else
311
+ self.ui_mode = nil
312
+ end
313
+
314
+ if attributes.key?(:status)
315
+ self.status = attributes[:status]
316
+ else
317
+ self.status = nil
318
+ end
319
+
320
+ if attributes.key?(:success_url)
321
+ self.success_url = attributes[:success_url]
322
+ else
323
+ self.success_url = nil
324
+ end
325
+
326
+ if attributes.key?(:cancel_url)
327
+ self.cancel_url = attributes[:cancel_url]
328
+ else
329
+ self.cancel_url = nil
330
+ end
331
+
332
+ if attributes.key?(:url)
333
+ self.url = attributes[:url]
334
+ else
335
+ self.url = nil
336
+ end
337
+
338
+ if attributes.key?(:metadata)
339
+ if (value = attributes[:metadata]).is_a?(Hash)
340
+ self.metadata = value
341
+ end
342
+ else
343
+ self.metadata = nil
344
+ end
345
+
346
+ if attributes.key?(:created_at)
347
+ self.created_at = attributes[:created_at]
348
+ else
349
+ self.created_at = nil
350
+ end
351
+
352
+ if attributes.key?(:updated_at)
353
+ self.updated_at = attributes[:updated_at]
354
+ else
355
+ self.updated_at = nil
356
+ end
357
+ end
358
+
359
+ # Custom attribute writer method checking allowed values (enum).
360
+ # @param [Object] object Object to be assigned
361
+ def object=(object)
362
+ validator = EnumAttributeValidator.new('String', ["checkout.session"])
363
+ unless validator.valid?(object)
364
+ raise ArgumentError, "invalid value for \"object\", must be one of #{validator.allowable_values}."
365
+ end
366
+ @object = object
367
+ end
368
+
369
+ # Custom attribute writer method with validation
370
+ # @param [Object] id Value to be assigned
371
+ def id=(id)
372
+ if id.nil?
373
+ raise ArgumentError, 'id cannot be nil'
374
+ end
375
+
376
+ @id = id
377
+ end
378
+
379
+ # Custom attribute writer method with validation
380
+ # @param [Object] livemode Value to be assigned
381
+ def livemode=(livemode)
382
+ if livemode.nil?
383
+ raise ArgumentError, 'livemode cannot be nil'
384
+ end
385
+
386
+ @livemode = livemode
387
+ end
388
+
389
+ # Custom attribute writer method with validation
390
+ # @param [Object] currency Value to be assigned
391
+ def currency=(currency)
392
+ if currency.nil?
393
+ raise ArgumentError, 'currency cannot be nil'
394
+ end
395
+
396
+ @currency = currency
397
+ end
398
+
399
+ # Custom attribute writer method with validation
400
+ # @param [Object] mode Value to be assigned
401
+ def mode=(mode)
402
+ if mode.nil?
403
+ raise ArgumentError, 'mode cannot be nil'
404
+ end
405
+
406
+ @mode = mode
407
+ end
408
+
409
+ # Custom attribute writer method with validation
410
+ # @param [Object] ui_mode Value to be assigned
411
+ def ui_mode=(ui_mode)
412
+ if ui_mode.nil?
413
+ raise ArgumentError, 'ui_mode cannot be nil'
414
+ end
415
+
416
+ @ui_mode = ui_mode
417
+ end
418
+
419
+ # Custom attribute writer method with validation
420
+ # @param [Object] status Value to be assigned
421
+ def status=(status)
422
+ if status.nil?
423
+ raise ArgumentError, 'status cannot be nil'
424
+ end
425
+
426
+ @status = status
427
+ end
428
+
429
+ # Custom attribute writer method with validation
430
+ # @param [Object] url Value to be assigned
431
+ def url=(url)
432
+ if url.nil?
433
+ raise ArgumentError, 'url cannot be nil'
434
+ end
435
+
436
+ @url = url
437
+ end
438
+
439
+ # Custom attribute writer method with validation
440
+ # @param [Object] metadata Value to be assigned
441
+ def metadata=(metadata)
442
+ if metadata.nil?
443
+ raise ArgumentError, 'metadata cannot be nil'
444
+ end
445
+
446
+ @metadata = metadata
447
+ end
448
+
449
+ # Custom attribute writer method with validation
450
+ # @param [Object] created_at Value to be assigned
451
+ def created_at=(created_at)
452
+ if created_at.nil?
453
+ raise ArgumentError, 'created_at cannot be nil'
454
+ end
455
+
456
+ @created_at = created_at
457
+ end
458
+
459
+ # Custom attribute writer method with validation
460
+ # @param [Object] updated_at Value to be assigned
461
+ def updated_at=(updated_at)
462
+ if updated_at.nil?
463
+ raise ArgumentError, 'updated_at cannot be nil'
464
+ end
465
+
466
+ @updated_at = updated_at
467
+ end
468
+
469
+ # Checks equality by comparing each attribute.
470
+ # @param [Object] Object to be compared
471
+ def ==(o)
472
+ return true if self.equal?(o)
473
+ self.class == o.class &&
474
+ object == o.object &&
475
+ id == o.id &&
476
+ livemode == o.livemode &&
477
+ amount_subtotal == o.amount_subtotal &&
478
+ amount_total == o.amount_total &&
479
+ customer_id == o.customer_id &&
480
+ customer_email == o.customer_email &&
481
+ customer_details == o.customer_details &&
482
+ expires_at == o.expires_at &&
483
+ currency == o.currency &&
484
+ locale == o.locale &&
485
+ payment_flow_id == o.payment_flow_id &&
486
+ payment_method_types == o.payment_method_types &&
487
+ payment_method_options == o.payment_method_options &&
488
+ setup_flow_id == o.setup_flow_id &&
489
+ submit_type == o.submit_type &&
490
+ mode == o.mode &&
491
+ ui_mode == o.ui_mode &&
492
+ status == o.status &&
493
+ success_url == o.success_url &&
494
+ cancel_url == o.cancel_url &&
495
+ url == o.url &&
496
+ metadata == o.metadata &&
497
+ created_at == o.created_at &&
498
+ updated_at == o.updated_at
499
+ end
500
+
501
+ # @see the `==` method
502
+ # @param [Object] Object to be compared
503
+ def eql?(o)
504
+ self == o
505
+ end
506
+
507
+ # Calculates hash code according to all attributes.
508
+ # @return [Integer] Hash code
509
+ def hash
510
+ [object, id, livemode, amount_subtotal, amount_total, customer_id, customer_email, customer_details, expires_at, currency, locale, payment_flow_id, payment_method_types, payment_method_options, setup_flow_id, submit_type, mode, ui_mode, status, success_url, cancel_url, url, metadata, created_at, updated_at].hash
511
+ end
512
+
513
+ # Builds the object from hash
514
+ # @param [Hash] attributes Model attributes in the form of hash
515
+ # @return [Object] Returns the model itself
516
+ def self.build_from_hash(attributes)
517
+ return nil unless attributes.is_a?(Hash)
518
+ attributes = attributes.transform_keys(&:to_sym)
519
+ transformed_hash = {}
520
+ openapi_types.each_pair do |key, type|
521
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
522
+ transformed_hash["#{key}"] = nil
523
+ elsif type =~ /\AArray<(.*)>/i
524
+ # check to ensure the input is an array given that the attribute
525
+ # is documented as an array but the input is not
526
+ if attributes[attribute_map[key]].is_a?(Array)
527
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
528
+ end
529
+ elsif !attributes[attribute_map[key]].nil?
530
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
531
+ end
532
+ end
533
+ new(transformed_hash)
534
+ end
535
+
536
+ # Deserializes the data based on type
537
+ # @param string type Data type
538
+ # @param string value Value to be deserialized
539
+ # @return [Object] Deserialized data
540
+ def self._deserialize(type, value)
541
+ case type.to_sym
542
+ when :Time
543
+ Time.parse(value)
544
+ when :Date
545
+ Date.parse(value)
546
+ when :String
547
+ value.to_s
548
+ when :Integer
549
+ value.to_i
550
+ when :Float
551
+ value.to_f
552
+ when :Boolean
553
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
554
+ true
555
+ else
556
+ false
557
+ end
558
+ when :Object
559
+ # generic object (usually a Hash), return directly
560
+ value
561
+ when /\AArray<(?<inner_type>.+)>\z/
562
+ inner_type = Regexp.last_match[:inner_type]
563
+ value.map { |v| _deserialize(inner_type, v) }
564
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
565
+ k_type = Regexp.last_match[:k_type]
566
+ v_type = Regexp.last_match[:v_type]
567
+ {}.tap do |hash|
568
+ value.each do |k, v|
569
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
570
+ end
571
+ end
572
+ else # model
573
+ # models (e.g. Pet) or oneOf
574
+ klass = PAYJPv2.const_get(type)
575
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
576
+ end
577
+ end
578
+
579
+ # Returns the string representation of the object
580
+ # @return [String] String presentation of the object
581
+ def to_s
582
+ to_hash.to_s
583
+ end
584
+
585
+ # to_body is an alias to to_hash (backward compatibility)
586
+ # @return [Hash] Returns the object in the form of hash
587
+ def to_body
588
+ to_hash
589
+ end
590
+
591
+ # Returns the object in the form of hash
592
+ # @return [Hash] Returns the object in the form of hash
593
+ def to_hash
594
+ hash = {}
595
+ self.class.attribute_map.each_pair do |attr, param|
596
+ value = self.send(attr)
597
+ if value.nil?
598
+ is_nullable = self.class.openapi_nullable.include?(attr)
599
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
600
+ end
601
+
602
+ hash[param] = _to_hash(value)
603
+ end
604
+ hash
605
+ end
606
+
607
+ # Outputs non-array value in the form of hash
608
+ # For object, use to_hash. Otherwise, just return the value
609
+ # @param [Object] value Any valid value
610
+ # @return [Hash] Returns the value in the form of hash
611
+ def _to_hash(value)
612
+ if value.is_a?(Array)
613
+ value.compact.map { |v| _to_hash(v) }
614
+ elsif value.is_a?(Hash)
615
+ {}.tap do |hash|
616
+ value.each { |k, v| hash[k] = _to_hash(v) }
617
+ end
618
+ elsif value.respond_to? :to_hash
619
+ value.to_hash
620
+ else
621
+ value
622
+ end
623
+ end
624
+
625
+ end
626
+
627
+ end