paypal-server-sdk 1.1.0 → 2.1.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 (403) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +82 -23
  3. data/bin/console +15 -0
  4. data/lib/paypal_server_sdk/api_helper.rb +2 -2
  5. data/lib/paypal_server_sdk/client.rb +27 -3
  6. data/lib/paypal_server_sdk/configuration.rb +76 -8
  7. data/lib/paypal_server_sdk/controllers/base_controller.rb +4 -10
  8. data/lib/paypal_server_sdk/controllers/o_auth_authorization_controller.rb +4 -4
  9. data/lib/paypal_server_sdk/controllers/orders_controller.rb +211 -211
  10. data/lib/paypal_server_sdk/controllers/payments_controller.rb +110 -103
  11. data/lib/paypal_server_sdk/controllers/subscriptions_controller.rb +843 -0
  12. data/lib/paypal_server_sdk/controllers/transaction_search_controller.rb +178 -0
  13. data/lib/paypal_server_sdk/controllers/vault_controller.rb +95 -95
  14. data/lib/paypal_server_sdk/exceptions/api_exception.rb +2 -2
  15. data/lib/paypal_server_sdk/exceptions/default_error_exception.rb +95 -0
  16. data/lib/paypal_server_sdk/exceptions/error_exception.rb +2 -2
  17. data/lib/paypal_server_sdk/exceptions/o_auth_provider_exception.rb +2 -2
  18. data/lib/paypal_server_sdk/exceptions/search_error_exception.rb +107 -0
  19. data/lib/paypal_server_sdk/exceptions/subscription_error_exception.rb +95 -0
  20. data/lib/paypal_server_sdk/http/api_response.rb +6 -8
  21. data/lib/paypal_server_sdk/http/auth/o_auth2.rb +18 -3
  22. data/lib/paypal_server_sdk/http/http_call_back.rb +2 -2
  23. data/lib/paypal_server_sdk/http/http_method_enum.rb +2 -2
  24. data/lib/paypal_server_sdk/http/http_request.rb +2 -2
  25. data/lib/paypal_server_sdk/http/http_response.rb +2 -2
  26. data/lib/paypal_server_sdk/http/proxy_settings.rb +22 -0
  27. data/lib/paypal_server_sdk/logging/configuration/api_logging_configuration.rb +183 -111
  28. data/lib/paypal_server_sdk/logging/sdk_logger.rb +2 -2
  29. data/lib/paypal_server_sdk/models/activate_subscription_request.rb +63 -0
  30. data/lib/paypal_server_sdk/models/activity_timestamps.rb +2 -2
  31. data/lib/paypal_server_sdk/models/address.rb +2 -2
  32. data/lib/paypal_server_sdk/models/amount_breakdown.rb +4 -4
  33. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +2 -2
  34. data/lib/paypal_server_sdk/models/app_switch_context.rb +74 -0
  35. data/lib/paypal_server_sdk/models/apple_pay_attributes.rb +2 -2
  36. data/lib/paypal_server_sdk/models/apple_pay_attributes_response.rb +2 -2
  37. data/lib/paypal_server_sdk/models/apple_pay_card.rb +2 -2
  38. data/lib/paypal_server_sdk/models/apple_pay_card_response.rb +2 -2
  39. data/lib/paypal_server_sdk/models/apple_pay_decrypted_token_data.rb +2 -2
  40. data/lib/paypal_server_sdk/models/apple_pay_experience_context.rb +2 -2
  41. data/lib/paypal_server_sdk/models/apple_pay_payment_data.rb +2 -2
  42. data/lib/paypal_server_sdk/models/apple_pay_payment_data_type.rb +15 -2
  43. data/lib/paypal_server_sdk/models/apple_pay_payment_object.rb +2 -2
  44. data/lib/paypal_server_sdk/models/apple_pay_payment_token.rb +2 -2
  45. data/lib/paypal_server_sdk/models/apple_pay_request.rb +2 -2
  46. data/lib/paypal_server_sdk/models/apple_pay_request_card.rb +88 -0
  47. data/lib/paypal_server_sdk/models/apple_pay_tokenized_card.rb +3 -4
  48. data/lib/paypal_server_sdk/models/application_context_user_action.rb +42 -0
  49. data/lib/paypal_server_sdk/models/assurance_details.rb +2 -2
  50. data/lib/paypal_server_sdk/models/auction_information.rb +100 -0
  51. data/lib/paypal_server_sdk/models/authentication_response.rb +2 -2
  52. data/lib/paypal_server_sdk/models/authorization.rb +4 -4
  53. data/lib/paypal_server_sdk/models/authorization_incomplete_reason.rb +15 -2
  54. data/lib/paypal_server_sdk/models/authorization_status.rb +19 -2
  55. data/lib/paypal_server_sdk/models/authorization_status_details.rb +2 -2
  56. data/lib/paypal_server_sdk/models/authorization_status_with_details.rb +2 -2
  57. data/lib/paypal_server_sdk/models/authorization_with_additional_data.rb +4 -4
  58. data/lib/paypal_server_sdk/models/avs_code.rb +37 -2
  59. data/lib/paypal_server_sdk/models/balance_information.rb +106 -0
  60. data/lib/paypal_server_sdk/models/balances_response.rb +111 -0
  61. data/lib/paypal_server_sdk/models/bancontact_payment_object.rb +2 -2
  62. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +2 -2
  63. data/lib/paypal_server_sdk/models/bank_request.rb +71 -0
  64. data/lib/paypal_server_sdk/models/base_model.rb +2 -2
  65. data/lib/paypal_server_sdk/models/billing_cycle.rb +7 -18
  66. data/lib/paypal_server_sdk/models/billing_cycle_override.rb +91 -0
  67. data/lib/paypal_server_sdk/models/billing_plan.rb +212 -0
  68. data/lib/paypal_server_sdk/models/bin_details.rb +2 -2
  69. data/lib/paypal_server_sdk/models/blik_experience_context.rb +10 -8
  70. data/lib/paypal_server_sdk/models/blik_level0_payment_object.rb +2 -2
  71. data/lib/paypal_server_sdk/models/blik_one_click_payment_object.rb +2 -2
  72. data/lib/paypal_server_sdk/models/blik_one_click_payment_request.rb +2 -2
  73. data/lib/paypal_server_sdk/models/blik_payment_object.rb +2 -2
  74. data/lib/paypal_server_sdk/models/blik_payment_request.rb +2 -2
  75. data/lib/paypal_server_sdk/models/callback_configuration.rb +2 -2
  76. data/lib/paypal_server_sdk/models/callback_events.rb +15 -2
  77. data/lib/paypal_server_sdk/models/cancel_subscription_request.rb +60 -0
  78. data/lib/paypal_server_sdk/models/capture_incomplete_reason.rb +25 -2
  79. data/lib/paypal_server_sdk/models/capture_payment_instruction.rb +2 -2
  80. data/lib/paypal_server_sdk/models/capture_request.rb +33 -32
  81. data/lib/paypal_server_sdk/models/capture_status.rb +19 -2
  82. data/lib/paypal_server_sdk/models/capture_status_details.rb +2 -2
  83. data/lib/paypal_server_sdk/models/capture_status_with_details.rb +2 -2
  84. data/lib/paypal_server_sdk/models/capture_subscription_request.rb +78 -0
  85. data/lib/paypal_server_sdk/models/capture_type.rb +26 -0
  86. data/lib/paypal_server_sdk/models/captured_payment.rb +6 -6
  87. data/lib/paypal_server_sdk/models/card_attributes.rb +2 -2
  88. data/lib/paypal_server_sdk/models/card_attributes_response.rb +2 -2
  89. data/lib/paypal_server_sdk/models/card_authentication_response.rb +2 -2
  90. data/lib/paypal_server_sdk/models/card_brand.rb +58 -2
  91. data/lib/paypal_server_sdk/models/card_customer.rb +98 -0
  92. data/lib/paypal_server_sdk/models/card_customer_information.rb +2 -2
  93. data/lib/paypal_server_sdk/models/card_experience_context.rb +2 -2
  94. data/lib/paypal_server_sdk/models/card_from_request.rb +2 -2
  95. data/lib/paypal_server_sdk/models/card_payment_token_entity.rb +2 -2
  96. data/lib/paypal_server_sdk/models/card_request.rb +2 -2
  97. data/lib/paypal_server_sdk/models/card_response.rb +2 -2
  98. data/lib/paypal_server_sdk/models/card_response_address.rb +2 -2
  99. data/lib/paypal_server_sdk/models/card_response_with_billing_address.rb +100 -0
  100. data/lib/paypal_server_sdk/models/card_stored_credential.rb +4 -4
  101. data/lib/paypal_server_sdk/models/card_supplementary_data.rb +2 -2
  102. data/lib/paypal_server_sdk/models/card_type.rb +18 -2
  103. data/lib/paypal_server_sdk/models/card_vault_response.rb +2 -2
  104. data/lib/paypal_server_sdk/models/card_verification.rb +2 -2
  105. data/lib/paypal_server_sdk/models/card_verification_details.rb +8 -8
  106. data/lib/paypal_server_sdk/models/card_verification_processor_response.rb +2 -2
  107. data/lib/paypal_server_sdk/models/card_verification_status.rb +15 -2
  108. data/lib/paypal_server_sdk/models/cart_information.rb +94 -0
  109. data/lib/paypal_server_sdk/models/checkout_option.rb +77 -0
  110. data/lib/paypal_server_sdk/models/checkout_payment_intent.rb +15 -2
  111. data/lib/paypal_server_sdk/models/cobranded_card.rb +2 -2
  112. data/lib/paypal_server_sdk/models/confirm_order_request.rb +2 -2
  113. data/lib/paypal_server_sdk/models/create_subscription_request.rb +151 -0
  114. data/lib/paypal_server_sdk/models/customer.rb +2 -2
  115. data/lib/paypal_server_sdk/models/customer_information.rb +2 -2
  116. data/lib/paypal_server_sdk/models/customer_response.rb +2 -2
  117. data/lib/paypal_server_sdk/models/customer_vault_payment_tokens_response.rb +2 -2
  118. data/lib/paypal_server_sdk/models/cvv_code.rb +27 -2
  119. data/lib/paypal_server_sdk/models/cycle_execution.rb +124 -0
  120. data/lib/paypal_server_sdk/models/disbursement_mode.rb +15 -2
  121. data/lib/paypal_server_sdk/models/dispute_category.rb +15 -2
  122. data/lib/paypal_server_sdk/models/eci_flag.rb +19 -2
  123. data/lib/paypal_server_sdk/models/enrollment_status.rb +17 -2
  124. data/lib/paypal_server_sdk/models/eps_payment_object.rb +2 -2
  125. data/lib/paypal_server_sdk/models/eps_payment_request.rb +2 -2
  126. data/lib/paypal_server_sdk/models/error_details.rb +2 -2
  127. data/lib/paypal_server_sdk/models/exchange_rate.rb +2 -2
  128. data/lib/paypal_server_sdk/models/experience_context.rb +9 -7
  129. data/lib/paypal_server_sdk/models/experience_context_shipping_preference.rb +46 -0
  130. data/lib/paypal_server_sdk/models/experience_status.rb +48 -0
  131. data/lib/paypal_server_sdk/models/failed_payment_details.rb +98 -0
  132. data/lib/paypal_server_sdk/models/frequency.rb +75 -0
  133. data/lib/paypal_server_sdk/models/fulfillment_type.rb +17 -2
  134. data/lib/paypal_server_sdk/models/giropay_payment_object.rb +2 -2
  135. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +2 -2
  136. data/lib/paypal_server_sdk/models/google_pay_authentication_method.rb +15 -2
  137. data/lib/paypal_server_sdk/models/google_pay_card.rb +2 -2
  138. data/lib/paypal_server_sdk/models/google_pay_card_response.rb +2 -2
  139. data/lib/paypal_server_sdk/models/google_pay_decrypted_token_data.rb +2 -2
  140. data/lib/paypal_server_sdk/models/google_pay_experience_context.rb +2 -2
  141. data/lib/paypal_server_sdk/models/google_pay_payment_method.rb +8 -2
  142. data/lib/paypal_server_sdk/models/google_pay_request.rb +2 -2
  143. data/lib/paypal_server_sdk/models/google_pay_request_card.rb +2 -2
  144. data/lib/paypal_server_sdk/models/google_pay_wallet_response.rb +2 -2
  145. data/lib/paypal_server_sdk/models/ideal_payment_object.rb +2 -2
  146. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +2 -2
  147. data/lib/paypal_server_sdk/models/incentive_details.rb +99 -0
  148. data/lib/paypal_server_sdk/models/incentive_information.rb +71 -0
  149. data/lib/paypal_server_sdk/models/interval_unit.rb +44 -0
  150. data/lib/paypal_server_sdk/models/item.rb +2 -2
  151. data/lib/paypal_server_sdk/models/item_category.rb +16 -2
  152. data/lib/paypal_server_sdk/models/item_details.rb +287 -0
  153. data/lib/paypal_server_sdk/models/item_request.rb +163 -0
  154. data/lib/paypal_server_sdk/models/last_payment_details.rb +75 -0
  155. data/lib/paypal_server_sdk/models/level2_card_processing_data.rb +2 -2
  156. data/lib/paypal_server_sdk/models/level3_card_processing_data.rb +2 -2
  157. data/lib/paypal_server_sdk/models/liability_shift_indicator.rb +16 -2
  158. data/lib/paypal_server_sdk/models/line_item.rb +2 -2
  159. data/lib/paypal_server_sdk/models/link_description.rb +2 -2
  160. data/lib/paypal_server_sdk/models/link_http_method.rb +29 -10
  161. data/lib/paypal_server_sdk/models/merchant_preferences.rb +73 -0
  162. data/lib/paypal_server_sdk/models/mobile_return_flow.rb +41 -0
  163. data/lib/paypal_server_sdk/models/mobile_web_context.rb +76 -0
  164. data/lib/paypal_server_sdk/models/modify_subscription_request.rb +124 -0
  165. data/lib/paypal_server_sdk/models/modify_subscription_response.rb +141 -0
  166. data/lib/paypal_server_sdk/models/money.rb +2 -2
  167. data/lib/paypal_server_sdk/models/mybank_payment_object.rb +2 -2
  168. data/lib/paypal_server_sdk/models/mybank_payment_request.rb +2 -2
  169. data/lib/paypal_server_sdk/models/name.rb +2 -2
  170. data/lib/paypal_server_sdk/models/native_app_context.rb +72 -0
  171. data/lib/paypal_server_sdk/models/net_amount_breakdown_item.rb +2 -2
  172. data/lib/paypal_server_sdk/models/network_token.rb +2 -2
  173. data/lib/paypal_server_sdk/models/{network_transaction_reference.rb → network_transaction.rb} +14 -11
  174. data/lib/paypal_server_sdk/models/network_transaction_reference_entity.rb +2 -2
  175. data/lib/paypal_server_sdk/models/o_auth_provider_error.rb +19 -2
  176. data/lib/paypal_server_sdk/models/o_auth_token.rb +2 -2
  177. data/lib/paypal_server_sdk/models/one_time_charge.rb +2 -2
  178. data/lib/paypal_server_sdk/models/order.rb +7 -4
  179. data/lib/paypal_server_sdk/models/order_application_context.rb +26 -15
  180. data/lib/paypal_server_sdk/models/order_application_context_landing_page.rb +16 -2
  181. data/lib/paypal_server_sdk/models/order_application_context_shipping_preference.rb +17 -5
  182. data/lib/paypal_server_sdk/models/order_application_context_user_action.rb +15 -2
  183. data/lib/paypal_server_sdk/models/order_authorize_request.rb +2 -2
  184. data/lib/paypal_server_sdk/models/order_authorize_request_payment_source.rb +2 -2
  185. data/lib/paypal_server_sdk/models/order_authorize_response.rb +16 -9
  186. data/lib/paypal_server_sdk/models/order_authorize_response_payment_source.rb +2 -2
  187. data/lib/paypal_server_sdk/models/order_billing_plan.rb +2 -2
  188. data/lib/paypal_server_sdk/models/order_capture_request.rb +2 -2
  189. data/lib/paypal_server_sdk/models/order_capture_request_payment_source.rb +2 -2
  190. data/lib/paypal_server_sdk/models/order_confirm_application_context.rb +2 -2
  191. data/lib/paypal_server_sdk/models/order_request.rb +7 -4
  192. data/lib/paypal_server_sdk/models/order_status.rb +19 -2
  193. data/lib/paypal_server_sdk/models/order_tracker_item.rb +2 -2
  194. data/lib/paypal_server_sdk/models/order_tracker_request.rb +2 -2
  195. data/lib/paypal_server_sdk/models/order_tracker_response.rb +2 -2
  196. data/lib/paypal_server_sdk/models/order_tracker_status.rb +15 -2
  197. data/lib/paypal_server_sdk/models/orders_capture.rb +4 -4
  198. data/lib/paypal_server_sdk/models/orders_card_verification_method.rb +17 -2
  199. data/lib/paypal_server_sdk/models/os_type.rb +40 -0
  200. data/lib/paypal_server_sdk/models/p24_payment_object.rb +2 -2
  201. data/lib/paypal_server_sdk/models/p24_payment_request.rb +2 -2
  202. data/lib/paypal_server_sdk/models/pa_res_status.rb +21 -2
  203. data/lib/paypal_server_sdk/models/participant_metadata.rb +2 -2
  204. data/lib/paypal_server_sdk/models/patch.rb +2 -2
  205. data/lib/paypal_server_sdk/models/patch_op.rb +19 -2
  206. data/lib/paypal_server_sdk/models/payee_base.rb +2 -2
  207. data/lib/paypal_server_sdk/models/payee_payment_method_preference.rb +15 -2
  208. data/lib/paypal_server_sdk/models/payer.rb +4 -3
  209. data/lib/paypal_server_sdk/models/payer_base.rb +2 -2
  210. data/lib/paypal_server_sdk/models/payer_information.rb +146 -0
  211. data/lib/paypal_server_sdk/models/payer_name.rb +128 -0
  212. data/lib/paypal_server_sdk/models/payment_advice_code.rb +28 -2
  213. data/lib/paypal_server_sdk/models/payment_authorization.rb +4 -4
  214. data/lib/paypal_server_sdk/models/payment_collection.rb +2 -2
  215. data/lib/paypal_server_sdk/models/payment_initiator.rb +15 -2
  216. data/lib/paypal_server_sdk/models/payment_instruction.rb +2 -2
  217. data/lib/paypal_server_sdk/models/payment_method.rb +63 -0
  218. data/lib/paypal_server_sdk/models/payment_method_preference.rb +2 -2
  219. data/lib/paypal_server_sdk/models/payment_preferences.rb +105 -0
  220. data/lib/paypal_server_sdk/models/payment_preferences_override.rb +107 -0
  221. data/lib/paypal_server_sdk/models/payment_source.rb +2 -2
  222. data/lib/paypal_server_sdk/models/payment_source_response.rb +2 -2
  223. data/lib/paypal_server_sdk/models/payment_supplementary_data.rb +2 -2
  224. data/lib/paypal_server_sdk/models/payment_token_request.rb +2 -2
  225. data/lib/paypal_server_sdk/models/payment_token_request_card.rb +2 -2
  226. data/lib/paypal_server_sdk/models/payment_token_request_payment_source.rb +2 -2
  227. data/lib/paypal_server_sdk/models/payment_token_response.rb +5 -3
  228. data/lib/paypal_server_sdk/models/payment_token_response_payment_source.rb +4 -4
  229. data/lib/paypal_server_sdk/models/payment_token_status.rb +20 -4
  230. data/lib/paypal_server_sdk/models/payments_capture.rb +6 -6
  231. data/lib/paypal_server_sdk/models/paypal_experience_landing_page.rb +25 -3
  232. data/lib/paypal_server_sdk/models/paypal_experience_user_action.rb +15 -2
  233. data/lib/paypal_server_sdk/models/paypal_payment_token.rb +8 -7
  234. data/lib/paypal_server_sdk/models/paypal_payment_token_customer_type.rb +15 -2
  235. data/lib/paypal_server_sdk/models/paypal_payment_token_usage_type.rb +15 -2
  236. data/lib/paypal_server_sdk/models/paypal_reference_id_type.rb +44 -0
  237. data/lib/paypal_server_sdk/models/paypal_wallet.rb +2 -2
  238. data/lib/paypal_server_sdk/models/paypal_wallet_account_verification_status.rb +15 -2
  239. data/lib/paypal_server_sdk/models/paypal_wallet_attributes.rb +4 -3
  240. data/lib/paypal_server_sdk/models/paypal_wallet_attributes_response.rb +2 -2
  241. data/lib/paypal_server_sdk/models/paypal_wallet_contact_preference.rb +16 -2
  242. data/lib/paypal_server_sdk/models/paypal_wallet_context_shipping_preference.rb +16 -2
  243. data/lib/paypal_server_sdk/models/paypal_wallet_customer.rb +2 -2
  244. data/lib/paypal_server_sdk/models/paypal_wallet_customer_request.rb +2 -2
  245. data/lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb +22 -9
  246. data/lib/paypal_server_sdk/models/paypal_wallet_response.rb +21 -6
  247. data/lib/paypal_server_sdk/models/paypal_wallet_stored_credential.rb +4 -3
  248. data/lib/paypal_server_sdk/models/paypal_wallet_vault_instruction.rb +12 -22
  249. data/lib/paypal_server_sdk/models/paypal_wallet_vault_response.rb +2 -2
  250. data/lib/paypal_server_sdk/models/paypal_wallet_vault_status.rb +16 -2
  251. data/lib/paypal_server_sdk/models/phone.rb +2 -2
  252. data/lib/paypal_server_sdk/models/phone_number.rb +4 -2
  253. data/lib/paypal_server_sdk/models/phone_number_with_country_code.rb +4 -2
  254. data/lib/paypal_server_sdk/models/phone_number_with_optional_country_code.rb +81 -0
  255. data/lib/paypal_server_sdk/models/phone_type.rb +23 -7
  256. data/lib/paypal_server_sdk/models/phone_with_type.rb +2 -2
  257. data/lib/paypal_server_sdk/models/plan.rb +7 -17
  258. data/lib/paypal_server_sdk/models/plan_collection.rb +111 -0
  259. data/lib/paypal_server_sdk/models/plan_details.rb +147 -0
  260. data/lib/paypal_server_sdk/models/plan_override.rb +96 -0
  261. data/lib/paypal_server_sdk/models/plan_request.rb +154 -0
  262. data/lib/paypal_server_sdk/models/plan_request_status.rb +42 -0
  263. data/lib/paypal_server_sdk/models/platform_fee.rb +2 -2
  264. data/lib/paypal_server_sdk/models/pricing_model.rb +16 -2
  265. data/lib/paypal_server_sdk/models/pricing_scheme.rb +2 -2
  266. data/lib/paypal_server_sdk/models/pricing_tier.rb +83 -0
  267. data/lib/paypal_server_sdk/models/processor_response.rb +2 -2
  268. data/lib/paypal_server_sdk/models/processor_response_code.rb +167 -2
  269. data/lib/paypal_server_sdk/models/purchase_unit.rb +2 -2
  270. data/lib/paypal_server_sdk/models/purchase_unit_request.rb +24 -14
  271. data/lib/paypal_server_sdk/models/reason_code.rb +60 -0
  272. data/lib/paypal_server_sdk/models/reauthorize_request.rb +2 -3
  273. data/lib/paypal_server_sdk/models/refund.rb +2 -2
  274. data/lib/paypal_server_sdk/models/refund_incomplete_reason.rb +8 -2
  275. data/lib/paypal_server_sdk/models/refund_payment_instruction.rb +2 -2
  276. data/lib/paypal_server_sdk/models/refund_platform_fee.rb +2 -2
  277. data/lib/paypal_server_sdk/models/refund_request.rb +2 -2
  278. data/lib/paypal_server_sdk/models/refund_status.rb +17 -2
  279. data/lib/paypal_server_sdk/models/refund_status_details.rb +2 -2
  280. data/lib/paypal_server_sdk/models/refund_status_with_details.rb +2 -2
  281. data/lib/paypal_server_sdk/models/related_identifiers.rb +2 -2
  282. data/lib/paypal_server_sdk/models/return_flow.rb +41 -0
  283. data/lib/paypal_server_sdk/models/risk_supplementary_data.rb +2 -2
  284. data/lib/paypal_server_sdk/models/search_response.rb +176 -0
  285. data/lib/paypal_server_sdk/models/seller_payable_breakdown.rb +2 -2
  286. data/lib/paypal_server_sdk/models/seller_protection.rb +2 -2
  287. data/lib/paypal_server_sdk/models/seller_protection_status.rb +16 -2
  288. data/lib/paypal_server_sdk/models/seller_receivable_breakdown.rb +2 -2
  289. data/lib/paypal_server_sdk/models/sepa_debit_experience_context.rb +88 -0
  290. data/lib/paypal_server_sdk/models/sepa_debit_request.rb +64 -0
  291. data/lib/paypal_server_sdk/models/setup_fee_failure_action.rb +37 -0
  292. data/lib/paypal_server_sdk/models/setup_token_request.rb +2 -2
  293. data/lib/paypal_server_sdk/models/setup_token_request_card.rb +5 -5
  294. data/lib/paypal_server_sdk/models/setup_token_request_payment_source.rb +28 -7
  295. data/lib/paypal_server_sdk/models/setup_token_response.rb +5 -3
  296. data/lib/paypal_server_sdk/models/setup_token_response_card.rb +2 -2
  297. data/lib/paypal_server_sdk/models/setup_token_response_payment_source.rb +4 -4
  298. data/lib/paypal_server_sdk/models/shipment_carrier.rb +1538 -3
  299. data/lib/paypal_server_sdk/models/shipping_details.rb +2 -2
  300. data/lib/paypal_server_sdk/models/shipping_information.rb +101 -0
  301. data/lib/paypal_server_sdk/models/shipping_name.rb +2 -2
  302. data/lib/paypal_server_sdk/models/shipping_option.rb +2 -2
  303. data/lib/paypal_server_sdk/models/shipping_type.rb +17 -2
  304. data/lib/paypal_server_sdk/models/shipping_with_tracking_details.rb +33 -33
  305. data/lib/paypal_server_sdk/models/simple_postal_address_coarse_grained.rb +130 -0
  306. data/lib/paypal_server_sdk/models/sofort_payment_object.rb +2 -2
  307. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +2 -2
  308. data/lib/paypal_server_sdk/models/standard_entry_class_code.rb +17 -2
  309. data/lib/paypal_server_sdk/models/store_in_vault_instruction.rb +8 -2
  310. data/lib/paypal_server_sdk/models/store_information.rb +71 -0
  311. data/lib/paypal_server_sdk/models/stored_payment_source.rb +4 -4
  312. data/lib/paypal_server_sdk/models/stored_payment_source_payment_type.rb +16 -2
  313. data/lib/paypal_server_sdk/models/stored_payment_source_usage_type.rb +16 -2
  314. data/lib/paypal_server_sdk/models/subscriber.rb +84 -0
  315. data/lib/paypal_server_sdk/models/subscriber_request.rb +97 -0
  316. data/lib/paypal_server_sdk/models/subscription.rb +205 -0
  317. data/lib/paypal_server_sdk/models/subscription_amount_with_breakdown.rb +119 -0
  318. data/lib/paypal_server_sdk/models/subscription_application_context.rb +134 -0
  319. data/lib/paypal_server_sdk/models/subscription_billing_cycle.rb +108 -0
  320. data/lib/paypal_server_sdk/models/subscription_billing_information.rb +148 -0
  321. data/lib/paypal_server_sdk/models/subscription_card_request.rb +141 -0
  322. data/lib/paypal_server_sdk/models/subscription_collection.rb +90 -0
  323. data/lib/paypal_server_sdk/models/subscription_customer_information.rb +84 -0
  324. data/lib/paypal_server_sdk/models/subscription_patch_application_context.rb +122 -0
  325. data/lib/paypal_server_sdk/models/subscription_payer_name.rb +114 -0
  326. data/lib/paypal_server_sdk/models/subscription_payment_source.rb +65 -0
  327. data/lib/paypal_server_sdk/models/subscription_payment_source_response.rb +63 -0
  328. data/lib/paypal_server_sdk/models/subscription_plan_status.rb +42 -0
  329. data/lib/paypal_server_sdk/models/subscription_pricing_model.rb +36 -0
  330. data/lib/paypal_server_sdk/models/subscription_pricing_scheme.rb +129 -0
  331. data/lib/paypal_server_sdk/models/subscription_transaction_details.rb +118 -0
  332. data/lib/paypal_server_sdk/models/subscriptions_card_attributes.rb +83 -0
  333. data/lib/paypal_server_sdk/models/subscriptions_card_brand.rb +133 -0
  334. data/lib/paypal_server_sdk/models/supplementary_data.rb +2 -2
  335. data/lib/paypal_server_sdk/models/suspend_subscription.rb +60 -0
  336. data/lib/paypal_server_sdk/models/tax_amount.rb +63 -0
  337. data/lib/paypal_server_sdk/models/tax_id_type.rb +15 -2
  338. data/lib/paypal_server_sdk/models/tax_info.rb +2 -2
  339. data/lib/paypal_server_sdk/models/taxes.rb +71 -0
  340. data/lib/paypal_server_sdk/models/taxes_override.rb +72 -0
  341. data/lib/paypal_server_sdk/models/tenure_type.rb +18 -3
  342. data/lib/paypal_server_sdk/models/three_d_secure_authentication_response.rb +2 -2
  343. data/lib/paypal_server_sdk/models/three_d_secure_card_authentication_response.rb +2 -2
  344. data/lib/paypal_server_sdk/models/token.rb +2 -2
  345. data/lib/paypal_server_sdk/models/token_type.rb +8 -2
  346. data/lib/paypal_server_sdk/models/transaction_details.rb +126 -0
  347. data/lib/paypal_server_sdk/models/transaction_information.rb +494 -0
  348. data/lib/paypal_server_sdk/models/{order_update_callback_error_response_details.rb → transaction_search_error_details.rb} +32 -10
  349. data/lib/paypal_server_sdk/models/transactions_list.rb +111 -0
  350. data/lib/paypal_server_sdk/models/trustly_payment_object.rb +2 -2
  351. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +2 -2
  352. data/lib/paypal_server_sdk/models/universal_product_code.rb +2 -2
  353. data/lib/paypal_server_sdk/models/upc_type.rb +20 -2
  354. data/lib/paypal_server_sdk/models/update_pricing_scheme.rb +72 -0
  355. data/lib/paypal_server_sdk/models/update_pricing_schemes_request.rb +69 -0
  356. data/lib/paypal_server_sdk/models/usage_pattern.rb +25 -2
  357. data/lib/paypal_server_sdk/models/vault_apple_pay_request.rb +73 -0
  358. data/lib/paypal_server_sdk/models/{setup_token_card_experience_context.rb → vault_card_experience_context.rb} +27 -18
  359. data/lib/paypal_server_sdk/models/vault_card_verification_method.rb +15 -2
  360. data/lib/paypal_server_sdk/models/vault_customer.rb +2 -2
  361. data/lib/paypal_server_sdk/models/vault_experience_context.rb +35 -12
  362. data/lib/paypal_server_sdk/models/vault_instruction.rb +2 -2
  363. data/lib/paypal_server_sdk/models/vault_instruction_action.rb +15 -2
  364. data/lib/paypal_server_sdk/models/vault_instruction_base.rb +2 -2
  365. data/lib/paypal_server_sdk/models/vault_paypal_wallet_request.rb +3 -3
  366. data/lib/paypal_server_sdk/models/vault_response.rb +2 -2
  367. data/lib/paypal_server_sdk/models/vault_response_customer.rb +2 -2
  368. data/lib/paypal_server_sdk/models/vault_status.rb +16 -2
  369. data/lib/paypal_server_sdk/models/vault_token_request.rb +2 -2
  370. data/lib/paypal_server_sdk/models/vault_token_request_type.rb +8 -2
  371. data/lib/paypal_server_sdk/models/vault_user_action.rb +42 -0
  372. data/lib/paypal_server_sdk/models/vault_venmo_request.rb +6 -6
  373. data/lib/paypal_server_sdk/models/vaulted_digital_wallet.rb +2 -2
  374. data/lib/paypal_server_sdk/models/vaulted_digital_wallet_shipping_details.rb +21 -7
  375. data/lib/paypal_server_sdk/models/{vault_venmo_experience_context.rb → venmo_experience_context.rb} +26 -16
  376. data/lib/paypal_server_sdk/models/venmo_payment_token.rb +8 -7
  377. data/lib/paypal_server_sdk/models/venmo_payment_token_customer_type.rb +15 -2
  378. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_pattern.rb +19 -2
  379. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_type.rb +15 -2
  380. data/lib/paypal_server_sdk/models/venmo_vault_response.rb +100 -0
  381. data/lib/paypal_server_sdk/models/venmo_vault_response_status.rb +45 -0
  382. data/lib/paypal_server_sdk/models/venmo_wallet_additional_attributes.rb +2 -2
  383. data/lib/paypal_server_sdk/models/venmo_wallet_attributes_response.rb +5 -5
  384. data/lib/paypal_server_sdk/models/venmo_wallet_customer_information.rb +2 -2
  385. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context.rb +24 -10
  386. data/lib/paypal_server_sdk/models/{shipping_preference.rb → venmo_wallet_experience_context_shipping_preference.rb} +18 -4
  387. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context_user_action.rb +42 -0
  388. data/lib/paypal_server_sdk/models/venmo_wallet_request.rb +2 -2
  389. data/lib/paypal_server_sdk/models/venmo_wallet_response.rb +16 -6
  390. data/lib/paypal_server_sdk/models/venmo_wallet_vault_attributes.rb +2 -2
  391. data/lib/paypal_server_sdk/utilities/date_time_helper.rb +2 -2
  392. data/lib/paypal_server_sdk/utilities/file_wrapper.rb +2 -2
  393. data/lib/paypal_server_sdk.rb +252 -160
  394. metadata +112 -22
  395. data/lib/paypal_server_sdk/models/order_update_callback_error_response.rb +0 -89
  396. data/lib/paypal_server_sdk/models/order_update_callback_request.rb +0 -111
  397. data/lib/paypal_server_sdk/models/order_update_callback_response.rb +0 -72
  398. data/lib/paypal_server_sdk/models/order_update_callback_shipping_address.rb +0 -107
  399. data/lib/paypal_server_sdk/models/order_update_callback_shipping_option.rb +0 -93
  400. data/lib/paypal_server_sdk/models/payments_payment_advice_code.rb +0 -42
  401. data/lib/paypal_server_sdk/models/payments_processor_response.rb +0 -98
  402. data/lib/paypal_server_sdk/models/shipping_options_purchase_unit.rb +0 -121
  403. 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
  # Verification status of Card.
@@ -19,5 +19,18 @@ module PaypalServerSdk
19
19
 
20
20
  true
21
21
  end
22
+
23
+ def self.from_value(value, default_value = VERIFIED)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'verified' then VERIFIED
30
+ when 'failed' then FAILED
31
+ else
32
+ default_value
33
+ end
34
+ end
22
35
  end
23
36
  end
@@ -0,0 +1,94 @@
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 cart information.
8
+ class CartInformation < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # An array of item details.
13
+ # @return [Array[ItemDetails]]
14
+ attr_accessor :item_details
15
+
16
+ # Indicates whether the item amount or the shipping amount already includes
17
+ # tax.
18
+ # @return [TrueClass | FalseClass]
19
+ attr_accessor :tax_inclusive
20
+
21
+ # The ID of the invoice. Appears for only PayPal-generated invoices.
22
+ # @return [String]
23
+ attr_accessor :paypal_invoice_id
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['item_details'] = 'item_details'
29
+ @_hash['tax_inclusive'] = 'tax_inclusive'
30
+ @_hash['paypal_invoice_id'] = 'paypal_invoice_id'
31
+ @_hash
32
+ end
33
+
34
+ # An array for optional fields
35
+ def self.optionals
36
+ %w[
37
+ item_details
38
+ tax_inclusive
39
+ paypal_invoice_id
40
+ ]
41
+ end
42
+
43
+ # An array for nullable fields
44
+ def self.nullables
45
+ []
46
+ end
47
+
48
+ def initialize(item_details: SKIP, tax_inclusive: false,
49
+ paypal_invoice_id: SKIP)
50
+ @item_details = item_details unless item_details == SKIP
51
+ @tax_inclusive = tax_inclusive unless tax_inclusive == SKIP
52
+ @paypal_invoice_id = paypal_invoice_id unless paypal_invoice_id == SKIP
53
+ end
54
+
55
+ # Creates an instance of the object from a hash.
56
+ def self.from_hash(hash)
57
+ return nil unless hash
58
+
59
+ # Extract variables from the hash.
60
+ # Parameter is an array, so we need to iterate through it
61
+ item_details = nil
62
+ unless hash['item_details'].nil?
63
+ item_details = []
64
+ hash['item_details'].each do |structure|
65
+ item_details << (ItemDetails.from_hash(structure) if structure)
66
+ end
67
+ end
68
+
69
+ item_details = SKIP unless hash.key?('item_details')
70
+ tax_inclusive = hash['tax_inclusive'] ||= false
71
+ paypal_invoice_id =
72
+ hash.key?('paypal_invoice_id') ? hash['paypal_invoice_id'] : SKIP
73
+
74
+ # Create object from extracted values.
75
+ CartInformation.new(item_details: item_details,
76
+ tax_inclusive: tax_inclusive,
77
+ paypal_invoice_id: paypal_invoice_id)
78
+ end
79
+
80
+ # Provides a human-readable string representation of the object.
81
+ def to_s
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} item_details: #{@item_details}, tax_inclusive: #{@tax_inclusive},"\
84
+ " paypal_invoice_id: #{@paypal_invoice_id}>"
85
+ end
86
+
87
+ # Provides a debugging-friendly string with detailed object information.
88
+ def inspect
89
+ class_name = self.class.name.split('::').last
90
+ "<#{class_name} item_details: #{@item_details.inspect}, tax_inclusive:"\
91
+ " #{@tax_inclusive.inspect}, paypal_invoice_id: #{@paypal_invoice_id.inspect}>"
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,77 @@
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
+ # A checkout option as a name-and-value pair.
8
+ class CheckoutOption < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The checkout option name, such as `color` or `texture`.
13
+ # @return [String]
14
+ attr_accessor :checkout_option_name
15
+
16
+ # The checkout option value. For example, the checkout option `color` might
17
+ # be `blue` or `red` while the checkout option `texture` might be `smooth`
18
+ # or `rippled`.
19
+ # @return [String]
20
+ attr_accessor :checkout_option_value
21
+
22
+ # A mapping from model property names to API property names.
23
+ def self.names
24
+ @_hash = {} if @_hash.nil?
25
+ @_hash['checkout_option_name'] = 'checkout_option_name'
26
+ @_hash['checkout_option_value'] = 'checkout_option_value'
27
+ @_hash
28
+ end
29
+
30
+ # An array for optional fields
31
+ def self.optionals
32
+ %w[
33
+ checkout_option_name
34
+ checkout_option_value
35
+ ]
36
+ end
37
+
38
+ # An array for nullable fields
39
+ def self.nullables
40
+ []
41
+ end
42
+
43
+ def initialize(checkout_option_name: SKIP, checkout_option_value: SKIP)
44
+ @checkout_option_name = checkout_option_name unless checkout_option_name == SKIP
45
+ @checkout_option_value = checkout_option_value unless checkout_option_value == SKIP
46
+ end
47
+
48
+ # Creates an instance of the object from a hash.
49
+ def self.from_hash(hash)
50
+ return nil unless hash
51
+
52
+ # Extract variables from the hash.
53
+ checkout_option_name =
54
+ hash.key?('checkout_option_name') ? hash['checkout_option_name'] : SKIP
55
+ checkout_option_value =
56
+ hash.key?('checkout_option_value') ? hash['checkout_option_value'] : SKIP
57
+
58
+ # Create object from extracted values.
59
+ CheckoutOption.new(checkout_option_name: checkout_option_name,
60
+ checkout_option_value: checkout_option_value)
61
+ end
62
+
63
+ # Provides a human-readable string representation of the object.
64
+ def to_s
65
+ class_name = self.class.name.split('::').last
66
+ "<#{class_name} checkout_option_name: #{@checkout_option_name}, checkout_option_value:"\
67
+ " #{@checkout_option_value}>"
68
+ end
69
+
70
+ # Provides a debugging-friendly string with detailed object information.
71
+ def inspect
72
+ class_name = self.class.name.split('::').last
73
+ "<#{class_name} checkout_option_name: #{@checkout_option_name.inspect},"\
74
+ " checkout_option_value: #{@checkout_option_value.inspect}>"
75
+ end
76
+ end
77
+ 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 intent to either capture payment immediately or authorize a payment for
@@ -28,5 +28,18 @@ module PaypalServerSdk
28
28
 
29
29
  true
30
30
  end
31
+
32
+ def self.from_value(value, default_value = CAPTURE)
33
+ return default_value if value.nil?
34
+
35
+ str = value.to_s.strip
36
+
37
+ case str.downcase
38
+ when 'capture' then CAPTURE
39
+ when 'authorize' then AUTHORIZE
40
+ else
41
+ default_value
42
+ end
43
+ end
31
44
  end
32
45
  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
  # Details about the merchant cobranded card used for order purchase.
@@ -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
  # Payer confirms the intent to pay for the Order using the provided payment
@@ -0,0 +1,151 @@
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 create subscription request details.
8
+ class CreateSubscriptionRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The ID of the plan.
13
+ # @return [String]
14
+ attr_accessor :plan_id
15
+
16
+ # The date and time, in [Internet date and time
17
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
18
+ # required while fractional seconds are optional. Note: The regular
19
+ # expression provides guidance but does not reject all invalid dates.
20
+ # @return [String]
21
+ attr_accessor :start_time
22
+
23
+ # The quantity of the product in the subscription.
24
+ # @return [String]
25
+ attr_accessor :quantity
26
+
27
+ # The currency and amount for a financial transaction, such as a balance or
28
+ # payment due.
29
+ # @return [Money]
30
+ attr_accessor :shipping_amount
31
+
32
+ # The subscriber request information .
33
+ # @return [SubscriberRequest]
34
+ attr_accessor :subscriber
35
+
36
+ # DEPRECATED. Indicates whether the subscription auto-renews after the
37
+ # billing cycles complete.
38
+ # @return [TrueClass | FalseClass]
39
+ attr_accessor :auto_renewal
40
+
41
+ # DEPRECATED. The application context, which customizes the payer experience
42
+ # during the subscription approval process with PayPal.
43
+ # @return [SubscriptionApplicationContext]
44
+ attr_accessor :application_context
45
+
46
+ # The custom id for the subscription. Can be invoice id.
47
+ # @return [String]
48
+ attr_accessor :custom_id
49
+
50
+ # An inline plan object to customise the subscription. You can override plan
51
+ # level default attributes by providing customised values for the
52
+ # subscription in this object.
53
+ # @return [PlanOverride]
54
+ attr_accessor :plan
55
+
56
+ # A mapping from model property names to API property names.
57
+ def self.names
58
+ @_hash = {} if @_hash.nil?
59
+ @_hash['plan_id'] = 'plan_id'
60
+ @_hash['start_time'] = 'start_time'
61
+ @_hash['quantity'] = 'quantity'
62
+ @_hash['shipping_amount'] = 'shipping_amount'
63
+ @_hash['subscriber'] = 'subscriber'
64
+ @_hash['auto_renewal'] = 'auto_renewal'
65
+ @_hash['application_context'] = 'application_context'
66
+ @_hash['custom_id'] = 'custom_id'
67
+ @_hash['plan'] = 'plan'
68
+ @_hash
69
+ end
70
+
71
+ # An array for optional fields
72
+ def self.optionals
73
+ %w[
74
+ start_time
75
+ quantity
76
+ shipping_amount
77
+ subscriber
78
+ auto_renewal
79
+ application_context
80
+ custom_id
81
+ plan
82
+ ]
83
+ end
84
+
85
+ # An array for nullable fields
86
+ def self.nullables
87
+ []
88
+ end
89
+
90
+ def initialize(plan_id:, start_time: SKIP, quantity: SKIP,
91
+ shipping_amount: SKIP, subscriber: SKIP, auto_renewal: false,
92
+ application_context: SKIP, custom_id: SKIP, plan: SKIP)
93
+ @plan_id = plan_id
94
+ @start_time = start_time unless start_time == SKIP
95
+ @quantity = quantity unless quantity == SKIP
96
+ @shipping_amount = shipping_amount unless shipping_amount == SKIP
97
+ @subscriber = subscriber unless subscriber == SKIP
98
+ @auto_renewal = auto_renewal unless auto_renewal == SKIP
99
+ @application_context = application_context unless application_context == SKIP
100
+ @custom_id = custom_id unless custom_id == SKIP
101
+ @plan = plan unless plan == SKIP
102
+ end
103
+
104
+ # Creates an instance of the object from a hash.
105
+ def self.from_hash(hash)
106
+ return nil unless hash
107
+
108
+ # Extract variables from the hash.
109
+ plan_id = hash.key?('plan_id') ? hash['plan_id'] : nil
110
+ start_time = hash.key?('start_time') ? hash['start_time'] : SKIP
111
+ quantity = hash.key?('quantity') ? hash['quantity'] : SKIP
112
+ shipping_amount = Money.from_hash(hash['shipping_amount']) if hash['shipping_amount']
113
+ subscriber = SubscriberRequest.from_hash(hash['subscriber']) if hash['subscriber']
114
+ auto_renewal = hash['auto_renewal'] ||= false
115
+ application_context = SubscriptionApplicationContext.from_hash(hash['application_context']) if
116
+ hash['application_context']
117
+ custom_id = hash.key?('custom_id') ? hash['custom_id'] : SKIP
118
+ plan = PlanOverride.from_hash(hash['plan']) if hash['plan']
119
+
120
+ # Create object from extracted values.
121
+ CreateSubscriptionRequest.new(plan_id: plan_id,
122
+ start_time: start_time,
123
+ quantity: quantity,
124
+ shipping_amount: shipping_amount,
125
+ subscriber: subscriber,
126
+ auto_renewal: auto_renewal,
127
+ application_context: application_context,
128
+ custom_id: custom_id,
129
+ plan: plan)
130
+ end
131
+
132
+ # Provides a human-readable string representation of the object.
133
+ def to_s
134
+ class_name = self.class.name.split('::').last
135
+ "<#{class_name} plan_id: #{@plan_id}, start_time: #{@start_time}, quantity: #{@quantity},"\
136
+ " shipping_amount: #{@shipping_amount}, subscriber: #{@subscriber}, auto_renewal:"\
137
+ " #{@auto_renewal}, application_context: #{@application_context}, custom_id: #{@custom_id},"\
138
+ " plan: #{@plan}>"
139
+ end
140
+
141
+ # Provides a debugging-friendly string with detailed object information.
142
+ def inspect
143
+ class_name = self.class.name.split('::').last
144
+ "<#{class_name} plan_id: #{@plan_id.inspect}, start_time: #{@start_time.inspect}, quantity:"\
145
+ " #{@quantity.inspect}, shipping_amount: #{@shipping_amount.inspect}, subscriber:"\
146
+ " #{@subscriber.inspect}, auto_renewal: #{@auto_renewal.inspect}, application_context:"\
147
+ " #{@application_context.inspect}, custom_id: #{@custom_id.inspect}, plan:"\
148
+ " #{@plan.inspect}>"
149
+ end
150
+ end
151
+ 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
  # This object defines a customer in your system. Use it to manage customer
@@ -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
  # This object represents a merchant’s customer, allowing them to store contact
@@ -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
  # Customer in merchant's or partner's system of records.
@@ -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
  # Collection of payment tokens saved for a given customer.
@@ -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 card verification value code for for Visa, Discover, Mastercard, or
@@ -64,5 +64,30 @@ module PaypalServerSdk
64
64
 
65
65
  true
66
66
  end
67
+
68
+ def self.from_value(value, default_value = CVV_E)
69
+ return default_value if value.nil?
70
+
71
+ str = value.to_s.strip
72
+
73
+ case str.downcase
74
+ when 'cvv_e' then CVV_E
75
+ when 'cvv_i' then CVV_I
76
+ when 'cvv_m' then CVV_M
77
+ when 'cvv_n' then CVV_N
78
+ when 'cvv_p' then CVV_P
79
+ when 'cvv_s' then CVV_S
80
+ when 'cvv_u' then CVV_U
81
+ when 'cvv_x' then CVV_X
82
+ when 'enum_all_others' then ENUM_ALL_OTHERS
83
+ when 'cvv_0' then CVV_0
84
+ when 'cvv_1' then CVV_1
85
+ when 'cvv_2' then CVV_2
86
+ when 'cvv_3' then CVV_3
87
+ when 'cvv_4' then CVV_4
88
+ else
89
+ default_value
90
+ end
91
+ end
67
92
  end
68
93
  end
@@ -0,0 +1,124 @@
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 regular and trial execution details for a billing cycle.
8
+ class CycleExecution < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The type of the billing cycle.
13
+ # @return [TenureType]
14
+ attr_accessor :tenure_type
15
+
16
+ # The order in which to run this cycle among other billing cycles.
17
+ # @return [Integer]
18
+ attr_accessor :sequence
19
+
20
+ # The number of billing cycles that have completed.
21
+ # @return [Integer]
22
+ attr_accessor :cycles_completed
23
+
24
+ # For a finite billing cycle, cycles_remaining is the number of remaining
25
+ # cycles. For an infinite billing cycle, cycles_remaining is set as 0.
26
+ # @return [Integer]
27
+ attr_accessor :cycles_remaining
28
+
29
+ # The active pricing scheme version for the billing cycle.
30
+ # @return [Integer]
31
+ attr_accessor :current_pricing_scheme_version
32
+
33
+ # The number of times this billing cycle gets executed. Trial billing cycles
34
+ # can only be executed a finite number of times (value between 1 and 999 for
35
+ # total_cycles). Regular billing cycles can be executed infinite times
36
+ # (value of 0 for total_cycles) or a finite number of times (value between 1
37
+ # and 999 for total_cycles).
38
+ # @return [Integer]
39
+ attr_accessor :total_cycles
40
+
41
+ # A mapping from model property names to API property names.
42
+ def self.names
43
+ @_hash = {} if @_hash.nil?
44
+ @_hash['tenure_type'] = 'tenure_type'
45
+ @_hash['sequence'] = 'sequence'
46
+ @_hash['cycles_completed'] = 'cycles_completed'
47
+ @_hash['cycles_remaining'] = 'cycles_remaining'
48
+ @_hash['current_pricing_scheme_version'] =
49
+ 'current_pricing_scheme_version'
50
+ @_hash['total_cycles'] = 'total_cycles'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ %w[
57
+ cycles_remaining
58
+ current_pricing_scheme_version
59
+ total_cycles
60
+ ]
61
+ end
62
+
63
+ # An array for nullable fields
64
+ def self.nullables
65
+ []
66
+ end
67
+
68
+ def initialize(tenure_type:, sequence:, cycles_completed:,
69
+ cycles_remaining: SKIP, current_pricing_scheme_version: SKIP,
70
+ total_cycles: SKIP)
71
+ @tenure_type = tenure_type
72
+ @sequence = sequence
73
+ @cycles_completed = cycles_completed
74
+ @cycles_remaining = cycles_remaining unless cycles_remaining == SKIP
75
+ unless current_pricing_scheme_version == SKIP
76
+ @current_pricing_scheme_version =
77
+ current_pricing_scheme_version
78
+ end
79
+ @total_cycles = total_cycles unless total_cycles == SKIP
80
+ end
81
+
82
+ # Creates an instance of the object from a hash.
83
+ def self.from_hash(hash)
84
+ return nil unless hash
85
+
86
+ # Extract variables from the hash.
87
+ tenure_type = hash.key?('tenure_type') ? hash['tenure_type'] : nil
88
+ sequence = hash.key?('sequence') ? hash['sequence'] : nil
89
+ cycles_completed =
90
+ hash.key?('cycles_completed') ? hash['cycles_completed'] : nil
91
+ cycles_remaining =
92
+ hash.key?('cycles_remaining') ? hash['cycles_remaining'] : SKIP
93
+ current_pricing_scheme_version =
94
+ hash.key?('current_pricing_scheme_version') ? hash['current_pricing_scheme_version'] : SKIP
95
+ total_cycles = hash.key?('total_cycles') ? hash['total_cycles'] : SKIP
96
+
97
+ # Create object from extracted values.
98
+ CycleExecution.new(tenure_type: tenure_type,
99
+ sequence: sequence,
100
+ cycles_completed: cycles_completed,
101
+ cycles_remaining: cycles_remaining,
102
+ current_pricing_scheme_version: current_pricing_scheme_version,
103
+ total_cycles: total_cycles)
104
+ end
105
+
106
+ # Provides a human-readable string representation of the object.
107
+ def to_s
108
+ class_name = self.class.name.split('::').last
109
+ "<#{class_name} tenure_type: #{@tenure_type}, sequence: #{@sequence}, cycles_completed:"\
110
+ " #{@cycles_completed}, cycles_remaining: #{@cycles_remaining},"\
111
+ " current_pricing_scheme_version: #{@current_pricing_scheme_version}, total_cycles:"\
112
+ " #{@total_cycles}>"
113
+ end
114
+
115
+ # Provides a debugging-friendly string with detailed object information.
116
+ def inspect
117
+ class_name = self.class.name.split('::').last
118
+ "<#{class_name} tenure_type: #{@tenure_type.inspect}, sequence: #{@sequence.inspect},"\
119
+ " cycles_completed: #{@cycles_completed.inspect}, cycles_remaining:"\
120
+ " #{@cycles_remaining.inspect}, current_pricing_scheme_version:"\
121
+ " #{@current_pricing_scheme_version.inspect}, total_cycles: #{@total_cycles.inspect}>"
122
+ end
123
+ end
124
+ 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 funds that are held on behalf of the merchant.
@@ -22,5 +22,18 @@ module PaypalServerSdk
22
22
 
23
23
  true
24
24
  end
25
+
26
+ def self.from_value(value, default_value = INSTANT)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'instant' then INSTANT
33
+ when 'delayed' then DELAYED
34
+ else
35
+ default_value
36
+ end
37
+ end
25
38
  end
26
39
  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 condition that is covered for the transaction.
@@ -19,5 +19,18 @@ module PaypalServerSdk
19
19
 
20
20
  true
21
21
  end
22
+
23
+ def self.from_value(value, default_value = ITEM_NOT_RECEIVED)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'item_not_received' then ITEM_NOT_RECEIVED
30
+ when 'unauthorized_transaction' then UNAUTHORIZED_TRANSACTION
31
+ else
32
+ default_value
33
+ end
34
+ end
22
35
  end
23
36
  end