paypal-server-sdk 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +52 -37
  3. data/lib/paypal_server_sdk/api_helper.rb +2 -2
  4. data/lib/paypal_server_sdk/client.rb +16 -3
  5. data/lib/paypal_server_sdk/configuration.rb +10 -8
  6. data/lib/paypal_server_sdk/controllers/base_controller.rb +4 -10
  7. data/lib/paypal_server_sdk/controllers/o_auth_authorization_controller.rb +4 -4
  8. data/lib/paypal_server_sdk/controllers/orders_controller.rb +101 -61
  9. data/lib/paypal_server_sdk/controllers/payments_controller.rb +31 -21
  10. data/lib/paypal_server_sdk/controllers/subscriptions_controller.rb +843 -0
  11. data/lib/paypal_server_sdk/controllers/transaction_search_controller.rb +178 -0
  12. data/lib/paypal_server_sdk/controllers/vault_controller.rb +14 -14
  13. data/lib/paypal_server_sdk/exceptions/api_exception.rb +2 -2
  14. data/lib/paypal_server_sdk/exceptions/default_error_exception.rb +95 -0
  15. data/lib/paypal_server_sdk/exceptions/error_exception.rb +7 -5
  16. data/lib/paypal_server_sdk/exceptions/o_auth_provider_exception.rb +7 -5
  17. data/lib/paypal_server_sdk/exceptions/search_error_exception.rb +107 -0
  18. data/lib/paypal_server_sdk/exceptions/subscription_error_exception.rb +95 -0
  19. data/lib/paypal_server_sdk/http/api_response.rb +6 -8
  20. data/lib/paypal_server_sdk/http/auth/o_auth2.rb +3 -3
  21. data/lib/paypal_server_sdk/http/http_call_back.rb +2 -2
  22. data/lib/paypal_server_sdk/http/http_method_enum.rb +2 -2
  23. data/lib/paypal_server_sdk/http/http_request.rb +2 -2
  24. data/lib/paypal_server_sdk/http/http_response.rb +2 -2
  25. data/lib/paypal_server_sdk/http/proxy_settings.rb +13 -0
  26. data/lib/paypal_server_sdk/logging/configuration/api_logging_configuration.rb +2 -2
  27. data/lib/paypal_server_sdk/logging/sdk_logger.rb +2 -2
  28. data/lib/paypal_server_sdk/models/activate_subscription_request.rb +63 -0
  29. data/lib/paypal_server_sdk/models/activity_timestamps.rb +2 -2
  30. data/lib/paypal_server_sdk/models/address.rb +2 -2
  31. data/lib/paypal_server_sdk/models/amount_breakdown.rb +4 -4
  32. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +2 -2
  33. data/lib/paypal_server_sdk/models/app_switch_context.rb +74 -0
  34. data/lib/paypal_server_sdk/models/apple_pay_attributes.rb +4 -3
  35. data/lib/paypal_server_sdk/models/apple_pay_attributes_response.rb +2 -2
  36. data/lib/paypal_server_sdk/models/apple_pay_card.rb +2 -2
  37. data/lib/paypal_server_sdk/models/apple_pay_card_response.rb +2 -2
  38. data/lib/paypal_server_sdk/models/apple_pay_decrypted_token_data.rb +2 -2
  39. data/lib/paypal_server_sdk/models/apple_pay_experience_context.rb +68 -0
  40. data/lib/paypal_server_sdk/models/apple_pay_payment_data.rb +2 -2
  41. data/lib/paypal_server_sdk/models/apple_pay_payment_data_type.rb +2 -2
  42. data/lib/paypal_server_sdk/models/apple_pay_payment_object.rb +2 -2
  43. data/lib/paypal_server_sdk/models/apple_pay_payment_token.rb +2 -2
  44. data/lib/paypal_server_sdk/models/apple_pay_request.rb +20 -6
  45. data/lib/paypal_server_sdk/models/apple_pay_request_card.rb +88 -0
  46. data/lib/paypal_server_sdk/models/apple_pay_tokenized_card.rb +3 -4
  47. data/lib/paypal_server_sdk/models/application_context_user_action.rb +29 -0
  48. data/lib/paypal_server_sdk/models/assurance_details.rb +2 -2
  49. data/lib/paypal_server_sdk/models/auction_information.rb +100 -0
  50. data/lib/paypal_server_sdk/models/authentication_response.rb +2 -2
  51. data/lib/paypal_server_sdk/models/authorization.rb +4 -4
  52. data/lib/paypal_server_sdk/models/authorization_incomplete_reason.rb +2 -2
  53. data/lib/paypal_server_sdk/models/authorization_status.rb +2 -2
  54. data/lib/paypal_server_sdk/models/authorization_status_details.rb +2 -2
  55. data/lib/paypal_server_sdk/models/authorization_status_with_details.rb +2 -2
  56. data/lib/paypal_server_sdk/models/authorization_with_additional_data.rb +4 -4
  57. data/lib/paypal_server_sdk/models/avs_code.rb +2 -2
  58. data/lib/paypal_server_sdk/models/balance_information.rb +106 -0
  59. data/lib/paypal_server_sdk/models/balances_response.rb +111 -0
  60. data/lib/paypal_server_sdk/models/bancontact_payment_object.rb +2 -2
  61. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +2 -2
  62. data/lib/paypal_server_sdk/models/bank_request.rb +71 -0
  63. data/lib/paypal_server_sdk/models/base_model.rb +2 -2
  64. data/lib/paypal_server_sdk/models/billing_cycle.rb +7 -18
  65. data/lib/paypal_server_sdk/models/billing_cycle_override.rb +91 -0
  66. data/lib/paypal_server_sdk/models/billing_plan.rb +212 -0
  67. data/lib/paypal_server_sdk/models/bin_details.rb +2 -2
  68. data/lib/paypal_server_sdk/models/blik_experience_context.rb +10 -8
  69. data/lib/paypal_server_sdk/models/blik_level0_payment_object.rb +2 -2
  70. data/lib/paypal_server_sdk/models/blik_one_click_payment_object.rb +2 -2
  71. data/lib/paypal_server_sdk/models/blik_one_click_payment_request.rb +2 -2
  72. data/lib/paypal_server_sdk/models/blik_payment_object.rb +2 -2
  73. data/lib/paypal_server_sdk/models/blik_payment_request.rb +2 -2
  74. data/lib/paypal_server_sdk/models/callback_configuration.rb +3 -4
  75. data/lib/paypal_server_sdk/models/callback_events.rb +2 -2
  76. data/lib/paypal_server_sdk/models/cancel_subscription_request.rb +60 -0
  77. data/lib/paypal_server_sdk/models/capture_incomplete_reason.rb +2 -2
  78. data/lib/paypal_server_sdk/models/capture_payment_instruction.rb +2 -2
  79. data/lib/paypal_server_sdk/models/capture_request.rb +33 -32
  80. data/lib/paypal_server_sdk/models/capture_status.rb +2 -2
  81. data/lib/paypal_server_sdk/models/capture_status_details.rb +2 -2
  82. data/lib/paypal_server_sdk/models/capture_status_with_details.rb +2 -2
  83. data/lib/paypal_server_sdk/models/capture_subscription_request.rb +78 -0
  84. data/lib/paypal_server_sdk/models/capture_type.rb +20 -0
  85. data/lib/paypal_server_sdk/models/captured_payment.rb +6 -6
  86. data/lib/paypal_server_sdk/models/card_attributes.rb +2 -2
  87. data/lib/paypal_server_sdk/models/card_attributes_response.rb +2 -2
  88. data/lib/paypal_server_sdk/models/card_authentication_response.rb +2 -2
  89. data/lib/paypal_server_sdk/models/card_brand.rb +18 -3
  90. data/lib/paypal_server_sdk/models/card_customer.rb +98 -0
  91. data/lib/paypal_server_sdk/models/card_customer_information.rb +16 -6
  92. data/lib/paypal_server_sdk/models/card_experience_context.rb +2 -2
  93. data/lib/paypal_server_sdk/models/card_from_request.rb +2 -2
  94. data/lib/paypal_server_sdk/models/card_payment_token_entity.rb +2 -2
  95. data/lib/paypal_server_sdk/models/card_request.rb +2 -2
  96. data/lib/paypal_server_sdk/models/card_response.rb +2 -2
  97. data/lib/paypal_server_sdk/models/card_response_address.rb +2 -2
  98. data/lib/paypal_server_sdk/models/card_response_with_billing_address.rb +100 -0
  99. data/lib/paypal_server_sdk/models/card_stored_credential.rb +4 -4
  100. data/lib/paypal_server_sdk/models/card_supplementary_data.rb +2 -2
  101. data/lib/paypal_server_sdk/models/card_type.rb +2 -2
  102. data/lib/paypal_server_sdk/models/card_vault_response.rb +2 -2
  103. data/lib/paypal_server_sdk/models/card_verification.rb +2 -2
  104. data/lib/paypal_server_sdk/models/card_verification_details.rb +8 -8
  105. data/lib/paypal_server_sdk/models/card_verification_processor_response.rb +2 -2
  106. data/lib/paypal_server_sdk/models/card_verification_status.rb +2 -2
  107. data/lib/paypal_server_sdk/models/cart_information.rb +94 -0
  108. data/lib/paypal_server_sdk/models/checkout_option.rb +77 -0
  109. data/lib/paypal_server_sdk/models/checkout_payment_intent.rb +2 -2
  110. data/lib/paypal_server_sdk/models/cobranded_card.rb +2 -2
  111. data/lib/paypal_server_sdk/models/confirm_order_request.rb +2 -2
  112. data/lib/paypal_server_sdk/models/create_subscription_request.rb +151 -0
  113. data/lib/paypal_server_sdk/models/customer.rb +2 -2
  114. data/lib/paypal_server_sdk/models/customer_information.rb +18 -7
  115. data/lib/paypal_server_sdk/models/customer_response.rb +3 -4
  116. data/lib/paypal_server_sdk/models/customer_vault_payment_tokens_response.rb +2 -2
  117. data/lib/paypal_server_sdk/models/cvv_code.rb +2 -2
  118. data/lib/paypal_server_sdk/models/cycle_execution.rb +124 -0
  119. data/lib/paypal_server_sdk/models/disbursement_mode.rb +2 -2
  120. data/lib/paypal_server_sdk/models/dispute_category.rb +2 -2
  121. data/lib/paypal_server_sdk/models/eci_flag.rb +2 -2
  122. data/lib/paypal_server_sdk/models/enrollment_status.rb +2 -2
  123. data/lib/paypal_server_sdk/models/eps_payment_object.rb +2 -2
  124. data/lib/paypal_server_sdk/models/eps_payment_request.rb +2 -2
  125. data/lib/paypal_server_sdk/models/error_details.rb +2 -2
  126. data/lib/paypal_server_sdk/models/exchange_rate.rb +2 -2
  127. data/lib/paypal_server_sdk/models/experience_context.rb +9 -7
  128. data/lib/paypal_server_sdk/models/experience_context_shipping_preference.rb +32 -0
  129. data/lib/paypal_server_sdk/models/experience_status.rb +33 -0
  130. data/lib/paypal_server_sdk/models/failed_payment_details.rb +98 -0
  131. data/lib/paypal_server_sdk/models/frequency.rb +75 -0
  132. data/lib/paypal_server_sdk/models/fulfillment_type.rb +2 -2
  133. data/lib/paypal_server_sdk/models/giropay_payment_object.rb +2 -2
  134. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +2 -2
  135. data/lib/paypal_server_sdk/models/google_pay_authentication_method.rb +2 -2
  136. data/lib/paypal_server_sdk/models/google_pay_card.rb +2 -2
  137. data/lib/paypal_server_sdk/models/google_pay_card_response.rb +2 -2
  138. data/lib/paypal_server_sdk/models/google_pay_decrypted_token_data.rb +2 -2
  139. data/lib/paypal_server_sdk/models/google_pay_experience_context.rb +68 -0
  140. data/lib/paypal_server_sdk/models/google_pay_payment_method.rb +2 -2
  141. data/lib/paypal_server_sdk/models/google_pay_request.rb +19 -6
  142. data/lib/paypal_server_sdk/models/google_pay_request_card.rb +2 -2
  143. data/lib/paypal_server_sdk/models/google_pay_wallet_response.rb +2 -2
  144. data/lib/paypal_server_sdk/models/ideal_payment_object.rb +2 -2
  145. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +2 -2
  146. data/lib/paypal_server_sdk/models/incentive_details.rb +99 -0
  147. data/lib/paypal_server_sdk/models/incentive_information.rb +71 -0
  148. data/lib/paypal_server_sdk/models/interval_unit.rb +29 -0
  149. data/lib/paypal_server_sdk/models/item.rb +16 -6
  150. data/lib/paypal_server_sdk/models/item_category.rb +2 -2
  151. data/lib/paypal_server_sdk/models/item_details.rb +287 -0
  152. data/lib/paypal_server_sdk/models/item_request.rb +163 -0
  153. data/lib/paypal_server_sdk/models/last_payment_details.rb +75 -0
  154. data/lib/paypal_server_sdk/models/level2_card_processing_data.rb +2 -2
  155. data/lib/paypal_server_sdk/models/level3_card_processing_data.rb +2 -2
  156. data/lib/paypal_server_sdk/models/liability_shift_indicator.rb +2 -2
  157. data/lib/paypal_server_sdk/models/line_item.rb +24 -13
  158. data/lib/paypal_server_sdk/models/link_description.rb +2 -2
  159. data/lib/paypal_server_sdk/models/link_http_method.rb +10 -10
  160. data/lib/paypal_server_sdk/models/merchant_preferences.rb +73 -0
  161. data/lib/paypal_server_sdk/models/mobile_return_flow.rb +28 -0
  162. data/lib/paypal_server_sdk/models/mobile_web_context.rb +76 -0
  163. data/lib/paypal_server_sdk/models/modify_subscription_request.rb +124 -0
  164. data/lib/paypal_server_sdk/models/modify_subscription_response.rb +141 -0
  165. data/lib/paypal_server_sdk/models/money.rb +2 -2
  166. data/lib/paypal_server_sdk/models/mybank_payment_object.rb +2 -2
  167. data/lib/paypal_server_sdk/models/mybank_payment_request.rb +2 -2
  168. data/lib/paypal_server_sdk/models/name.rb +2 -2
  169. data/lib/paypal_server_sdk/models/native_app_context.rb +72 -0
  170. data/lib/paypal_server_sdk/models/net_amount_breakdown_item.rb +2 -2
  171. data/lib/paypal_server_sdk/models/network_token.rb +2 -2
  172. data/lib/paypal_server_sdk/models/{network_transaction_reference.rb → network_transaction.rb} +14 -11
  173. data/lib/paypal_server_sdk/models/network_transaction_reference_entity.rb +2 -2
  174. data/lib/paypal_server_sdk/models/o_auth_provider_error.rb +2 -2
  175. data/lib/paypal_server_sdk/models/o_auth_token.rb +2 -2
  176. data/lib/paypal_server_sdk/models/one_time_charge.rb +2 -2
  177. data/lib/paypal_server_sdk/models/order.rb +7 -4
  178. data/lib/paypal_server_sdk/models/order_application_context.rb +26 -15
  179. data/lib/paypal_server_sdk/models/order_application_context_landing_page.rb +2 -2
  180. data/lib/paypal_server_sdk/models/order_application_context_shipping_preference.rb +3 -5
  181. data/lib/paypal_server_sdk/models/order_application_context_user_action.rb +2 -2
  182. data/lib/paypal_server_sdk/models/order_authorize_request.rb +2 -2
  183. data/lib/paypal_server_sdk/models/order_authorize_request_payment_source.rb +2 -2
  184. data/lib/paypal_server_sdk/models/order_authorize_response.rb +16 -9
  185. data/lib/paypal_server_sdk/models/order_authorize_response_payment_source.rb +2 -2
  186. data/lib/paypal_server_sdk/models/order_billing_plan.rb +93 -0
  187. data/lib/paypal_server_sdk/models/order_capture_request.rb +2 -2
  188. data/lib/paypal_server_sdk/models/order_capture_request_payment_source.rb +2 -2
  189. data/lib/paypal_server_sdk/models/order_confirm_application_context.rb +2 -2
  190. data/lib/paypal_server_sdk/models/order_request.rb +7 -4
  191. data/lib/paypal_server_sdk/models/order_status.rb +7 -7
  192. data/lib/paypal_server_sdk/models/order_tracker_item.rb +2 -2
  193. data/lib/paypal_server_sdk/models/order_tracker_request.rb +2 -2
  194. data/lib/paypal_server_sdk/models/order_tracker_response.rb +2 -2
  195. data/lib/paypal_server_sdk/models/order_tracker_status.rb +2 -2
  196. data/lib/paypal_server_sdk/models/orders_capture.rb +4 -4
  197. data/lib/paypal_server_sdk/models/orders_card_verification_method.rb +2 -2
  198. data/lib/paypal_server_sdk/models/os_type.rb +26 -0
  199. data/lib/paypal_server_sdk/models/p24_payment_object.rb +2 -2
  200. data/lib/paypal_server_sdk/models/p24_payment_request.rb +2 -2
  201. data/lib/paypal_server_sdk/models/pa_res_status.rb +2 -2
  202. data/lib/paypal_server_sdk/models/participant_metadata.rb +2 -2
  203. data/lib/paypal_server_sdk/models/patch.rb +2 -2
  204. data/lib/paypal_server_sdk/models/patch_op.rb +2 -2
  205. data/lib/paypal_server_sdk/models/payee_base.rb +2 -2
  206. data/lib/paypal_server_sdk/models/payee_payment_method_preference.rb +2 -2
  207. data/lib/paypal_server_sdk/models/payer.rb +4 -3
  208. data/lib/paypal_server_sdk/models/payer_base.rb +2 -2
  209. data/lib/paypal_server_sdk/models/payer_information.rb +146 -0
  210. data/lib/paypal_server_sdk/models/payer_name.rb +128 -0
  211. data/lib/paypal_server_sdk/models/payment_advice_code.rb +2 -2
  212. data/lib/paypal_server_sdk/models/payment_authorization.rb +4 -4
  213. data/lib/paypal_server_sdk/models/payment_collection.rb +2 -2
  214. data/lib/paypal_server_sdk/models/payment_initiator.rb +2 -2
  215. data/lib/paypal_server_sdk/models/payment_instruction.rb +2 -2
  216. data/lib/paypal_server_sdk/models/payment_method.rb +63 -0
  217. data/lib/paypal_server_sdk/models/payment_method_preference.rb +2 -2
  218. data/lib/paypal_server_sdk/models/payment_preferences.rb +105 -0
  219. data/lib/paypal_server_sdk/models/payment_preferences_override.rb +107 -0
  220. data/lib/paypal_server_sdk/models/payment_source.rb +2 -2
  221. data/lib/paypal_server_sdk/models/payment_source_response.rb +2 -2
  222. data/lib/paypal_server_sdk/models/payment_supplementary_data.rb +2 -2
  223. data/lib/paypal_server_sdk/models/payment_token_request.rb +2 -2
  224. data/lib/paypal_server_sdk/models/payment_token_request_card.rb +2 -2
  225. data/lib/paypal_server_sdk/models/payment_token_request_payment_source.rb +2 -2
  226. data/lib/paypal_server_sdk/models/payment_token_response.rb +6 -5
  227. data/lib/paypal_server_sdk/models/payment_token_response_payment_source.rb +4 -4
  228. data/lib/paypal_server_sdk/models/payment_token_status.rb +4 -4
  229. data/lib/paypal_server_sdk/models/payments_capture.rb +6 -6
  230. data/lib/paypal_server_sdk/models/paypal_experience_landing_page.rb +10 -3
  231. data/lib/paypal_server_sdk/models/paypal_experience_user_action.rb +2 -2
  232. data/lib/paypal_server_sdk/models/paypal_payment_token.rb +8 -7
  233. data/lib/paypal_server_sdk/models/paypal_payment_token_customer_type.rb +2 -2
  234. data/lib/paypal_server_sdk/models/paypal_payment_token_usage_type.rb +2 -2
  235. data/lib/paypal_server_sdk/models/paypal_reference_id_type.rb +29 -0
  236. data/lib/paypal_server_sdk/models/paypal_wallet.rb +2 -2
  237. data/lib/paypal_server_sdk/models/paypal_wallet_account_verification_status.rb +2 -2
  238. data/lib/paypal_server_sdk/models/paypal_wallet_attributes.rb +4 -3
  239. data/lib/paypal_server_sdk/models/paypal_wallet_attributes_response.rb +2 -2
  240. data/lib/paypal_server_sdk/models/paypal_wallet_contact_preference.rb +34 -0
  241. data/lib/paypal_server_sdk/models/paypal_wallet_context_shipping_preference.rb +2 -2
  242. data/lib/paypal_server_sdk/models/paypal_wallet_customer.rb +16 -6
  243. data/lib/paypal_server_sdk/models/paypal_wallet_customer_request.rb +16 -6
  244. data/lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb +35 -8
  245. data/lib/paypal_server_sdk/models/paypal_wallet_response.rb +21 -6
  246. data/lib/paypal_server_sdk/models/paypal_wallet_stored_credential.rb +4 -3
  247. data/lib/paypal_server_sdk/models/paypal_wallet_vault_instruction.rb +12 -22
  248. data/lib/paypal_server_sdk/models/paypal_wallet_vault_response.rb +2 -2
  249. data/lib/paypal_server_sdk/models/paypal_wallet_vault_status.rb +2 -2
  250. data/lib/paypal_server_sdk/models/phone.rb +2 -2
  251. data/lib/paypal_server_sdk/models/phone_number.rb +4 -2
  252. data/lib/paypal_server_sdk/models/phone_number_with_country_code.rb +4 -2
  253. data/lib/paypal_server_sdk/models/phone_number_with_optional_country_code.rb +81 -0
  254. data/lib/paypal_server_sdk/models/phone_type.rb +7 -7
  255. data/lib/paypal_server_sdk/models/phone_with_type.rb +2 -2
  256. data/lib/paypal_server_sdk/models/plan.rb +7 -17
  257. data/lib/paypal_server_sdk/models/plan_collection.rb +111 -0
  258. data/lib/paypal_server_sdk/models/plan_details.rb +147 -0
  259. data/lib/paypal_server_sdk/models/plan_override.rb +96 -0
  260. data/lib/paypal_server_sdk/models/plan_request.rb +154 -0
  261. data/lib/paypal_server_sdk/models/plan_request_status.rb +28 -0
  262. data/lib/paypal_server_sdk/models/platform_fee.rb +2 -2
  263. data/lib/paypal_server_sdk/models/pricing_model.rb +2 -2
  264. data/lib/paypal_server_sdk/models/pricing_scheme.rb +2 -2
  265. data/lib/paypal_server_sdk/models/pricing_tier.rb +83 -0
  266. data/lib/paypal_server_sdk/models/processor_response.rb +2 -2
  267. data/lib/paypal_server_sdk/models/processor_response_code.rb +2 -2
  268. data/lib/paypal_server_sdk/models/purchase_unit.rb +2 -2
  269. data/lib/paypal_server_sdk/models/purchase_unit_request.rb +24 -14
  270. data/lib/paypal_server_sdk/models/reason_code.rb +41 -0
  271. data/lib/paypal_server_sdk/models/reauthorize_request.rb +2 -3
  272. data/lib/paypal_server_sdk/models/refund.rb +2 -2
  273. data/lib/paypal_server_sdk/models/refund_incomplete_reason.rb +2 -2
  274. data/lib/paypal_server_sdk/models/refund_payment_instruction.rb +2 -2
  275. data/lib/paypal_server_sdk/models/refund_platform_fee.rb +2 -2
  276. data/lib/paypal_server_sdk/models/refund_request.rb +2 -2
  277. data/lib/paypal_server_sdk/models/refund_status.rb +2 -2
  278. data/lib/paypal_server_sdk/models/refund_status_details.rb +2 -2
  279. data/lib/paypal_server_sdk/models/refund_status_with_details.rb +2 -2
  280. data/lib/paypal_server_sdk/models/related_identifiers.rb +2 -2
  281. data/lib/paypal_server_sdk/models/return_flow.rb +28 -0
  282. data/lib/paypal_server_sdk/models/risk_supplementary_data.rb +2 -2
  283. data/lib/paypal_server_sdk/models/search_response.rb +176 -0
  284. data/lib/paypal_server_sdk/models/seller_payable_breakdown.rb +2 -2
  285. data/lib/paypal_server_sdk/models/seller_protection.rb +2 -2
  286. data/lib/paypal_server_sdk/models/seller_protection_status.rb +2 -2
  287. data/lib/paypal_server_sdk/models/seller_receivable_breakdown.rb +2 -2
  288. data/lib/paypal_server_sdk/models/sepa_debit_experience_context.rb +88 -0
  289. data/lib/paypal_server_sdk/models/sepa_debit_request.rb +64 -0
  290. data/lib/paypal_server_sdk/models/setup_fee_failure_action.rb +24 -0
  291. data/lib/paypal_server_sdk/models/setup_token_request.rb +2 -2
  292. data/lib/paypal_server_sdk/models/setup_token_request_card.rb +5 -5
  293. data/lib/paypal_server_sdk/models/setup_token_request_payment_source.rb +28 -7
  294. data/lib/paypal_server_sdk/models/setup_token_response.rb +5 -3
  295. data/lib/paypal_server_sdk/models/setup_token_response_card.rb +2 -2
  296. data/lib/paypal_server_sdk/models/setup_token_response_payment_source.rb +4 -4
  297. data/lib/paypal_server_sdk/models/shipment_carrier.rb +111 -3
  298. data/lib/paypal_server_sdk/models/shipping_details.rb +2 -2
  299. data/lib/paypal_server_sdk/models/shipping_information.rb +101 -0
  300. data/lib/paypal_server_sdk/models/shipping_name.rb +2 -2
  301. data/lib/paypal_server_sdk/models/shipping_option.rb +2 -2
  302. data/lib/paypal_server_sdk/models/shipping_type.rb +2 -2
  303. data/lib/paypal_server_sdk/models/shipping_with_tracking_details.rb +33 -33
  304. data/lib/paypal_server_sdk/models/simple_postal_address_coarse_grained.rb +130 -0
  305. data/lib/paypal_server_sdk/models/sofort_payment_object.rb +2 -2
  306. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +2 -2
  307. data/lib/paypal_server_sdk/models/standard_entry_class_code.rb +2 -2
  308. data/lib/paypal_server_sdk/models/store_in_vault_instruction.rb +2 -2
  309. data/lib/paypal_server_sdk/models/store_information.rb +71 -0
  310. data/lib/paypal_server_sdk/models/stored_payment_source.rb +4 -4
  311. data/lib/paypal_server_sdk/models/stored_payment_source_payment_type.rb +2 -2
  312. data/lib/paypal_server_sdk/models/stored_payment_source_usage_type.rb +2 -2
  313. data/lib/paypal_server_sdk/models/subscriber.rb +84 -0
  314. data/lib/paypal_server_sdk/models/subscriber_request.rb +97 -0
  315. data/lib/paypal_server_sdk/models/subscription.rb +205 -0
  316. data/lib/paypal_server_sdk/models/subscription_amount_with_breakdown.rb +119 -0
  317. data/lib/paypal_server_sdk/models/subscription_application_context.rb +134 -0
  318. data/lib/paypal_server_sdk/models/subscription_billing_cycle.rb +108 -0
  319. data/lib/paypal_server_sdk/models/subscription_billing_information.rb +148 -0
  320. data/lib/paypal_server_sdk/models/subscription_card_request.rb +141 -0
  321. data/lib/paypal_server_sdk/models/subscription_collection.rb +90 -0
  322. data/lib/paypal_server_sdk/models/subscription_customer_information.rb +84 -0
  323. data/lib/paypal_server_sdk/models/subscription_patch_application_context.rb +122 -0
  324. data/lib/paypal_server_sdk/models/subscription_payer_name.rb +114 -0
  325. data/lib/paypal_server_sdk/models/subscription_payment_source.rb +65 -0
  326. data/lib/paypal_server_sdk/models/subscription_payment_source_response.rb +63 -0
  327. data/lib/paypal_server_sdk/models/subscription_plan_status.rb +28 -0
  328. data/lib/paypal_server_sdk/models/subscription_pricing_model.rb +23 -0
  329. data/lib/paypal_server_sdk/models/subscription_pricing_scheme.rb +129 -0
  330. data/lib/paypal_server_sdk/models/subscription_transaction_details.rb +118 -0
  331. data/lib/paypal_server_sdk/models/subscriptions_card_attributes.rb +83 -0
  332. data/lib/paypal_server_sdk/models/subscriptions_card_brand.rb +97 -0
  333. data/lib/paypal_server_sdk/models/supplementary_data.rb +2 -2
  334. data/lib/paypal_server_sdk/models/suspend_subscription.rb +60 -0
  335. data/lib/paypal_server_sdk/models/tax_amount.rb +63 -0
  336. data/lib/paypal_server_sdk/models/tax_id_type.rb +2 -2
  337. data/lib/paypal_server_sdk/models/tax_info.rb +2 -2
  338. data/lib/paypal_server_sdk/models/taxes.rb +71 -0
  339. data/lib/paypal_server_sdk/models/taxes_override.rb +72 -0
  340. data/lib/paypal_server_sdk/models/tenure_type.rb +5 -3
  341. data/lib/paypal_server_sdk/models/three_d_secure_authentication_response.rb +2 -2
  342. data/lib/paypal_server_sdk/models/three_d_secure_card_authentication_response.rb +2 -2
  343. data/lib/paypal_server_sdk/models/token.rb +2 -2
  344. data/lib/paypal_server_sdk/models/token_type.rb +2 -2
  345. data/lib/paypal_server_sdk/models/transaction_details.rb +126 -0
  346. data/lib/paypal_server_sdk/models/transaction_information.rb +494 -0
  347. data/lib/paypal_server_sdk/models/{order_update_callback_error_response_details.rb → transaction_search_error_details.rb} +32 -10
  348. data/lib/paypal_server_sdk/models/transactions_list.rb +111 -0
  349. data/lib/paypal_server_sdk/models/trustly_payment_object.rb +2 -2
  350. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +2 -2
  351. data/lib/paypal_server_sdk/models/universal_product_code.rb +2 -2
  352. data/lib/paypal_server_sdk/models/upc_type.rb +2 -2
  353. data/lib/paypal_server_sdk/models/update_pricing_scheme.rb +72 -0
  354. data/lib/paypal_server_sdk/models/update_pricing_schemes_request.rb +69 -0
  355. data/lib/paypal_server_sdk/models/usage_pattern.rb +2 -2
  356. data/lib/paypal_server_sdk/models/vault_apple_pay_request.rb +73 -0
  357. data/lib/paypal_server_sdk/models/{setup_token_card_experience_context.rb → vault_card_experience_context.rb} +27 -18
  358. data/lib/paypal_server_sdk/models/vault_card_verification_method.rb +2 -2
  359. data/lib/paypal_server_sdk/models/vault_customer.rb +17 -7
  360. data/lib/paypal_server_sdk/models/vault_experience_context.rb +35 -12
  361. data/lib/paypal_server_sdk/models/vault_instruction.rb +2 -2
  362. data/lib/paypal_server_sdk/models/vault_instruction_action.rb +2 -2
  363. data/lib/paypal_server_sdk/models/vault_instruction_base.rb +2 -2
  364. data/lib/paypal_server_sdk/models/vault_paypal_wallet_request.rb +3 -3
  365. data/lib/paypal_server_sdk/models/vault_response.rb +4 -3
  366. data/lib/paypal_server_sdk/models/vault_response_customer.rb +3 -3
  367. data/lib/paypal_server_sdk/models/vault_status.rb +2 -2
  368. data/lib/paypal_server_sdk/models/vault_token_request.rb +2 -2
  369. data/lib/paypal_server_sdk/models/vault_token_request_type.rb +2 -2
  370. data/lib/paypal_server_sdk/models/vault_user_action.rb +29 -0
  371. data/lib/paypal_server_sdk/models/vault_venmo_request.rb +6 -6
  372. data/lib/paypal_server_sdk/models/vaulted_digital_wallet.rb +2 -2
  373. data/lib/paypal_server_sdk/models/vaulted_digital_wallet_shipping_details.rb +21 -7
  374. data/lib/paypal_server_sdk/models/{vault_venmo_experience_context.rb → venmo_experience_context.rb} +26 -16
  375. data/lib/paypal_server_sdk/models/venmo_payment_token.rb +8 -7
  376. data/lib/paypal_server_sdk/models/venmo_payment_token_customer_type.rb +2 -2
  377. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_pattern.rb +2 -2
  378. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_type.rb +2 -2
  379. data/lib/paypal_server_sdk/models/venmo_vault_response.rb +100 -0
  380. data/lib/paypal_server_sdk/models/venmo_vault_response_status.rb +31 -0
  381. data/lib/paypal_server_sdk/models/venmo_wallet_additional_attributes.rb +2 -2
  382. data/lib/paypal_server_sdk/models/venmo_wallet_attributes_response.rb +5 -5
  383. data/lib/paypal_server_sdk/models/venmo_wallet_customer_information.rb +26 -6
  384. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context.rb +24 -10
  385. data/lib/paypal_server_sdk/models/{shipping_preference.rb → venmo_wallet_experience_context_shipping_preference.rb} +4 -4
  386. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context_user_action.rb +29 -0
  387. data/lib/paypal_server_sdk/models/venmo_wallet_request.rb +2 -2
  388. data/lib/paypal_server_sdk/models/venmo_wallet_response.rb +16 -6
  389. data/lib/paypal_server_sdk/models/venmo_wallet_vault_attributes.rb +2 -2
  390. data/lib/paypal_server_sdk/utilities/date_time_helper.rb +2 -2
  391. data/lib/paypal_server_sdk/utilities/file_wrapper.rb +2 -2
  392. data/lib/paypal_server_sdk.rb +125 -29
  393. metadata +115 -22
  394. data/lib/paypal_server_sdk/models/order_update_callback_error_response.rb +0 -89
  395. data/lib/paypal_server_sdk/models/order_update_callback_request.rb +0 -111
  396. data/lib/paypal_server_sdk/models/order_update_callback_response.rb +0 -72
  397. data/lib/paypal_server_sdk/models/order_update_callback_shipping_address.rb +0 -107
  398. data/lib/paypal_server_sdk/models/order_update_callback_shipping_option.rb +0 -93
  399. data/lib/paypal_server_sdk/models/payments_payment_advice_code.rb +0 -42
  400. data/lib/paypal_server_sdk/models/payments_processor_response.rb +0 -98
  401. data/lib/paypal_server_sdk/models/shipping_options_purchase_unit.rb +0 -102
  402. data/lib/paypal_server_sdk/models/supplementary_purchase_data.rb +0 -76
@@ -1,18 +1,15 @@
1
1
  # paypal_server_sdk
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
5
 
6
6
  module PaypalServerSdk
7
- # PaypalWalletVaultInstruction Model.
7
+ # Resource consolidating common request and response attributes for vaulting
8
+ # PayPal Wallet.
8
9
  class PaypalWalletVaultInstruction < BaseModel
9
10
  SKIP = Object.new
10
11
  private_constant :SKIP
11
12
 
12
- # Defines how and when the payment source gets vaulted.
13
- # @return [StoreInVaultInstruction]
14
- attr_accessor :store_in_vault
15
-
16
13
  # The description displayed to PayPal consumer on the approval flow for
17
14
  # PayPal, as well as on the PayPal payment token management experience on
18
15
  # PayPal.com.
@@ -47,7 +44,6 @@ module PaypalServerSdk
47
44
  # A mapping from model property names to API property names.
48
45
  def self.names
49
46
  @_hash = {} if @_hash.nil?
50
- @_hash['store_in_vault'] = 'store_in_vault'
51
47
  @_hash['description'] = 'description'
52
48
  @_hash['usage_pattern'] = 'usage_pattern'
53
49
  @_hash['usage_type'] = 'usage_type'
@@ -60,7 +56,6 @@ module PaypalServerSdk
60
56
  # An array for optional fields
61
57
  def self.optionals
62
58
  %w[
63
- store_in_vault
64
59
  description
65
60
  usage_pattern
66
61
  customer_type
@@ -73,11 +68,9 @@ module PaypalServerSdk
73
68
  []
74
69
  end
75
70
 
76
- def initialize(usage_type:, store_in_vault: SKIP, description: SKIP,
77
- usage_pattern: SKIP,
71
+ def initialize(usage_type:, description: SKIP, usage_pattern: SKIP,
78
72
  customer_type: PaypalPaymentTokenCustomerType::CONSUMER,
79
73
  permit_multiple_payment_tokens: false)
80
- @store_in_vault = store_in_vault unless store_in_vault == SKIP
81
74
  @description = description unless description == SKIP
82
75
  @usage_pattern = usage_pattern unless usage_pattern == SKIP
83
76
  @usage_type = usage_type
@@ -94,8 +87,6 @@ module PaypalServerSdk
94
87
 
95
88
  # Extract variables from the hash.
96
89
  usage_type = hash.key?('usage_type') ? hash['usage_type'] : nil
97
- store_in_vault =
98
- hash.key?('store_in_vault') ? hash['store_in_vault'] : SKIP
99
90
  description = hash.key?('description') ? hash['description'] : SKIP
100
91
  usage_pattern = hash.key?('usage_pattern') ? hash['usage_pattern'] : SKIP
101
92
  customer_type =
@@ -105,7 +96,6 @@ module PaypalServerSdk
105
96
 
106
97
  # Create object from extracted values.
107
98
  PaypalWalletVaultInstruction.new(usage_type: usage_type,
108
- store_in_vault: store_in_vault,
109
99
  description: description,
110
100
  usage_pattern: usage_pattern,
111
101
  customer_type: customer_type,
@@ -115,18 +105,18 @@ module PaypalServerSdk
115
105
  # Provides a human-readable string representation of the object.
116
106
  def to_s
117
107
  class_name = self.class.name.split('::').last
118
- "<#{class_name} store_in_vault: #{@store_in_vault}, description: #{@description},"\
119
- " usage_pattern: #{@usage_pattern}, usage_type: #{@usage_type}, customer_type:"\
120
- " #{@customer_type}, permit_multiple_payment_tokens: #{@permit_multiple_payment_tokens}>"
108
+ "<#{class_name} description: #{@description}, usage_pattern: #{@usage_pattern}, usage_type:"\
109
+ " #{@usage_type}, customer_type: #{@customer_type}, permit_multiple_payment_tokens:"\
110
+ " #{@permit_multiple_payment_tokens}>"
121
111
  end
122
112
 
123
113
  # Provides a debugging-friendly string with detailed object information.
124
114
  def inspect
125
115
  class_name = self.class.name.split('::').last
126
- "<#{class_name} store_in_vault: #{@store_in_vault.inspect}, description:"\
127
- " #{@description.inspect}, usage_pattern: #{@usage_pattern.inspect}, usage_type:"\
128
- " #{@usage_type.inspect}, customer_type: #{@customer_type.inspect},"\
129
- " permit_multiple_payment_tokens: #{@permit_multiple_payment_tokens.inspect}>"
116
+ "<#{class_name} description: #{@description.inspect}, usage_pattern:"\
117
+ " #{@usage_pattern.inspect}, usage_type: #{@usage_type.inspect}, customer_type:"\
118
+ " #{@customer_type.inspect}, permit_multiple_payment_tokens:"\
119
+ " #{@permit_multiple_payment_tokens.inspect}>"
130
120
  end
131
121
  end
132
122
  end
@@ -1,7 +1,7 @@
1
1
  # paypal_server_sdk
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
5
 
6
6
  module PaypalServerSdk
7
7
  # The details about a saved PayPal Wallet payment source.
@@ -1,7 +1,7 @@
1
1
  # paypal_server_sdk
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
5
 
6
6
  module PaypalServerSdk
7
7
  # The vault status.
@@ -1,7 +1,7 @@
1
1
  # paypal_server_sdk
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
5
 
6
6
  module PaypalServerSdk
7
7
  # The phone number, in its canonical international [E.164 numbering plan
@@ -1,10 +1,12 @@
1
1
  # paypal_server_sdk
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
5
 
6
6
  module PaypalServerSdk
7
7
  # The phone number in its canonical international [E.164 numbering plan
8
+ # format](https://www.itu.int/rec/T-REC-E.164/en)., The phone number, in its
9
+ # canonical international [E.164 numbering plan
8
10
  # format](https://www.itu.int/rec/T-REC-E.164/en).
9
11
  class PhoneNumber < BaseModel
10
12
  SKIP = Object.new
@@ -1,12 +1,14 @@
1
1
  # paypal_server_sdk
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
5
 
6
6
  module PaypalServerSdk
7
7
  # The phone number in its canonical international [E.164 numbering plan
8
8
  # format](https://www.itu.int/rec/T-REC-E.164/en)., The phone number, in its
9
9
  # canonical international [E.164 numbering plan
10
+ # format](https://www.itu.int/rec/T-REC-E.164/en)., The phone number, in its
11
+ # canonical international [E.164 numbering plan
10
12
  # format](https://www.itu.int/rec/T-REC-E.164/en).
11
13
  class PhoneNumberWithCountryCode < BaseModel
12
14
  SKIP = Object.new
@@ -0,0 +1,81 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # The phone number in its canonical international [E.164 numbering plan
8
+ # format](https://www.itu.int/rec/T-REC-E.164/en).
9
+ class PhoneNumberWithOptionalCountryCode < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The country calling code (CC), in its canonical international [E.164
14
+ # numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The
15
+ # combined length of the CC and the national number must not be greater than
16
+ # 15 digits. The national number consists of a national destination code
17
+ # (NDC) and subscriber number (SN).
18
+ # @return [String]
19
+ attr_accessor :country_code
20
+
21
+ # The national number, in its canonical international [E.164 numbering plan
22
+ # format](https://www.itu.int/rec/T-REC-E.164/en). The combined length of
23
+ # the country calling code (CC) and the national number must not be greater
24
+ # than 15 digits. The national number consists of a national destination
25
+ # code (NDC) and subscriber number (SN).
26
+ # @return [String]
27
+ attr_accessor :national_number
28
+
29
+ # A mapping from model property names to API property names.
30
+ def self.names
31
+ @_hash = {} if @_hash.nil?
32
+ @_hash['country_code'] = 'country_code'
33
+ @_hash['national_number'] = 'national_number'
34
+ @_hash
35
+ end
36
+
37
+ # An array for optional fields
38
+ def self.optionals
39
+ %w[
40
+ country_code
41
+ ]
42
+ end
43
+
44
+ # An array for nullable fields
45
+ def self.nullables
46
+ []
47
+ end
48
+
49
+ def initialize(national_number:, country_code: SKIP)
50
+ @country_code = country_code unless country_code == SKIP
51
+ @national_number = national_number
52
+ end
53
+
54
+ # Creates an instance of the object from a hash.
55
+ def self.from_hash(hash)
56
+ return nil unless hash
57
+
58
+ # Extract variables from the hash.
59
+ national_number =
60
+ hash.key?('national_number') ? hash['national_number'] : nil
61
+ country_code = hash.key?('country_code') ? hash['country_code'] : SKIP
62
+
63
+ # Create object from extracted values.
64
+ PhoneNumberWithOptionalCountryCode.new(national_number: national_number,
65
+ country_code: country_code)
66
+ end
67
+
68
+ # Provides a human-readable string representation of the object.
69
+ def to_s
70
+ class_name = self.class.name.split('::').last
71
+ "<#{class_name} country_code: #{@country_code}, national_number: #{@national_number}>"
72
+ end
73
+
74
+ # Provides a debugging-friendly string with detailed object information.
75
+ def inspect
76
+ class_name = self.class.name.split('::').last
77
+ "<#{class_name} country_code: #{@country_code.inspect}, national_number:"\
78
+ " #{@national_number.inspect}>"
79
+ end
80
+ end
81
+ end
@@ -1,25 +1,25 @@
1
1
  # paypal_server_sdk
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
5
 
6
6
  module PaypalServerSdk
7
7
  # The phone type.
8
8
  class PhoneType
9
9
  PHONE_TYPE = [
10
- # TODO: Write general description for FAX
10
+ # Fax number.
11
11
  FAX = 'FAX'.freeze,
12
12
 
13
- # TODO: Write general description for HOME
13
+ # Home phone number.
14
14
  HOME = 'HOME'.freeze,
15
15
 
16
- # TODO: Write general description for MOBILE
16
+ # Mobile phone number.
17
17
  MOBILE = 'MOBILE'.freeze,
18
18
 
19
- # TODO: Write general description for OTHER
19
+ # Other phone number.
20
20
  OTHER = 'OTHER'.freeze,
21
21
 
22
- # TODO: Write general description for PAGER
22
+ # Pager number.
23
23
  PAGER = 'PAGER'.freeze
24
24
  ].freeze
25
25
 
@@ -1,7 +1,7 @@
1
1
  # paypal_server_sdk
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
5
 
6
6
  module PaypalServerSdk
7
7
  # The phone information.
@@ -1,7 +1,7 @@
1
1
  # paypal_server_sdk
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
5
 
6
6
  module PaypalServerSdk
7
7
  # The merchant level Recurring Billing plan metadata for the Billing
@@ -15,10 +15,6 @@ module PaypalServerSdk
15
15
  # @return [Array[BillingCycle]]
16
16
  attr_accessor :billing_cycles
17
17
 
18
- # Product details associated with any one-time product purchase.
19
- # @return [Object]
20
- attr_accessor :product
21
-
22
18
  # The one-time charge info at the time of checkout.
23
19
  # @return [OneTimeCharge]
24
20
  attr_accessor :one_time_charges
@@ -31,7 +27,6 @@ module PaypalServerSdk
31
27
  def self.names
32
28
  @_hash = {} if @_hash.nil?
33
29
  @_hash['billing_cycles'] = 'billing_cycles'
34
- @_hash['product'] = 'product'
35
30
  @_hash['one_time_charges'] = 'one_time_charges'
36
31
  @_hash['name'] = 'name'
37
32
  @_hash
@@ -40,7 +35,6 @@ module PaypalServerSdk
40
35
  # An array for optional fields
41
36
  def self.optionals
42
37
  %w[
43
- product
44
38
  name
45
39
  ]
46
40
  end
@@ -50,10 +44,8 @@ module PaypalServerSdk
50
44
  []
51
45
  end
52
46
 
53
- def initialize(billing_cycles:, one_time_charges:, product: SKIP,
54
- name: SKIP)
47
+ def initialize(billing_cycles:, one_time_charges:, name: SKIP)
55
48
  @billing_cycles = billing_cycles
56
- @product = product unless product == SKIP
57
49
  @one_time_charges = one_time_charges
58
50
  @name = name unless name == SKIP
59
51
  end
@@ -75,28 +67,26 @@ module PaypalServerSdk
75
67
  billing_cycles = nil unless hash.key?('billing_cycles')
76
68
  one_time_charges = OneTimeCharge.from_hash(hash['one_time_charges']) if
77
69
  hash['one_time_charges']
78
- product = hash.key?('product') ? hash['product'] : SKIP
79
70
  name = hash.key?('name') ? hash['name'] : SKIP
80
71
 
81
72
  # Create object from extracted values.
82
73
  Plan.new(billing_cycles: billing_cycles,
83
74
  one_time_charges: one_time_charges,
84
- product: product,
85
75
  name: name)
86
76
  end
87
77
 
88
78
  # Provides a human-readable string representation of the object.
89
79
  def to_s
90
80
  class_name = self.class.name.split('::').last
91
- "<#{class_name} billing_cycles: #{@billing_cycles}, product: #{@product}, one_time_charges:"\
92
- " #{@one_time_charges}, name: #{@name}>"
81
+ "<#{class_name} billing_cycles: #{@billing_cycles}, one_time_charges: #{@one_time_charges},"\
82
+ " name: #{@name}>"
93
83
  end
94
84
 
95
85
  # Provides a debugging-friendly string with detailed object information.
96
86
  def inspect
97
87
  class_name = self.class.name.split('::').last
98
- "<#{class_name} billing_cycles: #{@billing_cycles.inspect}, product: #{@product.inspect},"\
99
- " one_time_charges: #{@one_time_charges.inspect}, name: #{@name.inspect}>"
88
+ "<#{class_name} billing_cycles: #{@billing_cycles.inspect}, one_time_charges:"\
89
+ " #{@one_time_charges.inspect}, name: #{@name.inspect}>"
100
90
  end
101
91
  end
102
92
  end
@@ -0,0 +1,111 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # The list of plans with details.
8
+ class PlanCollection < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # An array of plans.
13
+ # @return [Array[BillingPlan]]
14
+ attr_accessor :plans
15
+
16
+ # The total number of items.
17
+ # @return [Integer]
18
+ attr_accessor :total_items
19
+
20
+ # The total number of pages.
21
+ # @return [Integer]
22
+ attr_accessor :total_pages
23
+
24
+ # An array of request-related [HATEOAS
25
+ # links](/docs/api/reference/api-responses/#hateoas-links).
26
+ # @return [Array[LinkDescription]]
27
+ attr_accessor :links
28
+
29
+ # A mapping from model property names to API property names.
30
+ def self.names
31
+ @_hash = {} if @_hash.nil?
32
+ @_hash['plans'] = 'plans'
33
+ @_hash['total_items'] = 'total_items'
34
+ @_hash['total_pages'] = 'total_pages'
35
+ @_hash['links'] = 'links'
36
+ @_hash
37
+ end
38
+
39
+ # An array for optional fields
40
+ def self.optionals
41
+ %w[
42
+ plans
43
+ total_items
44
+ total_pages
45
+ links
46
+ ]
47
+ end
48
+
49
+ # An array for nullable fields
50
+ def self.nullables
51
+ []
52
+ end
53
+
54
+ def initialize(plans: SKIP, total_items: SKIP, total_pages: SKIP,
55
+ links: SKIP)
56
+ @plans = plans unless plans == SKIP
57
+ @total_items = total_items unless total_items == SKIP
58
+ @total_pages = total_pages unless total_pages == SKIP
59
+ @links = links unless links == SKIP
60
+ end
61
+
62
+ # Creates an instance of the object from a hash.
63
+ def self.from_hash(hash)
64
+ return nil unless hash
65
+
66
+ # Extract variables from the hash.
67
+ # Parameter is an array, so we need to iterate through it
68
+ plans = nil
69
+ unless hash['plans'].nil?
70
+ plans = []
71
+ hash['plans'].each do |structure|
72
+ plans << (BillingPlan.from_hash(structure) if structure)
73
+ end
74
+ end
75
+
76
+ plans = SKIP unless hash.key?('plans')
77
+ total_items = hash.key?('total_items') ? hash['total_items'] : SKIP
78
+ total_pages = hash.key?('total_pages') ? hash['total_pages'] : SKIP
79
+ # Parameter is an array, so we need to iterate through it
80
+ links = nil
81
+ unless hash['links'].nil?
82
+ links = []
83
+ hash['links'].each do |structure|
84
+ links << (LinkDescription.from_hash(structure) if structure)
85
+ end
86
+ end
87
+
88
+ links = SKIP unless hash.key?('links')
89
+
90
+ # Create object from extracted values.
91
+ PlanCollection.new(plans: plans,
92
+ total_items: total_items,
93
+ total_pages: total_pages,
94
+ links: links)
95
+ end
96
+
97
+ # Provides a human-readable string representation of the object.
98
+ def to_s
99
+ class_name = self.class.name.split('::').last
100
+ "<#{class_name} plans: #{@plans}, total_items: #{@total_items}, total_pages:"\
101
+ " #{@total_pages}, links: #{@links}>"
102
+ end
103
+
104
+ # Provides a debugging-friendly string with detailed object information.
105
+ def inspect
106
+ class_name = self.class.name.split('::').last
107
+ "<#{class_name} plans: #{@plans.inspect}, total_items: #{@total_items.inspect},"\
108
+ " total_pages: #{@total_pages.inspect}, links: #{@links.inspect}>"
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,147 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # The plan details.
8
+ class PlanDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The ID for the product.
13
+ # @return [String]
14
+ attr_accessor :product_id
15
+
16
+ # The plan name.
17
+ # @return [String]
18
+ attr_accessor :name
19
+
20
+ # The detailed description of the plan.
21
+ # @return [String]
22
+ attr_accessor :description
23
+
24
+ # An array of billing cycles for trial billing and regular billing. A plan
25
+ # can have at most two trial cycles and only one regular cycle.
26
+ # @return [Array[SubscriptionBillingCycle]]
27
+ attr_accessor :billing_cycles
28
+
29
+ # The payment preferences for a subscription.
30
+ # @return [PaymentPreferences]
31
+ attr_accessor :payment_preferences
32
+
33
+ # The merchant preferences for a subscription.
34
+ # @return [MerchantPreferences]
35
+ attr_accessor :merchant_preferences
36
+
37
+ # The tax details.
38
+ # @return [Taxes]
39
+ attr_accessor :taxes
40
+
41
+ # Indicates whether you can subscribe to this plan by providing a quantity
42
+ # for the goods or service.
43
+ # @return [TrueClass | FalseClass]
44
+ attr_accessor :quantity_supported
45
+
46
+ # A mapping from model property names to API property names.
47
+ def self.names
48
+ @_hash = {} if @_hash.nil?
49
+ @_hash['product_id'] = 'product_id'
50
+ @_hash['name'] = 'name'
51
+ @_hash['description'] = 'description'
52
+ @_hash['billing_cycles'] = 'billing_cycles'
53
+ @_hash['payment_preferences'] = 'payment_preferences'
54
+ @_hash['merchant_preferences'] = 'merchant_preferences'
55
+ @_hash['taxes'] = 'taxes'
56
+ @_hash['quantity_supported'] = 'quantity_supported'
57
+ @_hash
58
+ end
59
+
60
+ # An array for optional fields
61
+ def self.optionals
62
+ %w[
63
+ product_id
64
+ name
65
+ description
66
+ billing_cycles
67
+ payment_preferences
68
+ merchant_preferences
69
+ taxes
70
+ quantity_supported
71
+ ]
72
+ end
73
+
74
+ # An array for nullable fields
75
+ def self.nullables
76
+ []
77
+ end
78
+
79
+ def initialize(product_id: SKIP, name: SKIP, description: SKIP,
80
+ billing_cycles: SKIP, payment_preferences: SKIP,
81
+ merchant_preferences: SKIP, taxes: SKIP,
82
+ quantity_supported: false)
83
+ @product_id = product_id unless product_id == SKIP
84
+ @name = name unless name == SKIP
85
+ @description = description unless description == SKIP
86
+ @billing_cycles = billing_cycles unless billing_cycles == SKIP
87
+ @payment_preferences = payment_preferences unless payment_preferences == SKIP
88
+ @merchant_preferences = merchant_preferences unless merchant_preferences == SKIP
89
+ @taxes = taxes unless taxes == SKIP
90
+ @quantity_supported = quantity_supported unless quantity_supported == SKIP
91
+ end
92
+
93
+ # Creates an instance of the object from a hash.
94
+ def self.from_hash(hash)
95
+ return nil unless hash
96
+
97
+ # Extract variables from the hash.
98
+ product_id = hash.key?('product_id') ? hash['product_id'] : SKIP
99
+ name = hash.key?('name') ? hash['name'] : SKIP
100
+ description = hash.key?('description') ? hash['description'] : SKIP
101
+ # Parameter is an array, so we need to iterate through it
102
+ billing_cycles = nil
103
+ unless hash['billing_cycles'].nil?
104
+ billing_cycles = []
105
+ hash['billing_cycles'].each do |structure|
106
+ billing_cycles << (SubscriptionBillingCycle.from_hash(structure) if structure)
107
+ end
108
+ end
109
+
110
+ billing_cycles = SKIP unless hash.key?('billing_cycles')
111
+ payment_preferences = PaymentPreferences.from_hash(hash['payment_preferences']) if
112
+ hash['payment_preferences']
113
+ merchant_preferences = MerchantPreferences.from_hash(hash['merchant_preferences']) if
114
+ hash['merchant_preferences']
115
+ taxes = Taxes.from_hash(hash['taxes']) if hash['taxes']
116
+ quantity_supported = hash['quantity_supported'] ||= false
117
+
118
+ # Create object from extracted values.
119
+ PlanDetails.new(product_id: product_id,
120
+ name: name,
121
+ description: description,
122
+ billing_cycles: billing_cycles,
123
+ payment_preferences: payment_preferences,
124
+ merchant_preferences: merchant_preferences,
125
+ taxes: taxes,
126
+ quantity_supported: quantity_supported)
127
+ end
128
+
129
+ # Provides a human-readable string representation of the object.
130
+ def to_s
131
+ class_name = self.class.name.split('::').last
132
+ "<#{class_name} product_id: #{@product_id}, name: #{@name}, description: #{@description},"\
133
+ " billing_cycles: #{@billing_cycles}, payment_preferences: #{@payment_preferences},"\
134
+ " merchant_preferences: #{@merchant_preferences}, taxes: #{@taxes}, quantity_supported:"\
135
+ " #{@quantity_supported}>"
136
+ end
137
+
138
+ # Provides a debugging-friendly string with detailed object information.
139
+ def inspect
140
+ class_name = self.class.name.split('::').last
141
+ "<#{class_name} product_id: #{@product_id.inspect}, name: #{@name.inspect}, description:"\
142
+ " #{@description.inspect}, billing_cycles: #{@billing_cycles.inspect}, payment_preferences:"\
143
+ " #{@payment_preferences.inspect}, merchant_preferences: #{@merchant_preferences.inspect},"\
144
+ " taxes: #{@taxes.inspect}, quantity_supported: #{@quantity_supported.inspect}>"
145
+ end
146
+ end
147
+ end