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,75 @@
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
+ # LastPaymentDetails Model.
8
+ class LastPaymentDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The currency and amount for a financial transaction, such as a balance or
13
+ # payment due.
14
+ # @return [Money]
15
+ attr_accessor :amount
16
+
17
+ # The date and time, in [Internet date and time
18
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
19
+ # required while fractional seconds are optional. Note: The regular
20
+ # expression provides guidance but does not reject all invalid dates.
21
+ # @return [String]
22
+ attr_accessor :time
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['amount'] = 'amount'
28
+ @_hash['time'] = 'time'
29
+ @_hash
30
+ end
31
+
32
+ # An array for optional fields
33
+ def self.optionals
34
+ %w[
35
+ amount
36
+ time
37
+ ]
38
+ end
39
+
40
+ # An array for nullable fields
41
+ def self.nullables
42
+ []
43
+ end
44
+
45
+ def initialize(amount: SKIP, time: SKIP)
46
+ @amount = amount unless amount == SKIP
47
+ @time = time unless time == SKIP
48
+ end
49
+
50
+ # Creates an instance of the object from a hash.
51
+ def self.from_hash(hash)
52
+ return nil unless hash
53
+
54
+ # Extract variables from the hash.
55
+ amount = Money.from_hash(hash['amount']) if hash['amount']
56
+ time = hash.key?('time') ? hash['time'] : SKIP
57
+
58
+ # Create object from extracted values.
59
+ LastPaymentDetails.new(amount: amount,
60
+ time: time)
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} amount: #{@amount}, time: #{@time}>"
67
+ end
68
+
69
+ # Provides a debugging-friendly string with detailed object information.
70
+ def inspect
71
+ class_name = self.class.name.split('::').last
72
+ "<#{class_name} amount: #{@amount.inspect}, time: #{@time.inspect}>"
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,78 @@
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 level 2 card processing data collections. If your merchant account has
8
+ # been configured for Level 2 processing this field will be passed to the
9
+ # processor on your behalf. Please contact your PayPal Technical Account
10
+ # Manager to define level 2 data for your business.
11
+ class Level2CardProcessingData < BaseModel
12
+ SKIP = Object.new
13
+ private_constant :SKIP
14
+
15
+ # Use this field to pass a purchase identification value of up to 127 ASCII
16
+ # characters. The length of this field will be adjusted to meet network
17
+ # specifications (25chars for Visa and Mastercard, 17chars for Amex), and
18
+ # the original invoice ID will still be displayed in your existing reports.
19
+ # @return [String]
20
+ attr_accessor :invoice_id
21
+
22
+ # The currency and amount for a financial transaction, such as a balance or
23
+ # payment due.
24
+ # @return [Money]
25
+ attr_accessor :tax_total
26
+
27
+ # A mapping from model property names to API property names.
28
+ def self.names
29
+ @_hash = {} if @_hash.nil?
30
+ @_hash['invoice_id'] = 'invoice_id'
31
+ @_hash['tax_total'] = 'tax_total'
32
+ @_hash
33
+ end
34
+
35
+ # An array for optional fields
36
+ def self.optionals
37
+ %w[
38
+ invoice_id
39
+ tax_total
40
+ ]
41
+ end
42
+
43
+ # An array for nullable fields
44
+ def self.nullables
45
+ []
46
+ end
47
+
48
+ def initialize(invoice_id: SKIP, tax_total: SKIP)
49
+ @invoice_id = invoice_id unless invoice_id == SKIP
50
+ @tax_total = tax_total unless tax_total == SKIP
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ invoice_id = hash.key?('invoice_id') ? hash['invoice_id'] : SKIP
59
+ tax_total = Money.from_hash(hash['tax_total']) if hash['tax_total']
60
+
61
+ # Create object from extracted values.
62
+ Level2CardProcessingData.new(invoice_id: invoice_id,
63
+ tax_total: tax_total)
64
+ end
65
+
66
+ # Provides a human-readable string representation of the object.
67
+ def to_s
68
+ class_name = self.class.name.split('::').last
69
+ "<#{class_name} invoice_id: #{@invoice_id}, tax_total: #{@tax_total}>"
70
+ end
71
+
72
+ # Provides a debugging-friendly string with detailed object information.
73
+ def inspect
74
+ class_name = self.class.name.split('::').last
75
+ "<#{class_name} invoice_id: #{@invoice_id.inspect}, tax_total: #{@tax_total.inspect}>"
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,137 @@
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 level 3 card processing data collections, If your merchant account has
8
+ # been configured for Level 3 processing this field will be passed to the
9
+ # processor on your behalf. Please contact your PayPal Technical Account
10
+ # Manager to define level 3 data for your business.
11
+ class Level3CardProcessingData < BaseModel
12
+ SKIP = Object.new
13
+ private_constant :SKIP
14
+
15
+ # The currency and amount for a financial transaction, such as a balance or
16
+ # payment due.
17
+ # @return [Money]
18
+ attr_accessor :shipping_amount
19
+
20
+ # The currency and amount for a financial transaction, such as a balance or
21
+ # payment due.
22
+ # @return [Money]
23
+ attr_accessor :duty_amount
24
+
25
+ # The currency and amount for a financial transaction, such as a balance or
26
+ # payment due.
27
+ # @return [Money]
28
+ attr_accessor :discount_amount
29
+
30
+ # The portable international postal address. Maps to
31
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
32
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
33
+ # the autocomplete
34
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
35
+ # ntrols-the-autocomplete-attribute).
36
+ # @return [Address]
37
+ attr_accessor :shipping_address
38
+
39
+ # Use this field to specify the postal code of the shipping location.
40
+ # @return [String]
41
+ attr_accessor :ships_from_postal_code
42
+
43
+ # A list of the items that were purchased with this payment. If your
44
+ # merchant account has been configured for Level 3 processing this field
45
+ # will be passed to the processor on your behalf.
46
+ # @return [Array[LineItem]]
47
+ attr_accessor :line_items
48
+
49
+ # A mapping from model property names to API property names.
50
+ def self.names
51
+ @_hash = {} if @_hash.nil?
52
+ @_hash['shipping_amount'] = 'shipping_amount'
53
+ @_hash['duty_amount'] = 'duty_amount'
54
+ @_hash['discount_amount'] = 'discount_amount'
55
+ @_hash['shipping_address'] = 'shipping_address'
56
+ @_hash['ships_from_postal_code'] = 'ships_from_postal_code'
57
+ @_hash['line_items'] = 'line_items'
58
+ @_hash
59
+ end
60
+
61
+ # An array for optional fields
62
+ def self.optionals
63
+ %w[
64
+ shipping_amount
65
+ duty_amount
66
+ discount_amount
67
+ shipping_address
68
+ ships_from_postal_code
69
+ line_items
70
+ ]
71
+ end
72
+
73
+ # An array for nullable fields
74
+ def self.nullables
75
+ []
76
+ end
77
+
78
+ def initialize(shipping_amount: SKIP, duty_amount: SKIP,
79
+ discount_amount: SKIP, shipping_address: SKIP,
80
+ ships_from_postal_code: SKIP, line_items: SKIP)
81
+ @shipping_amount = shipping_amount unless shipping_amount == SKIP
82
+ @duty_amount = duty_amount unless duty_amount == SKIP
83
+ @discount_amount = discount_amount unless discount_amount == SKIP
84
+ @shipping_address = shipping_address unless shipping_address == SKIP
85
+ @ships_from_postal_code = ships_from_postal_code unless ships_from_postal_code == SKIP
86
+ @line_items = line_items unless line_items == SKIP
87
+ end
88
+
89
+ # Creates an instance of the object from a hash.
90
+ def self.from_hash(hash)
91
+ return nil unless hash
92
+
93
+ # Extract variables from the hash.
94
+ shipping_amount = Money.from_hash(hash['shipping_amount']) if hash['shipping_amount']
95
+ duty_amount = Money.from_hash(hash['duty_amount']) if hash['duty_amount']
96
+ discount_amount = Money.from_hash(hash['discount_amount']) if hash['discount_amount']
97
+ shipping_address = Address.from_hash(hash['shipping_address']) if hash['shipping_address']
98
+ ships_from_postal_code =
99
+ hash.key?('ships_from_postal_code') ? hash['ships_from_postal_code'] : SKIP
100
+ # Parameter is an array, so we need to iterate through it
101
+ line_items = nil
102
+ unless hash['line_items'].nil?
103
+ line_items = []
104
+ hash['line_items'].each do |structure|
105
+ line_items << (LineItem.from_hash(structure) if structure)
106
+ end
107
+ end
108
+
109
+ line_items = SKIP unless hash.key?('line_items')
110
+
111
+ # Create object from extracted values.
112
+ Level3CardProcessingData.new(shipping_amount: shipping_amount,
113
+ duty_amount: duty_amount,
114
+ discount_amount: discount_amount,
115
+ shipping_address: shipping_address,
116
+ ships_from_postal_code: ships_from_postal_code,
117
+ line_items: line_items)
118
+ end
119
+
120
+ # Provides a human-readable string representation of the object.
121
+ def to_s
122
+ class_name = self.class.name.split('::').last
123
+ "<#{class_name} shipping_amount: #{@shipping_amount}, duty_amount: #{@duty_amount},"\
124
+ " discount_amount: #{@discount_amount}, shipping_address: #{@shipping_address},"\
125
+ " ships_from_postal_code: #{@ships_from_postal_code}, line_items: #{@line_items}>"
126
+ end
127
+
128
+ # Provides a debugging-friendly string with detailed object information.
129
+ def inspect
130
+ class_name = self.class.name.split('::').last
131
+ "<#{class_name} shipping_amount: #{@shipping_amount.inspect}, duty_amount:"\
132
+ " #{@duty_amount.inspect}, discount_amount: #{@discount_amount.inspect}, shipping_address:"\
133
+ " #{@shipping_address.inspect}, ships_from_postal_code: #{@ships_from_postal_code.inspect},"\
134
+ " line_items: #{@line_items.inspect}>"
135
+ end
136
+ end
137
+ end
@@ -0,0 +1,40 @@
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
+ # Liability shift indicator. The outcome of the issuer's authentication.
8
+ class LiabilityShiftIndicator
9
+ LIABILITY_SHIFT_INDICATOR = [
10
+ # Liability is with the merchant.
11
+ NO = 'NO'.freeze,
12
+
13
+ # Liability may shift to the card issuer.
14
+ POSSIBLE = 'POSSIBLE'.freeze,
15
+
16
+ # The authentication system is not available.
17
+ UNKNOWN = 'UNKNOWN'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ true
24
+ end
25
+
26
+ def self.from_value(value, default_value = NO)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'no' then NO
33
+ when 'possible' then POSSIBLE
34
+ when 'unknown' then UNKNOWN
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,209 @@
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 line items for this purchase. If your merchant account has been
8
+ # configured for Level 3 processing this field will be passed to the processor
9
+ # on your behalf.
10
+ class LineItem < BaseModel
11
+ SKIP = Object.new
12
+ private_constant :SKIP
13
+
14
+ # The item name or title.
15
+ # @return [String]
16
+ attr_accessor :name
17
+
18
+ # The item quantity. Must be a whole number.
19
+ # @return [String]
20
+ attr_accessor :quantity
21
+
22
+ # The detailed item description.
23
+ # @return [String]
24
+ attr_accessor :description
25
+
26
+ # The stock keeping unit (SKU) for the item.
27
+ # @return [String]
28
+ attr_accessor :sku
29
+
30
+ # The URL to the item being purchased. Visible to buyer and used in buyer
31
+ # experiences.
32
+ # @return [String]
33
+ attr_accessor :url
34
+
35
+ # The URL of the item's image. File type and size restrictions apply. An
36
+ # image that violates these restrictions will not be honored.
37
+ # @return [String]
38
+ attr_accessor :image_url
39
+
40
+ # The Universal Product Code of the item.
41
+ # @return [UniversalProductCode]
42
+ attr_accessor :upc
43
+
44
+ # Metadata for merchant-managed recurring billing plans. Valid only during
45
+ # the saved payment method token or billing agreement creation.
46
+ # @return [OrderBillingPlan]
47
+ attr_accessor :billing_plan
48
+
49
+ # The currency and amount for a financial transaction, such as a balance or
50
+ # payment due.
51
+ # @return [Money]
52
+ attr_accessor :unit_amount
53
+
54
+ # The currency and amount for a financial transaction, such as a balance or
55
+ # payment due.
56
+ # @return [Money]
57
+ attr_accessor :tax
58
+
59
+ # Code used to classify items purchased and track the total amount spent
60
+ # across various categories of products and services. Different corporate
61
+ # purchasing organizations may use different standards, but the United
62
+ # Nations Standard Products and Services Code (UNSPSC) is frequently used.
63
+ # @return [String]
64
+ attr_accessor :commodity_code
65
+
66
+ # The currency and amount for a financial transaction, such as a balance or
67
+ # payment due.
68
+ # @return [Money]
69
+ attr_accessor :discount_amount
70
+
71
+ # The currency and amount for a financial transaction, such as a balance or
72
+ # payment due.
73
+ # @return [Money]
74
+ attr_accessor :total_amount
75
+
76
+ # Unit of measure is a standard used to express the magnitude of a quantity
77
+ # in international trade. Most commonly used (but not limited to) examples
78
+ # are: Acre (ACR), Ampere (AMP), Centigram (CGM), Centimetre (CMT), Cubic
79
+ # inch (INQ), Cubic metre (MTQ), Fluid ounce (OZA), Foot (FOT), Hour (HUR),
80
+ # Item (ITM), Kilogram (KGM), Kilometre (KMT), Kilowatt (KWT), Liquid gallon
81
+ # (GLL), Liter (LTR), Pounds (LBS), Square foot (FTK).
82
+ # @return [String]
83
+ attr_accessor :unit_of_measure
84
+
85
+ # A mapping from model property names to API property names.
86
+ def self.names
87
+ @_hash = {} if @_hash.nil?
88
+ @_hash['name'] = 'name'
89
+ @_hash['quantity'] = 'quantity'
90
+ @_hash['description'] = 'description'
91
+ @_hash['sku'] = 'sku'
92
+ @_hash['url'] = 'url'
93
+ @_hash['image_url'] = 'image_url'
94
+ @_hash['upc'] = 'upc'
95
+ @_hash['billing_plan'] = 'billing_plan'
96
+ @_hash['unit_amount'] = 'unit_amount'
97
+ @_hash['tax'] = 'tax'
98
+ @_hash['commodity_code'] = 'commodity_code'
99
+ @_hash['discount_amount'] = 'discount_amount'
100
+ @_hash['total_amount'] = 'total_amount'
101
+ @_hash['unit_of_measure'] = 'unit_of_measure'
102
+ @_hash
103
+ end
104
+
105
+ # An array for optional fields
106
+ def self.optionals
107
+ %w[
108
+ description
109
+ sku
110
+ url
111
+ image_url
112
+ upc
113
+ billing_plan
114
+ unit_amount
115
+ tax
116
+ commodity_code
117
+ discount_amount
118
+ total_amount
119
+ unit_of_measure
120
+ ]
121
+ end
122
+
123
+ # An array for nullable fields
124
+ def self.nullables
125
+ []
126
+ end
127
+
128
+ def initialize(name:, quantity:, description: SKIP, sku: SKIP, url: SKIP,
129
+ image_url: SKIP, upc: SKIP, billing_plan: SKIP,
130
+ unit_amount: SKIP, tax: SKIP, commodity_code: SKIP,
131
+ discount_amount: SKIP, total_amount: SKIP,
132
+ unit_of_measure: SKIP)
133
+ @name = name
134
+ @quantity = quantity
135
+ @description = description unless description == SKIP
136
+ @sku = sku unless sku == SKIP
137
+ @url = url unless url == SKIP
138
+ @image_url = image_url unless image_url == SKIP
139
+ @upc = upc unless upc == SKIP
140
+ @billing_plan = billing_plan unless billing_plan == SKIP
141
+ @unit_amount = unit_amount unless unit_amount == SKIP
142
+ @tax = tax unless tax == SKIP
143
+ @commodity_code = commodity_code unless commodity_code == SKIP
144
+ @discount_amount = discount_amount unless discount_amount == SKIP
145
+ @total_amount = total_amount unless total_amount == SKIP
146
+ @unit_of_measure = unit_of_measure unless unit_of_measure == SKIP
147
+ end
148
+
149
+ # Creates an instance of the object from a hash.
150
+ def self.from_hash(hash)
151
+ return nil unless hash
152
+
153
+ # Extract variables from the hash.
154
+ name = hash.key?('name') ? hash['name'] : nil
155
+ quantity = hash.key?('quantity') ? hash['quantity'] : nil
156
+ description = hash.key?('description') ? hash['description'] : SKIP
157
+ sku = hash.key?('sku') ? hash['sku'] : SKIP
158
+ url = hash.key?('url') ? hash['url'] : SKIP
159
+ image_url = hash.key?('image_url') ? hash['image_url'] : SKIP
160
+ upc = UniversalProductCode.from_hash(hash['upc']) if hash['upc']
161
+ billing_plan = OrderBillingPlan.from_hash(hash['billing_plan']) if hash['billing_plan']
162
+ unit_amount = Money.from_hash(hash['unit_amount']) if hash['unit_amount']
163
+ tax = Money.from_hash(hash['tax']) if hash['tax']
164
+ commodity_code =
165
+ hash.key?('commodity_code') ? hash['commodity_code'] : SKIP
166
+ discount_amount = Money.from_hash(hash['discount_amount']) if hash['discount_amount']
167
+ total_amount = Money.from_hash(hash['total_amount']) if hash['total_amount']
168
+ unit_of_measure =
169
+ hash.key?('unit_of_measure') ? hash['unit_of_measure'] : SKIP
170
+
171
+ # Create object from extracted values.
172
+ LineItem.new(name: name,
173
+ quantity: quantity,
174
+ description: description,
175
+ sku: sku,
176
+ url: url,
177
+ image_url: image_url,
178
+ upc: upc,
179
+ billing_plan: billing_plan,
180
+ unit_amount: unit_amount,
181
+ tax: tax,
182
+ commodity_code: commodity_code,
183
+ discount_amount: discount_amount,
184
+ total_amount: total_amount,
185
+ unit_of_measure: unit_of_measure)
186
+ end
187
+
188
+ # Provides a human-readable string representation of the object.
189
+ def to_s
190
+ class_name = self.class.name.split('::').last
191
+ "<#{class_name} name: #{@name}, quantity: #{@quantity}, description: #{@description}, sku:"\
192
+ " #{@sku}, url: #{@url}, image_url: #{@image_url}, upc: #{@upc}, billing_plan:"\
193
+ " #{@billing_plan}, unit_amount: #{@unit_amount}, tax: #{@tax}, commodity_code:"\
194
+ " #{@commodity_code}, discount_amount: #{@discount_amount}, total_amount: #{@total_amount},"\
195
+ " unit_of_measure: #{@unit_of_measure}>"
196
+ end
197
+
198
+ # Provides a debugging-friendly string with detailed object information.
199
+ def inspect
200
+ class_name = self.class.name.split('::').last
201
+ "<#{class_name} name: #{@name.inspect}, quantity: #{@quantity.inspect}, description:"\
202
+ " #{@description.inspect}, sku: #{@sku.inspect}, url: #{@url.inspect}, image_url:"\
203
+ " #{@image_url.inspect}, upc: #{@upc.inspect}, billing_plan: #{@billing_plan.inspect},"\
204
+ " unit_amount: #{@unit_amount.inspect}, tax: #{@tax.inspect}, commodity_code:"\
205
+ " #{@commodity_code.inspect}, discount_amount: #{@discount_amount.inspect}, total_amount:"\
206
+ " #{@total_amount.inspect}, unit_of_measure: #{@unit_of_measure.inspect}>"
207
+ end
208
+ end
209
+ end
@@ -0,0 +1,92 @@
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 request-related [HATEOAS
8
+ # link](https://developer.paypal.com/api/rest/responses/#hateoas-links)
9
+ # information., The request-related [HATEOAS
10
+ # link](/api/rest/responses/#hateoas-links) information., The request-related
11
+ # [HATEOAS
12
+ # link](https://developer.paypal.com/api/rest/responses/#hateoas-links)
13
+ # information.
14
+ class LinkDescription < BaseModel
15
+ SKIP = Object.new
16
+ private_constant :SKIP
17
+
18
+ # The complete target URL. To make the related call, combine the method with
19
+ # this [URI Template-formatted](https://tools.ietf.org/html/rfc6570) link.
20
+ # For pre-processing, include the `$`, `(`, and `)` characters. The `href`
21
+ # is the key HATEOAS component that links a completed call with a subsequent
22
+ # call.
23
+ # @return [String]
24
+ attr_accessor :href
25
+
26
+ # The [link relation type](https://tools.ietf.org/html/rfc5988#section-4),
27
+ # which serves as an ID for a link that unambiguously describes the
28
+ # semantics of the link. See [Link
29
+ # Relations](https://www.iana.org/assignments/link-relations/link-relations.
30
+ # xhtml).
31
+ # @return [String]
32
+ attr_accessor :rel
33
+
34
+ # The HTTP method required to make the related call.
35
+ # @return [LinkHttpMethod]
36
+ attr_accessor :method
37
+
38
+ # A mapping from model property names to API property names.
39
+ def self.names
40
+ @_hash = {} if @_hash.nil?
41
+ @_hash['href'] = 'href'
42
+ @_hash['rel'] = 'rel'
43
+ @_hash['method'] = 'method'
44
+ @_hash
45
+ end
46
+
47
+ # An array for optional fields
48
+ def self.optionals
49
+ %w[
50
+ method
51
+ ]
52
+ end
53
+
54
+ # An array for nullable fields
55
+ def self.nullables
56
+ []
57
+ end
58
+
59
+ def initialize(href:, rel:, method: SKIP)
60
+ @href = href
61
+ @rel = rel
62
+ @method = method unless method == SKIP
63
+ end
64
+
65
+ # Creates an instance of the object from a hash.
66
+ def self.from_hash(hash)
67
+ return nil unless hash
68
+
69
+ # Extract variables from the hash.
70
+ href = hash.key?('href') ? hash['href'] : nil
71
+ rel = hash.key?('rel') ? hash['rel'] : nil
72
+ method = hash.key?('method') ? hash['method'] : SKIP
73
+
74
+ # Create object from extracted values.
75
+ LinkDescription.new(href: href,
76
+ rel: rel,
77
+ method: method)
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} href: #{@href}, rel: #{@rel}, method: #{@method}>"
84
+ end
85
+
86
+ # Provides a debugging-friendly string with detailed object information.
87
+ def inspect
88
+ class_name = self.class.name.split('::').last
89
+ "<#{class_name} href: #{@href.inspect}, rel: #{@rel.inspect}, method: #{@method.inspect}>"
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,60 @@
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 HTTP method required to make the related call.
8
+ class LinkHttpMethod
9
+ LINK_HTTP_METHOD = [
10
+ # The HTTP GET method.
11
+ GET = 'GET'.freeze,
12
+
13
+ # The HTTP POST method.
14
+ POST = 'POST'.freeze,
15
+
16
+ # The HTTP PUT method.
17
+ PUT = 'PUT'.freeze,
18
+
19
+ # The HTTP DELETE method.
20
+ DELETE = 'DELETE'.freeze,
21
+
22
+ # The HTTP HEAD method.
23
+ HEAD = 'HEAD'.freeze,
24
+
25
+ # The HTTP CONNECT method.
26
+ CONNECT = 'CONNECT'.freeze,
27
+
28
+ # The HTTP OPTIONS method.
29
+ OPTIONS = 'OPTIONS'.freeze,
30
+
31
+ # The HTTP PATCH method.
32
+ PATCH = 'PATCH'.freeze
33
+ ].freeze
34
+
35
+ def self.validate(value)
36
+ return false if value.nil?
37
+
38
+ true
39
+ end
40
+
41
+ def self.from_value(value, default_value = GET)
42
+ return default_value if value.nil?
43
+
44
+ str = value.to_s.strip
45
+
46
+ case str.downcase
47
+ when 'get' then GET
48
+ when 'post' then POST
49
+ when 'put' then PUT
50
+ when 'delete' then DELETE
51
+ when 'head' then HEAD
52
+ when 'connect' then CONNECT
53
+ when 'options' then OPTIONS
54
+ when 'patch' then PATCH
55
+ else
56
+ default_value
57
+ end
58
+ end
59
+ end
60
+ end