cli-sdk 1.0.0 → 10.0.1

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 (408) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +35 -28
  3. data/README.md +166 -111
  4. data/bin/console +4 -4
  5. data/lib/paypal_server_sdk/api_helper.rb +10 -0
  6. data/lib/paypal_server_sdk/client.rb +110 -0
  7. data/lib/{apimatic_calculator → paypal_server_sdk}/configuration.rb +134 -115
  8. data/lib/{apimatic_calculator → paypal_server_sdk}/controllers/base_controller.rb +58 -53
  9. data/lib/paypal_server_sdk/controllers/o_auth_authorization_controller.rb +42 -0
  10. data/lib/paypal_server_sdk/controllers/orders_controller.rb +551 -0
  11. data/lib/paypal_server_sdk/controllers/payments_controller.rb +462 -0
  12. data/lib/paypal_server_sdk/controllers/subscriptions_controller.rb +843 -0
  13. data/lib/paypal_server_sdk/controllers/transaction_search_controller.rb +178 -0
  14. data/lib/paypal_server_sdk/controllers/vault_controller.rb +224 -0
  15. data/lib/{apimatic_calculator → paypal_server_sdk}/exceptions/api_exception.rb +21 -21
  16. data/lib/paypal_server_sdk/exceptions/default_error_exception.rb +95 -0
  17. data/lib/paypal_server_sdk/exceptions/error_exception.rb +87 -0
  18. data/lib/paypal_server_sdk/exceptions/o_auth_provider_exception.rb +64 -0
  19. data/lib/paypal_server_sdk/exceptions/search_error_exception.rb +107 -0
  20. data/lib/paypal_server_sdk/exceptions/subscription_error_exception.rb +95 -0
  21. data/lib/paypal_server_sdk/http/api_response.rb +19 -0
  22. data/lib/paypal_server_sdk/http/auth/o_auth2.rb +151 -0
  23. data/lib/paypal_server_sdk/http/http_call_back.rb +10 -0
  24. data/lib/paypal_server_sdk/http/http_method_enum.rb +10 -0
  25. data/lib/paypal_server_sdk/http/http_request.rb +10 -0
  26. data/lib/paypal_server_sdk/http/http_response.rb +10 -0
  27. data/lib/{apimatic_calculator → paypal_server_sdk}/http/proxy_settings.rb +6 -6
  28. data/lib/paypal_server_sdk/logging/configuration/api_logging_configuration.rb +186 -0
  29. data/lib/paypal_server_sdk/logging/sdk_logger.rb +17 -0
  30. data/lib/paypal_server_sdk/models/activate_subscription_request.rb +63 -0
  31. data/lib/paypal_server_sdk/models/activity_timestamps.rb +79 -0
  32. data/lib/paypal_server_sdk/models/address.rb +132 -0
  33. data/lib/paypal_server_sdk/models/amount_breakdown.rb +132 -0
  34. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +94 -0
  35. data/lib/paypal_server_sdk/models/app_switch_context.rb +74 -0
  36. data/lib/paypal_server_sdk/models/apple_pay_attributes.rb +73 -0
  37. data/lib/paypal_server_sdk/models/apple_pay_attributes_response.rb +62 -0
  38. data/lib/paypal_server_sdk/models/apple_pay_card.rb +108 -0
  39. data/lib/paypal_server_sdk/models/apple_pay_card_response.rb +210 -0
  40. data/lib/paypal_server_sdk/models/apple_pay_decrypted_token_data.rb +111 -0
  41. data/lib/paypal_server_sdk/models/apple_pay_experience_context.rb +68 -0
  42. data/lib/paypal_server_sdk/models/apple_pay_payment_data.rb +97 -0
  43. data/lib/paypal_server_sdk/models/apple_pay_payment_data_type.rb +41 -0
  44. data/lib/paypal_server_sdk/models/apple_pay_payment_object.rb +150 -0
  45. data/lib/paypal_server_sdk/models/apple_pay_payment_token.rb +63 -0
  46. data/lib/paypal_server_sdk/models/apple_pay_request.rb +165 -0
  47. data/lib/paypal_server_sdk/models/apple_pay_request_card.rb +88 -0
  48. data/lib/paypal_server_sdk/models/apple_pay_tokenized_card.rb +127 -0
  49. data/lib/paypal_server_sdk/models/application_context_user_action.rb +42 -0
  50. data/lib/paypal_server_sdk/models/assurance_details.rb +82 -0
  51. data/lib/paypal_server_sdk/models/auction_information.rb +100 -0
  52. data/lib/paypal_server_sdk/models/authentication_response.rb +74 -0
  53. data/lib/paypal_server_sdk/models/authorization.rb +211 -0
  54. data/lib/paypal_server_sdk/models/authorization_incomplete_reason.rb +36 -0
  55. data/lib/paypal_server_sdk/models/authorization_status.rb +58 -0
  56. data/lib/paypal_server_sdk/models/authorization_status_details.rb +62 -0
  57. data/lib/paypal_server_sdk/models/authorization_status_with_details.rb +72 -0
  58. data/lib/paypal_server_sdk/models/authorization_with_additional_data.rb +225 -0
  59. data/lib/paypal_server_sdk/models/avs_code.rb +156 -0
  60. data/lib/paypal_server_sdk/models/balance_information.rb +106 -0
  61. data/lib/paypal_server_sdk/models/balances_response.rb +111 -0
  62. data/lib/paypal_server_sdk/models/bancontact_payment_object.rb +110 -0
  63. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +87 -0
  64. data/lib/paypal_server_sdk/models/bank_request.rb +71 -0
  65. data/lib/{apimatic_calculator → paypal_server_sdk}/models/base_model.rb +110 -110
  66. data/lib/paypal_server_sdk/models/billing_cycle.rb +118 -0
  67. data/lib/paypal_server_sdk/models/billing_cycle_override.rb +91 -0
  68. data/lib/paypal_server_sdk/models/billing_plan.rb +212 -0
  69. data/lib/paypal_server_sdk/models/bin_details.rb +102 -0
  70. data/lib/paypal_server_sdk/models/blik_experience_context.rb +142 -0
  71. data/lib/paypal_server_sdk/models/blik_level0_payment_object.rb +60 -0
  72. data/lib/paypal_server_sdk/models/blik_one_click_payment_object.rb +64 -0
  73. data/lib/paypal_server_sdk/models/blik_one_click_payment_request.rb +97 -0
  74. data/lib/paypal_server_sdk/models/blik_payment_object.rb +99 -0
  75. data/lib/paypal_server_sdk/models/blik_payment_request.rb +120 -0
  76. data/lib/paypal_server_sdk/models/callback_configuration.rb +74 -0
  77. data/lib/paypal_server_sdk/models/callback_events.rb +40 -0
  78. data/lib/paypal_server_sdk/models/cancel_subscription_request.rb +60 -0
  79. data/lib/paypal_server_sdk/models/capture_incomplete_reason.rb +86 -0
  80. data/lib/paypal_server_sdk/models/capture_payment_instruction.rb +104 -0
  81. data/lib/paypal_server_sdk/models/capture_request.rb +126 -0
  82. data/lib/paypal_server_sdk/models/capture_status.rb +56 -0
  83. data/lib/paypal_server_sdk/models/capture_status_details.rb +62 -0
  84. data/lib/paypal_server_sdk/models/capture_status_with_details.rb +72 -0
  85. data/lib/paypal_server_sdk/models/capture_subscription_request.rb +78 -0
  86. data/lib/paypal_server_sdk/models/capture_type.rb +26 -0
  87. data/lib/paypal_server_sdk/models/captured_payment.rb +274 -0
  88. data/lib/paypal_server_sdk/models/card_attributes.rb +83 -0
  89. data/lib/paypal_server_sdk/models/card_attributes_response.rb +62 -0
  90. data/lib/paypal_server_sdk/models/card_authentication_response.rb +63 -0
  91. data/lib/paypal_server_sdk/models/card_brand.rb +153 -0
  92. data/lib/paypal_server_sdk/models/card_customer.rb +98 -0
  93. data/lib/paypal_server_sdk/models/card_customer_information.rb +108 -0
  94. data/lib/paypal_server_sdk/models/card_experience_context.rb +71 -0
  95. data/lib/paypal_server_sdk/models/card_from_request.rb +72 -0
  96. data/lib/paypal_server_sdk/models/card_payment_token_entity.rb +178 -0
  97. data/lib/paypal_server_sdk/models/card_request.rb +191 -0
  98. data/lib/paypal_server_sdk/models/card_response.rb +180 -0
  99. data/lib/paypal_server_sdk/models/card_response_address.rb +137 -0
  100. data/lib/paypal_server_sdk/models/card_response_with_billing_address.rb +101 -0
  101. data/lib/paypal_server_sdk/models/card_stored_credential.rb +111 -0
  102. data/lib/paypal_server_sdk/models/card_supplementary_data.rb +79 -0
  103. data/lib/paypal_server_sdk/models/card_type.rb +48 -0
  104. data/lib/paypal_server_sdk/models/card_vault_response.rb +99 -0
  105. data/lib/paypal_server_sdk/models/card_verification.rb +64 -0
  106. data/lib/paypal_server_sdk/models/card_verification_details.rb +140 -0
  107. data/lib/paypal_server_sdk/models/card_verification_processor_response.rb +74 -0
  108. data/lib/paypal_server_sdk/models/card_verification_status.rb +36 -0
  109. data/lib/paypal_server_sdk/models/cart_information.rb +94 -0
  110. data/lib/paypal_server_sdk/models/checkout_option.rb +77 -0
  111. data/lib/paypal_server_sdk/models/checkout_payment_intent.rb +45 -0
  112. data/lib/paypal_server_sdk/models/cobranded_card.rb +83 -0
  113. data/lib/paypal_server_sdk/models/confirm_order_request.rb +85 -0
  114. data/lib/paypal_server_sdk/models/create_subscription_request.rb +151 -0
  115. data/lib/paypal_server_sdk/models/customer.rb +76 -0
  116. data/lib/paypal_server_sdk/models/customer_information.rb +95 -0
  117. data/lib/paypal_server_sdk/models/customer_response.rb +75 -0
  118. data/lib/paypal_server_sdk/models/customer_vault_payment_tokens_response.rb +123 -0
  119. data/lib/paypal_server_sdk/models/cvv_code.rb +93 -0
  120. data/lib/paypal_server_sdk/models/cycle_execution.rb +124 -0
  121. data/lib/paypal_server_sdk/models/disbursement_mode.rb +39 -0
  122. data/lib/paypal_server_sdk/models/dispute_category.rb +36 -0
  123. data/lib/paypal_server_sdk/models/eci_flag.rb +54 -0
  124. data/lib/paypal_server_sdk/models/enrollment_status.rb +47 -0
  125. data/lib/paypal_server_sdk/models/eps_payment_object.rb +87 -0
  126. data/lib/paypal_server_sdk/models/eps_payment_request.rb +87 -0
  127. data/lib/paypal_server_sdk/models/error_details.rb +125 -0
  128. data/lib/paypal_server_sdk/models/exchange_rate.rb +91 -0
  129. data/lib/paypal_server_sdk/models/experience_context.rb +116 -0
  130. data/lib/paypal_server_sdk/models/experience_context_shipping_preference.rb +46 -0
  131. data/lib/paypal_server_sdk/models/experience_status.rb +48 -0
  132. data/lib/paypal_server_sdk/models/failed_payment_details.rb +98 -0
  133. data/lib/paypal_server_sdk/models/frequency.rb +75 -0
  134. data/lib/paypal_server_sdk/models/fulfillment_type.rb +51 -0
  135. data/lib/paypal_server_sdk/models/giropay_payment_object.rb +87 -0
  136. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +87 -0
  137. data/lib/paypal_server_sdk/models/google_pay_authentication_method.rb +42 -0
  138. data/lib/paypal_server_sdk/models/google_pay_card.rb +128 -0
  139. data/lib/paypal_server_sdk/models/google_pay_card_response.rb +120 -0
  140. data/lib/paypal_server_sdk/models/google_pay_decrypted_token_data.rb +131 -0
  141. data/lib/paypal_server_sdk/models/google_pay_experience_context.rb +68 -0
  142. data/lib/paypal_server_sdk/models/google_pay_payment_method.rb +26 -0
  143. data/lib/paypal_server_sdk/models/google_pay_request.rb +136 -0
  144. data/lib/paypal_server_sdk/models/google_pay_request_card.rb +98 -0
  145. data/lib/paypal_server_sdk/models/google_pay_wallet_response.rb +98 -0
  146. data/lib/paypal_server_sdk/models/ideal_payment_object.rb +99 -0
  147. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +97 -0
  148. data/lib/paypal_server_sdk/models/incentive_details.rb +99 -0
  149. data/lib/paypal_server_sdk/models/incentive_information.rb +71 -0
  150. data/lib/paypal_server_sdk/models/interval_unit.rb +44 -0
  151. data/lib/paypal_server_sdk/models/item.rb +161 -0
  152. data/lib/paypal_server_sdk/models/item_category.rb +43 -0
  153. data/lib/paypal_server_sdk/models/item_details.rb +287 -0
  154. data/lib/paypal_server_sdk/models/item_request.rb +163 -0
  155. data/lib/paypal_server_sdk/models/last_payment_details.rb +75 -0
  156. data/lib/paypal_server_sdk/models/level2_card_processing_data.rb +78 -0
  157. data/lib/paypal_server_sdk/models/level3_card_processing_data.rb +137 -0
  158. data/lib/paypal_server_sdk/models/liability_shift_indicator.rb +40 -0
  159. data/lib/paypal_server_sdk/models/line_item.rb +209 -0
  160. data/lib/paypal_server_sdk/models/link_description.rb +92 -0
  161. data/lib/paypal_server_sdk/models/link_http_method.rb +60 -0
  162. data/lib/paypal_server_sdk/models/merchant_preferences.rb +73 -0
  163. data/lib/paypal_server_sdk/models/mobile_return_flow.rb +41 -0
  164. data/lib/paypal_server_sdk/models/mobile_web_context.rb +76 -0
  165. data/lib/paypal_server_sdk/models/modify_subscription_request.rb +124 -0
  166. data/lib/paypal_server_sdk/models/modify_subscription_response.rb +141 -0
  167. data/lib/paypal_server_sdk/models/money.rb +75 -0
  168. data/lib/paypal_server_sdk/models/mybank_payment_object.rb +99 -0
  169. data/lib/paypal_server_sdk/models/mybank_payment_request.rb +87 -0
  170. data/lib/paypal_server_sdk/models/name.rb +73 -0
  171. data/lib/paypal_server_sdk/models/native_app_context.rb +72 -0
  172. data/lib/paypal_server_sdk/models/net_amount_breakdown_item.rb +87 -0
  173. data/lib/paypal_server_sdk/models/network_token.rb +110 -0
  174. data/lib/paypal_server_sdk/models/network_transaction.rb +107 -0
  175. data/lib/paypal_server_sdk/models/network_transaction_reference_entity.rb +100 -0
  176. data/lib/paypal_server_sdk/models/o_auth_provider_error.rb +62 -0
  177. data/lib/paypal_server_sdk/models/o_auth_token.rb +106 -0
  178. data/lib/paypal_server_sdk/models/one_time_charge.rb +118 -0
  179. data/lib/paypal_server_sdk/models/order.rb +197 -0
  180. data/lib/paypal_server_sdk/models/order_application_context.rb +219 -0
  181. data/lib/paypal_server_sdk/models/order_application_context_landing_page.rb +53 -0
  182. data/lib/paypal_server_sdk/models/order_application_context_shipping_preference.rb +50 -0
  183. data/lib/paypal_server_sdk/models/order_application_context_user_action.rb +47 -0
  184. data/lib/paypal_server_sdk/models/order_authorize_request.rb +63 -0
  185. data/lib/paypal_server_sdk/models/order_authorize_request_payment_source.rb +115 -0
  186. data/lib/paypal_server_sdk/models/order_authorize_response.rb +194 -0
  187. data/lib/paypal_server_sdk/models/order_authorize_response_payment_source.rb +102 -0
  188. data/lib/paypal_server_sdk/models/order_billing_plan.rb +93 -0
  189. data/lib/paypal_server_sdk/models/order_capture_request.rb +63 -0
  190. data/lib/paypal_server_sdk/models/order_capture_request_payment_source.rb +115 -0
  191. data/lib/paypal_server_sdk/models/order_confirm_application_context.rb +123 -0
  192. data/lib/paypal_server_sdk/models/order_request.rb +132 -0
  193. data/lib/paypal_server_sdk/models/order_status.rb +65 -0
  194. data/lib/paypal_server_sdk/models/order_tracker_item.rb +114 -0
  195. data/lib/paypal_server_sdk/models/order_tracker_request.rb +133 -0
  196. data/lib/paypal_server_sdk/models/order_tracker_response.rb +135 -0
  197. data/lib/paypal_server_sdk/models/order_tracker_status.rb +39 -0
  198. data/lib/paypal_server_sdk/models/orders_capture.rb +252 -0
  199. data/lib/paypal_server_sdk/models/orders_card_verification_method.rb +66 -0
  200. data/lib/paypal_server_sdk/models/os_type.rb +40 -0
  201. data/lib/paypal_server_sdk/models/p24_payment_object.rb +123 -0
  202. data/lib/paypal_server_sdk/models/p24_payment_request.rb +98 -0
  203. data/lib/paypal_server_sdk/models/pa_res_status.rb +61 -0
  204. data/lib/paypal_server_sdk/models/participant_metadata.rb +64 -0
  205. data/lib/paypal_server_sdk/models/patch.rb +93 -0
  206. data/lib/paypal_server_sdk/models/patch_op.rb +89 -0
  207. data/lib/paypal_server_sdk/models/payee_base.rb +76 -0
  208. data/lib/paypal_server_sdk/models/payee_payment_method_preference.rb +38 -0
  209. data/lib/paypal_server_sdk/models/payer.rb +136 -0
  210. data/lib/paypal_server_sdk/models/payer_base.rb +75 -0
  211. data/lib/paypal_server_sdk/models/payer_information.rb +146 -0
  212. data/lib/paypal_server_sdk/models/payer_name.rb +128 -0
  213. data/lib/paypal_server_sdk/models/payment_advice_code.rb +101 -0
  214. data/lib/paypal_server_sdk/models/payment_authorization.rb +233 -0
  215. data/lib/paypal_server_sdk/models/payment_collection.rb +113 -0
  216. data/lib/paypal_server_sdk/models/payment_initiator.rb +39 -0
  217. data/lib/paypal_server_sdk/models/payment_instruction.rb +121 -0
  218. data/lib/paypal_server_sdk/models/payment_method.rb +63 -0
  219. data/lib/paypal_server_sdk/models/payment_method_preference.rb +86 -0
  220. data/lib/paypal_server_sdk/models/payment_preferences.rb +105 -0
  221. data/lib/paypal_server_sdk/models/payment_preferences_override.rb +107 -0
  222. data/lib/paypal_server_sdk/models/payment_source.rb +203 -0
  223. data/lib/paypal_server_sdk/models/payment_source_response.rb +190 -0
  224. data/lib/paypal_server_sdk/models/payment_supplementary_data.rb +62 -0
  225. data/lib/paypal_server_sdk/models/payment_token_request.rb +74 -0
  226. data/lib/paypal_server_sdk/models/payment_token_request_card.rb +120 -0
  227. data/lib/paypal_server_sdk/models/payment_token_request_payment_source.rb +71 -0
  228. data/lib/paypal_server_sdk/models/payment_token_response.rb +104 -0
  229. data/lib/paypal_server_sdk/models/payment_token_response_payment_source.rb +91 -0
  230. data/lib/paypal_server_sdk/models/payment_token_status.rb +52 -0
  231. data/lib/paypal_server_sdk/models/payments_capture.rb +252 -0
  232. data/lib/paypal_server_sdk/models/paypal_experience_landing_page.rb +56 -0
  233. data/lib/paypal_server_sdk/models/paypal_experience_user_action.rb +42 -0
  234. data/lib/paypal_server_sdk/models/paypal_payment_token.rb +211 -0
  235. data/lib/paypal_server_sdk/models/paypal_payment_token_customer_type.rb +42 -0
  236. data/lib/paypal_server_sdk/models/paypal_payment_token_usage_type.rb +40 -0
  237. data/lib/paypal_server_sdk/models/paypal_reference_id_type.rb +44 -0
  238. data/lib/paypal_server_sdk/models/paypal_wallet.rb +188 -0
  239. data/lib/paypal_server_sdk/models/paypal_wallet_account_verification_status.rb +41 -0
  240. data/lib/paypal_server_sdk/models/paypal_wallet_attributes.rb +71 -0
  241. data/lib/paypal_server_sdk/models/paypal_wallet_attributes_response.rb +82 -0
  242. data/lib/paypal_server_sdk/models/paypal_wallet_contact_preference.rb +48 -0
  243. data/lib/paypal_server_sdk/models/paypal_wallet_context_shipping_preference.rb +45 -0
  244. data/lib/paypal_server_sdk/models/paypal_wallet_customer.rb +108 -0
  245. data/lib/paypal_server_sdk/models/paypal_wallet_customer_request.rb +108 -0
  246. data/lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb +201 -0
  247. data/lib/paypal_server_sdk/models/paypal_wallet_response.rb +213 -0
  248. data/lib/paypal_server_sdk/models/paypal_wallet_stored_credential.rb +99 -0
  249. data/lib/paypal_server_sdk/models/paypal_wallet_vault_base.rb +134 -0
  250. data/lib/paypal_server_sdk/models/paypal_wallet_vault_instruction.rb +132 -0
  251. data/lib/paypal_server_sdk/models/paypal_wallet_vault_response.rb +99 -0
  252. data/lib/paypal_server_sdk/models/paypal_wallet_vault_status.rb +45 -0
  253. data/lib/paypal_server_sdk/models/phone.rb +91 -0
  254. data/lib/paypal_server_sdk/models/phone_number.rb +68 -0
  255. data/lib/paypal_server_sdk/models/phone_number_with_country_code.rb +83 -0
  256. data/lib/paypal_server_sdk/models/phone_number_with_optional_country_code.rb +81 -0
  257. data/lib/paypal_server_sdk/models/phone_type.rb +48 -0
  258. data/lib/paypal_server_sdk/models/phone_with_type.rb +72 -0
  259. data/lib/paypal_server_sdk/models/plan.rb +92 -0
  260. data/lib/paypal_server_sdk/models/plan_collection.rb +111 -0
  261. data/lib/paypal_server_sdk/models/plan_details.rb +147 -0
  262. data/lib/paypal_server_sdk/models/plan_override.rb +96 -0
  263. data/lib/paypal_server_sdk/models/plan_request.rb +154 -0
  264. data/lib/paypal_server_sdk/models/plan_request_status.rb +42 -0
  265. data/lib/paypal_server_sdk/models/platform_fee.rb +75 -0
  266. data/lib/paypal_server_sdk/models/pricing_model.rb +42 -0
  267. data/lib/paypal_server_sdk/models/pricing_scheme.rb +84 -0
  268. data/lib/paypal_server_sdk/models/pricing_tier.rb +83 -0
  269. data/lib/paypal_server_sdk/models/processing_instruction.rb +33 -0
  270. data/lib/paypal_server_sdk/models/processor_response.rb +98 -0
  271. data/lib/paypal_server_sdk/models/processor_response_code.rb +648 -0
  272. data/lib/paypal_server_sdk/models/purchase_unit.rb +245 -0
  273. data/lib/paypal_server_sdk/models/purchase_unit_request.rb +219 -0
  274. data/lib/paypal_server_sdk/models/reason_code.rb +60 -0
  275. data/lib/paypal_server_sdk/models/reauthorize_request.rb +72 -0
  276. data/lib/paypal_server_sdk/models/refund.rb +214 -0
  277. data/lib/paypal_server_sdk/models/refund_incomplete_reason.rb +27 -0
  278. data/lib/paypal_server_sdk/models/refund_payment_instruction.rb +80 -0
  279. data/lib/paypal_server_sdk/models/refund_platform_fee.rb +64 -0
  280. data/lib/paypal_server_sdk/models/refund_request.rb +115 -0
  281. data/lib/paypal_server_sdk/models/refund_status.rb +44 -0
  282. data/lib/paypal_server_sdk/models/refund_status_details.rb +62 -0
  283. data/lib/paypal_server_sdk/models/refund_status_with_details.rb +72 -0
  284. data/lib/paypal_server_sdk/models/related_identifiers.rb +83 -0
  285. data/lib/paypal_server_sdk/models/return_flow.rb +41 -0
  286. data/lib/paypal_server_sdk/models/risk_supplementary_data.rb +63 -0
  287. data/lib/paypal_server_sdk/models/search_response.rb +176 -0
  288. data/lib/paypal_server_sdk/models/seller_payable_breakdown.rb +177 -0
  289. data/lib/paypal_server_sdk/models/seller_protection.rb +78 -0
  290. data/lib/paypal_server_sdk/models/seller_protection_status.rb +46 -0
  291. data/lib/paypal_server_sdk/models/seller_receivable_breakdown.rb +147 -0
  292. data/lib/paypal_server_sdk/models/sepa_debit_experience_context.rb +89 -0
  293. data/lib/paypal_server_sdk/models/sepa_debit_request.rb +64 -0
  294. data/lib/paypal_server_sdk/models/setup_fee_failure_action.rb +37 -0
  295. data/lib/paypal_server_sdk/models/setup_token_request.rb +74 -0
  296. data/lib/paypal_server_sdk/models/setup_token_request_card.rb +143 -0
  297. data/lib/paypal_server_sdk/models/setup_token_request_payment_source.rb +111 -0
  298. data/lib/paypal_server_sdk/models/setup_token_response.rb +116 -0
  299. data/lib/paypal_server_sdk/models/setup_token_response_card.rb +178 -0
  300. data/lib/paypal_server_sdk/models/setup_token_response_payment_source.rb +81 -0
  301. data/lib/paypal_server_sdk/models/shipment_carrier.rb +5686 -0
  302. data/lib/paypal_server_sdk/models/shipping_details.rb +133 -0
  303. data/lib/paypal_server_sdk/models/shipping_information.rb +101 -0
  304. data/lib/paypal_server_sdk/models/shipping_name.rb +62 -0
  305. data/lib/paypal_server_sdk/models/shipping_option.rb +108 -0
  306. data/lib/paypal_server_sdk/models/shipping_type.rb +52 -0
  307. data/lib/paypal_server_sdk/models/shipping_with_tracking_details.rb +152 -0
  308. data/lib/paypal_server_sdk/models/simple_postal_address_coarse_grained.rb +130 -0
  309. data/lib/paypal_server_sdk/models/sofort_payment_object.rb +99 -0
  310. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +87 -0
  311. data/lib/paypal_server_sdk/models/standard_entry_class_code.rb +59 -0
  312. data/lib/paypal_server_sdk/models/store_in_vault_instruction.rb +27 -0
  313. data/lib/paypal_server_sdk/models/store_information.rb +71 -0
  314. data/lib/paypal_server_sdk/models/stored_payment_source.rb +111 -0
  315. data/lib/paypal_server_sdk/models/stored_payment_source_payment_type.rb +43 -0
  316. data/lib/paypal_server_sdk/models/stored_payment_source_usage_type.rb +44 -0
  317. data/lib/paypal_server_sdk/models/subscriber.rb +107 -0
  318. data/lib/paypal_server_sdk/models/subscriber_request.rb +120 -0
  319. data/lib/paypal_server_sdk/models/subscription.rb +205 -0
  320. data/lib/paypal_server_sdk/models/subscription_amount_with_breakdown.rb +119 -0
  321. data/lib/paypal_server_sdk/models/subscription_application_context.rb +134 -0
  322. data/lib/paypal_server_sdk/models/subscription_billing_cycle.rb +108 -0
  323. data/lib/paypal_server_sdk/models/subscription_billing_information.rb +148 -0
  324. data/lib/paypal_server_sdk/models/subscription_card_request.rb +141 -0
  325. data/lib/paypal_server_sdk/models/subscription_collection.rb +90 -0
  326. data/lib/paypal_server_sdk/models/subscription_customer_information.rb +84 -0
  327. data/lib/paypal_server_sdk/models/subscription_patch_application_context.rb +122 -0
  328. data/lib/paypal_server_sdk/models/subscription_payer.rb +85 -0
  329. data/lib/paypal_server_sdk/models/subscription_payer_name.rb +114 -0
  330. data/lib/paypal_server_sdk/models/subscription_payment_source.rb +65 -0
  331. data/lib/paypal_server_sdk/models/subscription_payment_source_response.rb +63 -0
  332. data/lib/paypal_server_sdk/models/subscription_plan_status.rb +42 -0
  333. data/lib/paypal_server_sdk/models/subscription_pricing_model.rb +36 -0
  334. data/lib/paypal_server_sdk/models/subscription_pricing_scheme.rb +129 -0
  335. data/lib/paypal_server_sdk/models/subscription_transaction_details.rb +118 -0
  336. data/lib/paypal_server_sdk/models/subscriptions_card_attributes.rb +83 -0
  337. data/lib/paypal_server_sdk/models/subscriptions_card_brand.rb +133 -0
  338. data/lib/paypal_server_sdk/models/supplementary_data.rb +76 -0
  339. data/lib/paypal_server_sdk/models/suspend_subscription.rb +60 -0
  340. data/lib/paypal_server_sdk/models/tax_amount.rb +63 -0
  341. data/lib/paypal_server_sdk/models/tax_id_type.rb +36 -0
  342. data/lib/paypal_server_sdk/models/tax_info.rb +69 -0
  343. data/lib/paypal_server_sdk/models/taxes.rb +71 -0
  344. data/lib/paypal_server_sdk/models/taxes_override.rb +72 -0
  345. data/lib/paypal_server_sdk/models/tenure_type.rb +43 -0
  346. data/lib/paypal_server_sdk/models/three_d_secure_authentication_response.rb +76 -0
  347. data/lib/paypal_server_sdk/models/three_d_secure_card_authentication_response.rb +89 -0
  348. data/lib/paypal_server_sdk/models/token.rb +68 -0
  349. data/lib/paypal_server_sdk/models/token_type.rb +27 -0
  350. data/lib/paypal_server_sdk/models/transaction_details.rb +125 -0
  351. data/lib/paypal_server_sdk/models/transaction_information.rb +494 -0
  352. data/lib/paypal_server_sdk/models/transaction_search_error_details.rb +103 -0
  353. data/lib/paypal_server_sdk/models/transactions_list.rb +111 -0
  354. data/lib/paypal_server_sdk/models/trustly_payment_object.rb +111 -0
  355. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +98 -0
  356. data/lib/paypal_server_sdk/models/universal_product_code.rb +68 -0
  357. data/lib/paypal_server_sdk/models/upc_type.rb +56 -0
  358. data/lib/paypal_server_sdk/models/update_pricing_scheme.rb +72 -0
  359. data/lib/paypal_server_sdk/models/update_pricing_schemes_request.rb +69 -0
  360. data/lib/paypal_server_sdk/models/usage_pattern.rb +95 -0
  361. data/lib/paypal_server_sdk/models/usage_type.rb +39 -0
  362. data/lib/paypal_server_sdk/models/vault_apple_pay_request.rb +73 -0
  363. data/lib/paypal_server_sdk/models/vault_card_experience_context.rb +129 -0
  364. data/lib/paypal_server_sdk/models/vault_card_verification_method.rb +52 -0
  365. data/lib/paypal_server_sdk/models/vault_customer.rb +72 -0
  366. data/lib/paypal_server_sdk/models/vault_experience_context.rb +155 -0
  367. data/lib/paypal_server_sdk/models/vault_instruction.rb +62 -0
  368. data/lib/paypal_server_sdk/models/vault_instruction_action.rb +39 -0
  369. data/lib/paypal_server_sdk/models/vault_instruction_base.rb +64 -0
  370. data/lib/paypal_server_sdk/models/vault_paypal_wallet_request.rb +154 -0
  371. data/lib/paypal_server_sdk/models/vault_response.rb +100 -0
  372. data/lib/paypal_server_sdk/models/vault_response_customer.rb +86 -0
  373. data/lib/paypal_server_sdk/models/vault_status.rb +45 -0
  374. data/lib/paypal_server_sdk/models/vault_token_request.rb +68 -0
  375. data/lib/paypal_server_sdk/models/vault_token_request_type.rb +26 -0
  376. data/lib/paypal_server_sdk/models/vault_user_action.rb +42 -0
  377. data/lib/paypal_server_sdk/models/vault_venmo_request.rb +143 -0
  378. data/lib/paypal_server_sdk/models/vaulted_digital_wallet.rb +132 -0
  379. data/lib/paypal_server_sdk/models/vaulted_digital_wallet_shipping_details.rb +114 -0
  380. data/lib/paypal_server_sdk/models/venmo_experience_context.rb +101 -0
  381. data/lib/paypal_server_sdk/models/venmo_payment_token.rb +199 -0
  382. data/lib/paypal_server_sdk/models/venmo_payment_token_customer_type.rb +40 -0
  383. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_pattern.rb +58 -0
  384. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_type.rb +39 -0
  385. data/lib/paypal_server_sdk/models/venmo_vault_response.rb +100 -0
  386. data/lib/paypal_server_sdk/models/venmo_vault_response_status.rb +45 -0
  387. data/lib/paypal_server_sdk/models/venmo_wallet_additional_attributes.rb +72 -0
  388. data/lib/paypal_server_sdk/models/venmo_wallet_attributes_response.rb +62 -0
  389. data/lib/paypal_server_sdk/models/venmo_wallet_customer_information.rb +94 -0
  390. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context.rb +108 -0
  391. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context_shipping_preference.rb +43 -0
  392. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context_user_action.rb +42 -0
  393. data/lib/paypal_server_sdk/models/venmo_wallet_request.rb +102 -0
  394. data/lib/paypal_server_sdk/models/venmo_wallet_response.rb +146 -0
  395. data/lib/paypal_server_sdk/models/venmo_wallet_vault_attributes.rb +131 -0
  396. data/lib/{apimatic_calculator → paypal_server_sdk}/utilities/date_time_helper.rb +11 -11
  397. data/lib/{apimatic_calculator → paypal_server_sdk}/utilities/file_wrapper.rb +17 -17
  398. data/lib/paypal_server_sdk.rb +437 -0
  399. metadata +396 -18
  400. data/lib/apimatic_calculator/api_helper.rb +0 -10
  401. data/lib/apimatic_calculator/client.rb +0 -56
  402. data/lib/apimatic_calculator/controllers/simple_calculator_controller.rb +0 -33
  403. data/lib/apimatic_calculator/http/http_call_back.rb +0 -10
  404. data/lib/apimatic_calculator/http/http_method_enum.rb +0 -10
  405. data/lib/apimatic_calculator/http/http_request.rb +0 -10
  406. data/lib/apimatic_calculator/http/http_response.rb +0 -10
  407. data/lib/apimatic_calculator/models/operation_type_enum.rb +0 -44
  408. data/lib/apimatic_calculator.rb +0 -40
@@ -0,0 +1,107 @@
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 internationalized email address. Note: Up to 64 characters are allowed
13
+ # before and 255 characters are allowed after the @ sign. However, the
14
+ # generally accepted maximum length for an email address is 254 characters.
15
+ # The pattern verifies that an unquoted @ sign exists.
16
+ # @return [String]
17
+ attr_accessor :email_address
18
+
19
+ # The account identifier for a PayPal account.
20
+ # @return [String]
21
+ attr_accessor :payer_id
22
+
23
+ # The name of the party.
24
+ # @return [Name]
25
+ attr_accessor :name
26
+
27
+ # The shipping details.
28
+ # @return [ShippingDetails]
29
+ attr_accessor :shipping_address
30
+
31
+ # The payment source used to fund the payment.
32
+ # @return [SubscriptionPaymentSourceResponse]
33
+ attr_accessor :payment_source
34
+
35
+ # A mapping from model property names to API property names.
36
+ def self.names
37
+ @_hash = {} if @_hash.nil?
38
+ @_hash['email_address'] = 'email_address'
39
+ @_hash['payer_id'] = 'payer_id'
40
+ @_hash['name'] = 'name'
41
+ @_hash['shipping_address'] = 'shipping_address'
42
+ @_hash['payment_source'] = 'payment_source'
43
+ @_hash
44
+ end
45
+
46
+ # An array for optional fields
47
+ def self.optionals
48
+ %w[
49
+ email_address
50
+ payer_id
51
+ name
52
+ shipping_address
53
+ payment_source
54
+ ]
55
+ end
56
+
57
+ # An array for nullable fields
58
+ def self.nullables
59
+ []
60
+ end
61
+
62
+ def initialize(email_address: SKIP, payer_id: SKIP, name: SKIP,
63
+ shipping_address: SKIP, payment_source: SKIP)
64
+ @email_address = email_address unless email_address == SKIP
65
+ @payer_id = payer_id unless payer_id == SKIP
66
+ @name = name unless name == SKIP
67
+ @shipping_address = shipping_address unless shipping_address == SKIP
68
+ @payment_source = payment_source unless payment_source == SKIP
69
+ end
70
+
71
+ # Creates an instance of the object from a hash.
72
+ def self.from_hash(hash)
73
+ return nil unless hash
74
+
75
+ # Extract variables from the hash.
76
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
77
+ payer_id = hash.key?('payer_id') ? hash['payer_id'] : SKIP
78
+ name = Name.from_hash(hash['name']) if hash['name']
79
+ shipping_address = ShippingDetails.from_hash(hash['shipping_address']) if
80
+ hash['shipping_address']
81
+ payment_source = SubscriptionPaymentSourceResponse.from_hash(hash['payment_source']) if
82
+ hash['payment_source']
83
+
84
+ # Create object from extracted values.
85
+ Subscriber.new(email_address: email_address,
86
+ payer_id: payer_id,
87
+ name: name,
88
+ shipping_address: shipping_address,
89
+ payment_source: payment_source)
90
+ end
91
+
92
+ # Provides a human-readable string representation of the object.
93
+ def to_s
94
+ class_name = self.class.name.split('::').last
95
+ "<#{class_name} email_address: #{@email_address}, payer_id: #{@payer_id}, name: #{@name},"\
96
+ " shipping_address: #{@shipping_address}, payment_source: #{@payment_source}>"
97
+ end
98
+
99
+ # Provides a debugging-friendly string with detailed object information.
100
+ def inspect
101
+ class_name = self.class.name.split('::').last
102
+ "<#{class_name} email_address: #{@email_address.inspect}, payer_id: #{@payer_id.inspect},"\
103
+ " name: #{@name.inspect}, shipping_address: #{@shipping_address.inspect}, payment_source:"\
104
+ " #{@payment_source.inspect}>"
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,120 @@
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 internationalized email address. Note: Up to 64 characters are allowed
13
+ # before and 255 characters are allowed after the @ sign. However, the
14
+ # generally accepted maximum length for an email address is 254 characters.
15
+ # The pattern verifies that an unquoted @ sign exists.
16
+ # @return [String]
17
+ attr_accessor :email_address
18
+
19
+ # The account identifier for a PayPal account.
20
+ # @return [String]
21
+ attr_accessor :payer_id
22
+
23
+ # The name of the party.
24
+ # @return [Name]
25
+ attr_accessor :name
26
+
27
+ # The shipping details.
28
+ # @return [ShippingDetails]
29
+ attr_accessor :shipping_address
30
+
31
+ # The payment source definition. To be eligible to create subscription using
32
+ # debit or credit card, you will need to sign up here
33
+ # (https://www.paypal.com/bizsignup/entry/product/ppcp). Please note, its
34
+ # available only for non-3DS cards and for merchants in US and AU regions.
35
+ # @return [SubscriptionPaymentSource]
36
+ attr_accessor :payment_source
37
+
38
+ # The phone information.
39
+ # @return [PhoneWithType]
40
+ attr_accessor :phone
41
+
42
+ # A mapping from model property names to API property names.
43
+ def self.names
44
+ @_hash = {} if @_hash.nil?
45
+ @_hash['email_address'] = 'email_address'
46
+ @_hash['payer_id'] = 'payer_id'
47
+ @_hash['name'] = 'name'
48
+ @_hash['shipping_address'] = 'shipping_address'
49
+ @_hash['payment_source'] = 'payment_source'
50
+ @_hash['phone'] = 'phone'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ %w[
57
+ email_address
58
+ payer_id
59
+ name
60
+ shipping_address
61
+ payment_source
62
+ phone
63
+ ]
64
+ end
65
+
66
+ # An array for nullable fields
67
+ def self.nullables
68
+ []
69
+ end
70
+
71
+ def initialize(email_address: SKIP, payer_id: SKIP, name: SKIP,
72
+ shipping_address: SKIP, payment_source: SKIP, phone: SKIP)
73
+ @email_address = email_address unless email_address == SKIP
74
+ @payer_id = payer_id unless payer_id == SKIP
75
+ @name = name unless name == SKIP
76
+ @shipping_address = shipping_address unless shipping_address == SKIP
77
+ @payment_source = payment_source unless payment_source == SKIP
78
+ @phone = phone unless phone == 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
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
87
+ payer_id = hash.key?('payer_id') ? hash['payer_id'] : SKIP
88
+ name = Name.from_hash(hash['name']) if hash['name']
89
+ shipping_address = ShippingDetails.from_hash(hash['shipping_address']) if
90
+ hash['shipping_address']
91
+ payment_source = SubscriptionPaymentSource.from_hash(hash['payment_source']) if
92
+ hash['payment_source']
93
+ phone = PhoneWithType.from_hash(hash['phone']) if hash['phone']
94
+
95
+ # Create object from extracted values.
96
+ SubscriberRequest.new(email_address: email_address,
97
+ payer_id: payer_id,
98
+ name: name,
99
+ shipping_address: shipping_address,
100
+ payment_source: payment_source,
101
+ phone: phone)
102
+ end
103
+
104
+ # Provides a human-readable string representation of the object.
105
+ def to_s
106
+ class_name = self.class.name.split('::').last
107
+ "<#{class_name} email_address: #{@email_address}, payer_id: #{@payer_id}, name: #{@name},"\
108
+ " shipping_address: #{@shipping_address}, payment_source: #{@payment_source}, phone:"\
109
+ " #{@phone}>"
110
+ end
111
+
112
+ # Provides a debugging-friendly string with detailed object information.
113
+ def inspect
114
+ class_name = self.class.name.split('::').last
115
+ "<#{class_name} email_address: #{@email_address.inspect}, payer_id: #{@payer_id.inspect},"\
116
+ " name: #{@name.inspect}, shipping_address: #{@shipping_address.inspect}, payment_source:"\
117
+ " #{@payment_source.inspect}, phone: #{@phone.inspect}>"
118
+ end
119
+ end
120
+ 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