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,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
  # Provides additional details to process a payment using a `payment_source`
@@ -32,7 +32,7 @@ module PaypalServerSdk
32
32
  attr_accessor :usage
33
33
 
34
34
  # Reference values used by the card network to identify a transaction.
35
- # @return [NetworkTransactionReference]
35
+ # @return [NetworkTransaction]
36
36
  attr_accessor :previous_network_transaction_reference
37
37
 
38
38
  # A mapping from model property names to API property names.
@@ -81,7 +81,7 @@ module PaypalServerSdk
81
81
  payment_type = hash.key?('payment_type') ? hash['payment_type'] : nil
82
82
  usage = hash['usage'] ||= StoredPaymentSourceUsageType::DERIVED
83
83
  if hash['previous_network_transaction_reference']
84
- previous_network_transaction_reference = NetworkTransactionReference.from_hash(hash['previous_network_transaction_reference'])
84
+ previous_network_transaction_reference = NetworkTransaction.from_hash(hash['previous_network_transaction_reference'])
85
85
  end
86
86
 
87
87
  # Create object from extracted values.
@@ -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
  # Indicates the type of the stored payment_source payment.
@@ -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
  # Indicates if this is a `first` or `subsequent` payment using a stored
@@ -0,0 +1,84 @@
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 subscriber response information.
8
+ class Subscriber < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The name of the party.
13
+ # @return [Name]
14
+ attr_accessor :name
15
+
16
+ # The shipping details.
17
+ # @return [ShippingDetails]
18
+ attr_accessor :shipping_address
19
+
20
+ # The payment source used to fund the payment.
21
+ # @return [SubscriptionPaymentSourceResponse]
22
+ attr_accessor :payment_source
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['name'] = 'name'
28
+ @_hash['shipping_address'] = 'shipping_address'
29
+ @_hash['payment_source'] = 'payment_source'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ name
37
+ shipping_address
38
+ payment_source
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(name: SKIP, shipping_address: SKIP, payment_source: SKIP)
48
+ @name = name unless name == SKIP
49
+ @shipping_address = shipping_address unless shipping_address == SKIP
50
+ @payment_source = payment_source unless payment_source == SKIP
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ name = Name.from_hash(hash['name']) if hash['name']
59
+ shipping_address = ShippingDetails.from_hash(hash['shipping_address']) if
60
+ hash['shipping_address']
61
+ payment_source = SubscriptionPaymentSourceResponse.from_hash(hash['payment_source']) if
62
+ hash['payment_source']
63
+
64
+ # Create object from extracted values.
65
+ Subscriber.new(name: name,
66
+ shipping_address: shipping_address,
67
+ payment_source: payment_source)
68
+ end
69
+
70
+ # Provides a human-readable string representation of the object.
71
+ def to_s
72
+ class_name = self.class.name.split('::').last
73
+ "<#{class_name} name: #{@name}, shipping_address: #{@shipping_address}, payment_source:"\
74
+ " #{@payment_source}>"
75
+ end
76
+
77
+ # Provides a debugging-friendly string with detailed object information.
78
+ def inspect
79
+ class_name = self.class.name.split('::').last
80
+ "<#{class_name} name: #{@name.inspect}, shipping_address: #{@shipping_address.inspect},"\
81
+ " payment_source: #{@payment_source.inspect}>"
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,97 @@
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 subscriber request information .
8
+ class SubscriberRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The name of the party.
13
+ # @return [Name]
14
+ attr_accessor :name
15
+
16
+ # The phone information.
17
+ # @return [PhoneWithType]
18
+ attr_accessor :phone
19
+
20
+ # The shipping details.
21
+ # @return [ShippingDetails]
22
+ attr_accessor :shipping_address
23
+
24
+ # The payment source definition. To be eligible to create subscription using
25
+ # debit or credit card, you will need to sign up here
26
+ # (https://www.paypal.com/bizsignup/entry/product/ppcp). Please note, its
27
+ # available only for non-3DS cards and for merchants in US and AU regions.
28
+ # @return [SubscriptionPaymentSource]
29
+ attr_accessor :payment_source
30
+
31
+ # A mapping from model property names to API property names.
32
+ def self.names
33
+ @_hash = {} if @_hash.nil?
34
+ @_hash['name'] = 'name'
35
+ @_hash['phone'] = 'phone'
36
+ @_hash['shipping_address'] = 'shipping_address'
37
+ @_hash['payment_source'] = 'payment_source'
38
+ @_hash
39
+ end
40
+
41
+ # An array for optional fields
42
+ def self.optionals
43
+ %w[
44
+ name
45
+ phone
46
+ shipping_address
47
+ payment_source
48
+ ]
49
+ end
50
+
51
+ # An array for nullable fields
52
+ def self.nullables
53
+ []
54
+ end
55
+
56
+ def initialize(name: SKIP, phone: SKIP, shipping_address: SKIP,
57
+ payment_source: SKIP)
58
+ @name = name unless name == SKIP
59
+ @phone = phone unless phone == SKIP
60
+ @shipping_address = shipping_address unless shipping_address == SKIP
61
+ @payment_source = payment_source unless payment_source == SKIP
62
+ end
63
+
64
+ # Creates an instance of the object from a hash.
65
+ def self.from_hash(hash)
66
+ return nil unless hash
67
+
68
+ # Extract variables from the hash.
69
+ name = Name.from_hash(hash['name']) if hash['name']
70
+ phone = PhoneWithType.from_hash(hash['phone']) if hash['phone']
71
+ shipping_address = ShippingDetails.from_hash(hash['shipping_address']) if
72
+ hash['shipping_address']
73
+ payment_source = SubscriptionPaymentSource.from_hash(hash['payment_source']) if
74
+ hash['payment_source']
75
+
76
+ # Create object from extracted values.
77
+ SubscriberRequest.new(name: name,
78
+ phone: phone,
79
+ shipping_address: shipping_address,
80
+ payment_source: payment_source)
81
+ end
82
+
83
+ # Provides a human-readable string representation of the object.
84
+ def to_s
85
+ class_name = self.class.name.split('::').last
86
+ "<#{class_name} name: #{@name}, phone: #{@phone}, shipping_address: #{@shipping_address},"\
87
+ " payment_source: #{@payment_source}>"
88
+ end
89
+
90
+ # Provides a debugging-friendly string with detailed object information.
91
+ def inspect
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} name: #{@name.inspect}, phone: #{@phone.inspect}, shipping_address:"\
94
+ " #{@shipping_address.inspect}, payment_source: #{@payment_source.inspect}>"
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,205 @@
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 subscription details.
8
+ class Subscription < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The PayPal-generated ID for the subscription.
13
+ # @return [String]
14
+ attr_accessor :id
15
+
16
+ # The ID of the plan.
17
+ # @return [String]
18
+ attr_accessor :plan_id
19
+
20
+ # The date and time, in [Internet date and time
21
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
22
+ # required while fractional seconds are optional. Note: The regular
23
+ # expression provides guidance but does not reject all invalid dates.
24
+ # @return [String]
25
+ attr_accessor :start_time
26
+
27
+ # The quantity of the product in the subscription.
28
+ # @return [String]
29
+ attr_accessor :quantity
30
+
31
+ # The currency and amount for a financial transaction, such as a balance or
32
+ # payment due.
33
+ # @return [Money]
34
+ attr_accessor :shipping_amount
35
+
36
+ # The subscriber response information.
37
+ # @return [Subscriber]
38
+ attr_accessor :subscriber
39
+
40
+ # The billing details for the subscription. If the subscription was or is
41
+ # active, these fields are populated.
42
+ # @return [SubscriptionBillingInformation]
43
+ attr_accessor :billing_info
44
+
45
+ # The date and time, in [Internet date and time
46
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
47
+ # required while fractional seconds are optional. Note: The regular
48
+ # expression provides guidance but does not reject all invalid dates.
49
+ # @return [String]
50
+ attr_accessor :create_time
51
+
52
+ # The date and time, in [Internet date and time
53
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
54
+ # required while fractional seconds are optional. Note: The regular
55
+ # expression provides guidance but does not reject all invalid dates.
56
+ # @return [String]
57
+ attr_accessor :update_time
58
+
59
+ # The custom id for the subscription. Can be invoice id.
60
+ # @return [String]
61
+ attr_accessor :custom_id
62
+
63
+ # Indicates whether the subscription has overridden any plan attributes.
64
+ # @return [TrueClass | FalseClass]
65
+ attr_accessor :plan_overridden
66
+
67
+ # The plan details.
68
+ # @return [PlanDetails]
69
+ attr_accessor :plan
70
+
71
+ # An array of request-related [HATEOAS
72
+ # links](/docs/api/reference/api-responses/#hateoas-links).
73
+ # @return [Array[LinkDescription]]
74
+ attr_accessor :links
75
+
76
+ # A mapping from model property names to API property names.
77
+ def self.names
78
+ @_hash = {} if @_hash.nil?
79
+ @_hash['id'] = 'id'
80
+ @_hash['plan_id'] = 'plan_id'
81
+ @_hash['start_time'] = 'start_time'
82
+ @_hash['quantity'] = 'quantity'
83
+ @_hash['shipping_amount'] = 'shipping_amount'
84
+ @_hash['subscriber'] = 'subscriber'
85
+ @_hash['billing_info'] = 'billing_info'
86
+ @_hash['create_time'] = 'create_time'
87
+ @_hash['update_time'] = 'update_time'
88
+ @_hash['custom_id'] = 'custom_id'
89
+ @_hash['plan_overridden'] = 'plan_overridden'
90
+ @_hash['plan'] = 'plan'
91
+ @_hash['links'] = 'links'
92
+ @_hash
93
+ end
94
+
95
+ # An array for optional fields
96
+ def self.optionals
97
+ %w[
98
+ id
99
+ plan_id
100
+ start_time
101
+ quantity
102
+ shipping_amount
103
+ subscriber
104
+ billing_info
105
+ create_time
106
+ update_time
107
+ custom_id
108
+ plan_overridden
109
+ plan
110
+ links
111
+ ]
112
+ end
113
+
114
+ # An array for nullable fields
115
+ def self.nullables
116
+ []
117
+ end
118
+
119
+ def initialize(id: SKIP, plan_id: SKIP, start_time: SKIP, quantity: SKIP,
120
+ shipping_amount: SKIP, subscriber: SKIP, billing_info: SKIP,
121
+ create_time: SKIP, update_time: SKIP, custom_id: SKIP,
122
+ plan_overridden: SKIP, plan: SKIP, links: SKIP)
123
+ @id = id unless id == SKIP
124
+ @plan_id = plan_id unless plan_id == SKIP
125
+ @start_time = start_time unless start_time == SKIP
126
+ @quantity = quantity unless quantity == SKIP
127
+ @shipping_amount = shipping_amount unless shipping_amount == SKIP
128
+ @subscriber = subscriber unless subscriber == SKIP
129
+ @billing_info = billing_info unless billing_info == SKIP
130
+ @create_time = create_time unless create_time == SKIP
131
+ @update_time = update_time unless update_time == SKIP
132
+ @custom_id = custom_id unless custom_id == SKIP
133
+ @plan_overridden = plan_overridden unless plan_overridden == SKIP
134
+ @plan = plan unless plan == SKIP
135
+ @links = links unless links == SKIP
136
+ end
137
+
138
+ # Creates an instance of the object from a hash.
139
+ def self.from_hash(hash)
140
+ return nil unless hash
141
+
142
+ # Extract variables from the hash.
143
+ id = hash.key?('id') ? hash['id'] : SKIP
144
+ plan_id = hash.key?('plan_id') ? hash['plan_id'] : SKIP
145
+ start_time = hash.key?('start_time') ? hash['start_time'] : SKIP
146
+ quantity = hash.key?('quantity') ? hash['quantity'] : SKIP
147
+ shipping_amount = Money.from_hash(hash['shipping_amount']) if hash['shipping_amount']
148
+ subscriber = Subscriber.from_hash(hash['subscriber']) if hash['subscriber']
149
+ billing_info = SubscriptionBillingInformation.from_hash(hash['billing_info']) if
150
+ hash['billing_info']
151
+ create_time = hash.key?('create_time') ? hash['create_time'] : SKIP
152
+ update_time = hash.key?('update_time') ? hash['update_time'] : SKIP
153
+ custom_id = hash.key?('custom_id') ? hash['custom_id'] : SKIP
154
+ plan_overridden =
155
+ hash.key?('plan_overridden') ? hash['plan_overridden'] : SKIP
156
+ plan = PlanDetails.from_hash(hash['plan']) if hash['plan']
157
+ # Parameter is an array, so we need to iterate through it
158
+ links = nil
159
+ unless hash['links'].nil?
160
+ links = []
161
+ hash['links'].each do |structure|
162
+ links << (LinkDescription.from_hash(structure) if structure)
163
+ end
164
+ end
165
+
166
+ links = SKIP unless hash.key?('links')
167
+
168
+ # Create object from extracted values.
169
+ Subscription.new(id: id,
170
+ plan_id: plan_id,
171
+ start_time: start_time,
172
+ quantity: quantity,
173
+ shipping_amount: shipping_amount,
174
+ subscriber: subscriber,
175
+ billing_info: billing_info,
176
+ create_time: create_time,
177
+ update_time: update_time,
178
+ custom_id: custom_id,
179
+ plan_overridden: plan_overridden,
180
+ plan: plan,
181
+ links: links)
182
+ end
183
+
184
+ # Provides a human-readable string representation of the object.
185
+ def to_s
186
+ class_name = self.class.name.split('::').last
187
+ "<#{class_name} id: #{@id}, plan_id: #{@plan_id}, start_time: #{@start_time}, quantity:"\
188
+ " #{@quantity}, shipping_amount: #{@shipping_amount}, subscriber: #{@subscriber},"\
189
+ " billing_info: #{@billing_info}, create_time: #{@create_time}, update_time:"\
190
+ " #{@update_time}, custom_id: #{@custom_id}, plan_overridden: #{@plan_overridden}, plan:"\
191
+ " #{@plan}, links: #{@links}>"
192
+ end
193
+
194
+ # Provides a debugging-friendly string with detailed object information.
195
+ def inspect
196
+ class_name = self.class.name.split('::').last
197
+ "<#{class_name} id: #{@id.inspect}, plan_id: #{@plan_id.inspect}, start_time:"\
198
+ " #{@start_time.inspect}, quantity: #{@quantity.inspect}, shipping_amount:"\
199
+ " #{@shipping_amount.inspect}, subscriber: #{@subscriber.inspect}, billing_info:"\
200
+ " #{@billing_info.inspect}, create_time: #{@create_time.inspect}, update_time:"\
201
+ " #{@update_time.inspect}, custom_id: #{@custom_id.inspect}, plan_overridden:"\
202
+ " #{@plan_overridden.inspect}, plan: #{@plan.inspect}, links: #{@links.inspect}>"
203
+ end
204
+ end
205
+ end
@@ -0,0 +1,119 @@
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 breakdown details for the amount. Includes the gross, tax, fee, and
8
+ # shipping amounts.
9
+ class SubscriptionAmountWithBreakdown < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The currency and amount for a financial transaction, such as a balance or
14
+ # payment due.
15
+ # @return [Money]
16
+ attr_accessor :gross_amount
17
+
18
+ # The currency and amount for a financial transaction, such as a balance or
19
+ # payment due.
20
+ # @return [Money]
21
+ attr_accessor :total_item_amount
22
+
23
+ # The currency and amount for a financial transaction, such as a balance or
24
+ # payment due.
25
+ # @return [Money]
26
+ attr_accessor :fee_amount
27
+
28
+ # The currency and amount for a financial transaction, such as a balance or
29
+ # payment due.
30
+ # @return [Money]
31
+ attr_accessor :shipping_amount
32
+
33
+ # The currency and amount for a financial transaction, such as a balance or
34
+ # payment due.
35
+ # @return [Money]
36
+ attr_accessor :tax_amount
37
+
38
+ # The currency and amount for a financial transaction, such as a balance or
39
+ # payment due.
40
+ # @return [Money]
41
+ attr_accessor :net_amount
42
+
43
+ # A mapping from model property names to API property names.
44
+ def self.names
45
+ @_hash = {} if @_hash.nil?
46
+ @_hash['gross_amount'] = 'gross_amount'
47
+ @_hash['total_item_amount'] = 'total_item_amount'
48
+ @_hash['fee_amount'] = 'fee_amount'
49
+ @_hash['shipping_amount'] = 'shipping_amount'
50
+ @_hash['tax_amount'] = 'tax_amount'
51
+ @_hash['net_amount'] = 'net_amount'
52
+ @_hash
53
+ end
54
+
55
+ # An array for optional fields
56
+ def self.optionals
57
+ %w[
58
+ total_item_amount
59
+ fee_amount
60
+ shipping_amount
61
+ tax_amount
62
+ net_amount
63
+ ]
64
+ end
65
+
66
+ # An array for nullable fields
67
+ def self.nullables
68
+ []
69
+ end
70
+
71
+ def initialize(gross_amount:, total_item_amount: SKIP, fee_amount: SKIP,
72
+ shipping_amount: SKIP, tax_amount: SKIP, net_amount: SKIP)
73
+ @gross_amount = gross_amount
74
+ @total_item_amount = total_item_amount unless total_item_amount == SKIP
75
+ @fee_amount = fee_amount unless fee_amount == SKIP
76
+ @shipping_amount = shipping_amount unless shipping_amount == SKIP
77
+ @tax_amount = tax_amount unless tax_amount == SKIP
78
+ @net_amount = net_amount unless net_amount == SKIP
79
+ end
80
+
81
+ # Creates an instance of the object from a hash.
82
+ def self.from_hash(hash)
83
+ return nil unless hash
84
+
85
+ # Extract variables from the hash.
86
+ gross_amount = Money.from_hash(hash['gross_amount']) if hash['gross_amount']
87
+ total_item_amount = Money.from_hash(hash['total_item_amount']) if hash['total_item_amount']
88
+ fee_amount = Money.from_hash(hash['fee_amount']) if hash['fee_amount']
89
+ shipping_amount = Money.from_hash(hash['shipping_amount']) if hash['shipping_amount']
90
+ tax_amount = Money.from_hash(hash['tax_amount']) if hash['tax_amount']
91
+ net_amount = Money.from_hash(hash['net_amount']) if hash['net_amount']
92
+
93
+ # Create object from extracted values.
94
+ SubscriptionAmountWithBreakdown.new(gross_amount: gross_amount,
95
+ total_item_amount: total_item_amount,
96
+ fee_amount: fee_amount,
97
+ shipping_amount: shipping_amount,
98
+ tax_amount: tax_amount,
99
+ net_amount: net_amount)
100
+ end
101
+
102
+ # Provides a human-readable string representation of the object.
103
+ def to_s
104
+ class_name = self.class.name.split('::').last
105
+ "<#{class_name} gross_amount: #{@gross_amount}, total_item_amount: #{@total_item_amount},"\
106
+ " fee_amount: #{@fee_amount}, shipping_amount: #{@shipping_amount}, tax_amount:"\
107
+ " #{@tax_amount}, net_amount: #{@net_amount}>"
108
+ end
109
+
110
+ # Provides a debugging-friendly string with detailed object information.
111
+ def inspect
112
+ class_name = self.class.name.split('::').last
113
+ "<#{class_name} gross_amount: #{@gross_amount.inspect}, total_item_amount:"\
114
+ " #{@total_item_amount.inspect}, fee_amount: #{@fee_amount.inspect}, shipping_amount:"\
115
+ " #{@shipping_amount.inspect}, tax_amount: #{@tax_amount.inspect}, net_amount:"\
116
+ " #{@net_amount.inspect}>"
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,134 @@
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 application context, which customizes the payer experience during the
8
+ # subscription approval process with PayPal.
9
+ class SubscriptionApplicationContext < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The label that overrides the business name in the PayPal account on the
14
+ # PayPal site.
15
+ # @return [String]
16
+ attr_accessor :brand_name
17
+
18
+ # The BCP 47-formatted locale of pages that the PayPal payment experience
19
+ # shows. PayPal supports a five-character code. For example, `da-DK`,
20
+ # `he-IL`, `id-ID`, `ja-JP`, `no-NO`, `pt-BR`, `ru-RU`, `sv-SE`, `th-TH`,
21
+ # `zh-CN`, `zh-HK`, or `zh-TW`.
22
+ # @return [String]
23
+ attr_accessor :locale
24
+
25
+ # The location from which the shipping address is derived.
26
+ # @return [ExperienceContextShippingPreference]
27
+ attr_accessor :shipping_preference
28
+
29
+ # Configures the label name to `Continue` or `Subscribe Now` for
30
+ # subscription consent experience.
31
+ # @return [ApplicationContextUserAction]
32
+ attr_accessor :user_action
33
+
34
+ # The customer and merchant payment preferences.
35
+ # @return [PaymentMethod]
36
+ attr_accessor :payment_method
37
+
38
+ # The URL where the customer is redirected after the customer approves the
39
+ # payment.
40
+ # @return [String]
41
+ attr_accessor :return_url
42
+
43
+ # The URL where the customer is redirected after the customer cancels the
44
+ # payment.
45
+ # @return [String]
46
+ attr_accessor :cancel_url
47
+
48
+ # A mapping from model property names to API property names.
49
+ def self.names
50
+ @_hash = {} if @_hash.nil?
51
+ @_hash['brand_name'] = 'brand_name'
52
+ @_hash['locale'] = 'locale'
53
+ @_hash['shipping_preference'] = 'shipping_preference'
54
+ @_hash['user_action'] = 'user_action'
55
+ @_hash['payment_method'] = 'payment_method'
56
+ @_hash['return_url'] = 'return_url'
57
+ @_hash['cancel_url'] = 'cancel_url'
58
+ @_hash
59
+ end
60
+
61
+ # An array for optional fields
62
+ def self.optionals
63
+ %w[
64
+ brand_name
65
+ locale
66
+ shipping_preference
67
+ user_action
68
+ payment_method
69
+ ]
70
+ end
71
+
72
+ # An array for nullable fields
73
+ def self.nullables
74
+ []
75
+ end
76
+
77
+ def initialize(
78
+ return_url:, cancel_url:, brand_name: SKIP, locale: SKIP,
79
+ shipping_preference: ExperienceContextShippingPreference::GET_FROM_FILE,
80
+ user_action: ApplicationContextUserAction::SUBSCRIBE_NOW,
81
+ payment_method: SKIP
82
+ )
83
+ @brand_name = brand_name unless brand_name == SKIP
84
+ @locale = locale unless locale == SKIP
85
+ @shipping_preference = shipping_preference unless shipping_preference == SKIP
86
+ @user_action = user_action unless user_action == SKIP
87
+ @payment_method = payment_method unless payment_method == SKIP
88
+ @return_url = return_url
89
+ @cancel_url = cancel_url
90
+ end
91
+
92
+ # Creates an instance of the object from a hash.
93
+ def self.from_hash(hash)
94
+ return nil unless hash
95
+
96
+ # Extract variables from the hash.
97
+ return_url = hash.key?('return_url') ? hash['return_url'] : nil
98
+ cancel_url = hash.key?('cancel_url') ? hash['cancel_url'] : nil
99
+ brand_name = hash.key?('brand_name') ? hash['brand_name'] : SKIP
100
+ locale = hash.key?('locale') ? hash['locale'] : SKIP
101
+ shipping_preference =
102
+ hash['shipping_preference'] ||= ExperienceContextShippingPreference::GET_FROM_FILE
103
+ user_action =
104
+ hash['user_action'] ||= ApplicationContextUserAction::SUBSCRIBE_NOW
105
+ payment_method = PaymentMethod.from_hash(hash['payment_method']) if hash['payment_method']
106
+
107
+ # Create object from extracted values.
108
+ SubscriptionApplicationContext.new(return_url: return_url,
109
+ cancel_url: cancel_url,
110
+ brand_name: brand_name,
111
+ locale: locale,
112
+ shipping_preference: shipping_preference,
113
+ user_action: user_action,
114
+ payment_method: payment_method)
115
+ end
116
+
117
+ # Provides a human-readable string representation of the object.
118
+ def to_s
119
+ class_name = self.class.name.split('::').last
120
+ "<#{class_name} brand_name: #{@brand_name}, locale: #{@locale}, shipping_preference:"\
121
+ " #{@shipping_preference}, user_action: #{@user_action}, payment_method: #{@payment_method},"\
122
+ " return_url: #{@return_url}, cancel_url: #{@cancel_url}>"
123
+ end
124
+
125
+ # Provides a debugging-friendly string with detailed object information.
126
+ def inspect
127
+ class_name = self.class.name.split('::').last
128
+ "<#{class_name} brand_name: #{@brand_name.inspect}, locale: #{@locale.inspect},"\
129
+ " shipping_preference: #{@shipping_preference.inspect}, user_action:"\
130
+ " #{@user_action.inspect}, payment_method: #{@payment_method.inspect}, return_url:"\
131
+ " #{@return_url.inspect}, cancel_url: #{@cancel_url.inspect}>"
132
+ end
133
+ end
134
+ end