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,64 @@
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
+ # Profile information of the sender or receiver.
8
+ class ParticipantMetadata < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # An Internet Protocol address (IP address). This address assigns a
13
+ # numerical label to each device that is connected to a computer network
14
+ # through the Internet Protocol. Supports IPv4 and IPv6 addresses.
15
+ # @return [String]
16
+ attr_accessor :ip_address
17
+
18
+ # A mapping from model property names to API property names.
19
+ def self.names
20
+ @_hash = {} if @_hash.nil?
21
+ @_hash['ip_address'] = 'ip_address'
22
+ @_hash
23
+ end
24
+
25
+ # An array for optional fields
26
+ def self.optionals
27
+ %w[
28
+ ip_address
29
+ ]
30
+ end
31
+
32
+ # An array for nullable fields
33
+ def self.nullables
34
+ []
35
+ end
36
+
37
+ def initialize(ip_address: SKIP)
38
+ @ip_address = ip_address unless ip_address == SKIP
39
+ end
40
+
41
+ # Creates an instance of the object from a hash.
42
+ def self.from_hash(hash)
43
+ return nil unless hash
44
+
45
+ # Extract variables from the hash.
46
+ ip_address = hash.key?('ip_address') ? hash['ip_address'] : SKIP
47
+
48
+ # Create object from extracted values.
49
+ ParticipantMetadata.new(ip_address: ip_address)
50
+ end
51
+
52
+ # Provides a human-readable string representation of the object.
53
+ def to_s
54
+ class_name = self.class.name.split('::').last
55
+ "<#{class_name} ip_address: #{@ip_address}>"
56
+ end
57
+
58
+ # Provides a debugging-friendly string with detailed object information.
59
+ def inspect
60
+ class_name = self.class.name.split('::').last
61
+ "<#{class_name} ip_address: #{@ip_address.inspect}>"
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,93 @@
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 JSON patch object to apply partial updates to resources.
8
+ class Patch < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The operation.
13
+ # @return [PatchOp]
14
+ attr_accessor :op
15
+
16
+ # The JSON Pointer to the target document location at which to complete the
17
+ # operation.
18
+ # @return [String]
19
+ attr_accessor :path
20
+
21
+ # The value to apply. The remove, copy, and move operations do not require a
22
+ # value. Since JSON Patch allows any type for value, the type property is
23
+ # not specified.
24
+ # @return [Object]
25
+ attr_accessor :value
26
+
27
+ # The JSON Pointer to the target document location from which to move the
28
+ # value. Required for the move operation.
29
+ # @return [String]
30
+ attr_accessor :from
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['op'] = 'op'
36
+ @_hash['path'] = 'path'
37
+ @_hash['value'] = 'value'
38
+ @_hash['from'] = 'from'
39
+ @_hash
40
+ end
41
+
42
+ # An array for optional fields
43
+ def self.optionals
44
+ %w[
45
+ path
46
+ value
47
+ from
48
+ ]
49
+ end
50
+
51
+ # An array for nullable fields
52
+ def self.nullables
53
+ []
54
+ end
55
+
56
+ def initialize(op:, path: SKIP, value: SKIP, from: SKIP)
57
+ @op = op
58
+ @path = path unless path == SKIP
59
+ @value = value unless value == SKIP
60
+ @from = from unless from == SKIP
61
+ end
62
+
63
+ # Creates an instance of the object from a hash.
64
+ def self.from_hash(hash)
65
+ return nil unless hash
66
+
67
+ # Extract variables from the hash.
68
+ op = hash.key?('op') ? hash['op'] : nil
69
+ path = hash.key?('path') ? hash['path'] : SKIP
70
+ value = hash.key?('value') ? hash['value'] : SKIP
71
+ from = hash.key?('from') ? hash['from'] : SKIP
72
+
73
+ # Create object from extracted values.
74
+ Patch.new(op: op,
75
+ path: path,
76
+ value: value,
77
+ from: from)
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} op: #{@op}, path: #{@path}, value: #{@value}, from: #{@from}>"
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} op: #{@op.inspect}, path: #{@path.inspect}, value: #{@value.inspect}, from:"\
90
+ " #{@from.inspect}>"
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,89 @@
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 operation.
8
+ class PatchOp
9
+ PATCH_OP = [
10
+ # Depending on the target location reference, completes one of these
11
+ # functions: The target location is an array index. Inserts a new value
12
+ # into the array at the specified index. The target location is an object
13
+ # parameter that does not already exist. Adds a new parameter to the
14
+ # object. The target location is an object parameter that does exist.
15
+ # Replaces that parameter's value. The value parameter defines the value
16
+ # to add. For more information, see 4.1. add.
17
+ ADD = 'add'.freeze,
18
+
19
+ # Removes the value at the target location. For the operation to succeed,
20
+ # the target location must exist. For more information, see 4.2. remove.
21
+ REMOVE = 'remove'.freeze,
22
+
23
+ # Replaces the value at the target location with a new value. The
24
+ # operation object must contain a value parameter that defines the
25
+ # replacement value. For the operation to succeed, the target location
26
+ # must exist. For more information, see 4.3. replace.
27
+ REPLACE = 'replace'.freeze,
28
+
29
+ # Removes the value at a specified location and adds it to the target
30
+ # location. The operation object must contain a from parameter, which is a
31
+ # string that contains a JSON pointer value that references the location
32
+ # in the target document from which to move the value. For the operation
33
+ # to succeed, the from location must exist. For more information, see 4.4.
34
+ # move.
35
+ MOVE = 'move'.freeze,
36
+
37
+ # Copies the value at a specified location to the target location. The
38
+ # operation object must contain a from parameter, which is a string that
39
+ # contains a JSON pointer value that references the location in the target
40
+ # document from which to copy the value. For the operation to succeed, the
41
+ # from location must exist. For more information, see 4.5. copy.
42
+ COPY = 'copy'.freeze,
43
+
44
+ # Tests that a value at the target location is equal to a specified value.
45
+ # The operation object must contain a value parameter that defines the
46
+ # value to compare to the target location's value. For the operation to
47
+ # succeed, the target location must be equal to the value value. For test,
48
+ # equal indicates that the value at the target location and the value that
49
+ # value defines are of the same JSON type. The data type of the value
50
+ # determines how equality is defined: Type Considered equal if both values
51
+ # strings Contain the same number of Unicode characters and their code
52
+ # points are byte-by-byte equal. numbers Are numerically equal. arrays
53
+ # Contain the same number of values, and each value is equal to the value
54
+ # at the corresponding position in the other array, by using these
55
+ # type-specific rules. objects Contain the same number of parameters, and
56
+ # each parameter is equal to a parameter in the other object, by comparing
57
+ # their keys (as strings) and their values (by using these type-specific
58
+ # rules). literals (false, true, and null) Are the same. The comparison is
59
+ # a logical comparison. For example, whitespace between the parameter
60
+ # values of an array is not significant. Also, ordering of the
61
+ # serialization of object parameters is not significant. For more
62
+ # information, see 4.6. test.
63
+ TEST = 'test'.freeze
64
+ ].freeze
65
+
66
+ def self.validate(value)
67
+ return false if value.nil?
68
+
69
+ true
70
+ end
71
+
72
+ def self.from_value(value, default_value = ADD)
73
+ return default_value if value.nil?
74
+
75
+ str = value.to_s.strip
76
+
77
+ case str.downcase
78
+ when 'add' then ADD
79
+ when 'remove' then REMOVE
80
+ when 'replace' then REPLACE
81
+ when 'move' then MOVE
82
+ when 'copy' then COPY
83
+ when 'test' then TEST
84
+ else
85
+ default_value
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,76 @@
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 details for the merchant who receives the funds and fulfills the order.
8
+ # The merchant is also known as the payee.
9
+ class PayeeBase < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The internationalized email address. Note: Up to 64 characters are allowed
14
+ # before and 255 characters are allowed after the @ sign. However, the
15
+ # generally accepted maximum length for an email address is 254 characters.
16
+ # The pattern verifies that an unquoted @ sign exists.
17
+ # @return [String]
18
+ attr_accessor :email_address
19
+
20
+ # The account identifier for a PayPal account.
21
+ # @return [String]
22
+ attr_accessor :merchant_id
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['email_address'] = 'email_address'
28
+ @_hash['merchant_id'] = 'merchant_id'
29
+ @_hash
30
+ end
31
+
32
+ # An array for optional fields
33
+ def self.optionals
34
+ %w[
35
+ email_address
36
+ merchant_id
37
+ ]
38
+ end
39
+
40
+ # An array for nullable fields
41
+ def self.nullables
42
+ []
43
+ end
44
+
45
+ def initialize(email_address: SKIP, merchant_id: SKIP)
46
+ @email_address = email_address unless email_address == SKIP
47
+ @merchant_id = merchant_id unless merchant_id == 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
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
56
+ merchant_id = hash.key?('merchant_id') ? hash['merchant_id'] : SKIP
57
+
58
+ # Create object from extracted values.
59
+ PayeeBase.new(email_address: email_address,
60
+ merchant_id: merchant_id)
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} email_address: #{@email_address}, merchant_id: #{@merchant_id}>"
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} email_address: #{@email_address.inspect}, merchant_id:"\
73
+ " #{@merchant_id.inspect}>"
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,38 @@
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 merchant-preferred payment methods.
8
+ class PayeePaymentMethodPreference
9
+ PAYEE_PAYMENT_METHOD_PREFERENCE = [
10
+ # Accepts any type of payment from the customer.
11
+ UNRESTRICTED = 'UNRESTRICTED'.freeze,
12
+
13
+ # Accepts only immediate payment from the customer. For example, credit
14
+ # card, PayPal balance, or instant ACH. Ensures that at the time of
15
+ # capture, the payment does not have the `pending` status.
16
+ IMMEDIATE_PAYMENT_REQUIRED = 'IMMEDIATE_PAYMENT_REQUIRED'.freeze
17
+ ].freeze
18
+
19
+ def self.validate(value)
20
+ return false if value.nil?
21
+
22
+ true
23
+ end
24
+
25
+ def self.from_value(value, default_value = UNRESTRICTED)
26
+ return default_value if value.nil?
27
+
28
+ str = value.to_s.strip
29
+
30
+ case str.downcase
31
+ when 'unrestricted' then UNRESTRICTED
32
+ when 'immediate_payment_required' then IMMEDIATE_PAYMENT_REQUIRED
33
+ else
34
+ default_value
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,136 @@
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 customer who approves and pays for the order. The customer is also known
8
+ # as the payer.
9
+ class Payer < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The internationalized email address. Note: Up to 64 characters are allowed
14
+ # before and 255 characters are allowed after the @ sign. However, the
15
+ # generally accepted maximum length for an email address is 254 characters.
16
+ # The pattern verifies that an unquoted @ sign exists.
17
+ # @return [String]
18
+ attr_accessor :email_address
19
+
20
+ # The account identifier for a PayPal account.
21
+ # @return [String]
22
+ attr_accessor :payer_id
23
+
24
+ # The name of the party.
25
+ # @return [Name]
26
+ attr_accessor :name
27
+
28
+ # The phone information.
29
+ # @return [PhoneWithType]
30
+ attr_accessor :phone
31
+
32
+ # The stand-alone date, in [Internet date and time
33
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). To represent
34
+ # special legal values, such as a date of birth, you should use dates with
35
+ # no associated time or time-zone data. Whenever possible, use the standard
36
+ # `date_time` type. This regular expression does not validate all dates. For
37
+ # example, February 31 is valid and nothing is known about leap years.
38
+ # @return [String]
39
+ attr_accessor :birth_date
40
+
41
+ # The tax ID of the customer. The customer is also known as the payer. Both
42
+ # `tax_id` and `tax_id_type` are required.
43
+ # @return [TaxInfo]
44
+ attr_accessor :tax_info
45
+
46
+ # The portable international postal address. Maps to
47
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
48
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
49
+ # the autocomplete
50
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
51
+ # ntrols-the-autocomplete-attribute).
52
+ # @return [Address]
53
+ attr_accessor :address
54
+
55
+ # A mapping from model property names to API property names.
56
+ def self.names
57
+ @_hash = {} if @_hash.nil?
58
+ @_hash['email_address'] = 'email_address'
59
+ @_hash['payer_id'] = 'payer_id'
60
+ @_hash['name'] = 'name'
61
+ @_hash['phone'] = 'phone'
62
+ @_hash['birth_date'] = 'birth_date'
63
+ @_hash['tax_info'] = 'tax_info'
64
+ @_hash['address'] = 'address'
65
+ @_hash
66
+ end
67
+
68
+ # An array for optional fields
69
+ def self.optionals
70
+ %w[
71
+ email_address
72
+ payer_id
73
+ name
74
+ phone
75
+ birth_date
76
+ tax_info
77
+ address
78
+ ]
79
+ end
80
+
81
+ # An array for nullable fields
82
+ def self.nullables
83
+ []
84
+ end
85
+
86
+ def initialize(email_address: SKIP, payer_id: SKIP, name: SKIP, phone: SKIP,
87
+ birth_date: SKIP, tax_info: SKIP, address: SKIP)
88
+ @email_address = email_address unless email_address == SKIP
89
+ @payer_id = payer_id unless payer_id == SKIP
90
+ @name = name unless name == SKIP
91
+ @phone = phone unless phone == SKIP
92
+ @birth_date = birth_date unless birth_date == SKIP
93
+ @tax_info = tax_info unless tax_info == SKIP
94
+ @address = address unless address == SKIP
95
+ end
96
+
97
+ # Creates an instance of the object from a hash.
98
+ def self.from_hash(hash)
99
+ return nil unless hash
100
+
101
+ # Extract variables from the hash.
102
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
103
+ payer_id = hash.key?('payer_id') ? hash['payer_id'] : SKIP
104
+ name = Name.from_hash(hash['name']) if hash['name']
105
+ phone = PhoneWithType.from_hash(hash['phone']) if hash['phone']
106
+ birth_date = hash.key?('birth_date') ? hash['birth_date'] : SKIP
107
+ tax_info = TaxInfo.from_hash(hash['tax_info']) if hash['tax_info']
108
+ address = Address.from_hash(hash['address']) if hash['address']
109
+
110
+ # Create object from extracted values.
111
+ Payer.new(email_address: email_address,
112
+ payer_id: payer_id,
113
+ name: name,
114
+ phone: phone,
115
+ birth_date: birth_date,
116
+ tax_info: tax_info,
117
+ address: address)
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} email_address: #{@email_address}, payer_id: #{@payer_id}, name: #{@name},"\
124
+ " phone: #{@phone}, birth_date: #{@birth_date}, tax_info: #{@tax_info}, address:"\
125
+ " #{@address}>"
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} email_address: #{@email_address.inspect}, payer_id: #{@payer_id.inspect},"\
132
+ " name: #{@name.inspect}, phone: #{@phone.inspect}, birth_date: #{@birth_date.inspect},"\
133
+ " tax_info: #{@tax_info.inspect}, address: #{@address.inspect}>"
134
+ end
135
+ end
136
+ end
@@ -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
+ # The customer who approves and pays for the order. The customer is also known
8
+ # as the payer.
9
+ class PayerBase < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The internationalized email address. Note: Up to 64 characters are allowed
14
+ # before and 255 characters are allowed after the @ sign. However, the
15
+ # generally accepted maximum length for an email address is 254 characters.
16
+ # The pattern verifies that an unquoted @ sign exists.
17
+ # @return [String]
18
+ attr_accessor :email_address
19
+
20
+ # The account identifier for a PayPal account.
21
+ # @return [String]
22
+ attr_accessor :payer_id
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['email_address'] = 'email_address'
28
+ @_hash['payer_id'] = 'payer_id'
29
+ @_hash
30
+ end
31
+
32
+ # An array for optional fields
33
+ def self.optionals
34
+ %w[
35
+ email_address
36
+ payer_id
37
+ ]
38
+ end
39
+
40
+ # An array for nullable fields
41
+ def self.nullables
42
+ []
43
+ end
44
+
45
+ def initialize(email_address: SKIP, payer_id: SKIP)
46
+ @email_address = email_address unless email_address == SKIP
47
+ @payer_id = payer_id unless payer_id == 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
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
56
+ payer_id = hash.key?('payer_id') ? hash['payer_id'] : SKIP
57
+
58
+ # Create object from extracted values.
59
+ PayerBase.new(email_address: email_address,
60
+ payer_id: payer_id)
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} email_address: #{@email_address}, payer_id: #{@payer_id}>"
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} email_address: #{@email_address.inspect}, payer_id: #{@payer_id.inspect}>"
73
+ end
74
+ end
75
+ end