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,211 @@
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
+ # Full representation of a PayPal Payment Token.
8
+ class PaypalPaymentToken < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The description displayed to the consumer on the approval flow for a
13
+ # digital wallet, as well as on the merchant view of the payment token
14
+ # management experience. exp: PayPal.com.
15
+ # @return [String]
16
+ attr_accessor :description
17
+
18
+ # Expected business/charge model for the billing agreement.
19
+ # @return [UsagePattern]
20
+ attr_accessor :usage_pattern
21
+
22
+ # The shipping details.
23
+ # @return [VaultedDigitalWalletShippingDetails]
24
+ attr_accessor :shipping
25
+
26
+ # Create multiple payment tokens for the same payer, merchant/platform
27
+ # combination. Use this when the customer has not logged in at
28
+ # merchant/platform. The payment token thus generated, can then also be used
29
+ # to create the customer account at merchant/platform. Use this also when
30
+ # multiple payment tokens are required for the same payer, different
31
+ # customer at merchant/platform. This helps to identify customers distinctly
32
+ # even though they may share the same PayPal account. This only applies to
33
+ # PayPal payment source.
34
+ # @return [TrueClass | FalseClass]
35
+ attr_accessor :permit_multiple_payment_tokens
36
+
37
+ # The usage type associated with a digital wallet payment token.
38
+ # @return [PaypalPaymentTokenUsageType]
39
+ attr_accessor :usage_type
40
+
41
+ # The customer type associated with a digital wallet payment token. This is
42
+ # to indicate whether the customer acting on the merchant / platform is
43
+ # either a business or a consumer.
44
+ # @return [PaypalPaymentTokenCustomerType]
45
+ attr_accessor :customer_type
46
+
47
+ # The internationalized email address.<blockquote><strong>Note:</strong> Up
48
+ # to 64 characters are allowed before and 255 characters are allowed after
49
+ # the <code>@</code> sign. However, the generally accepted maximum length
50
+ # for an email address is 254 characters. The pattern verifies that an
51
+ # unquoted <code>@</code> sign exists.</blockquote>
52
+ # @return [String]
53
+ attr_accessor :email_address
54
+
55
+ # The account identifier for a PayPal account.
56
+ # @return [String]
57
+ attr_accessor :payer_id
58
+
59
+ # The name of the party.
60
+ # @return [Name]
61
+ attr_accessor :name
62
+
63
+ # The phone information.
64
+ # @return [PhoneWithType]
65
+ attr_accessor :phone
66
+
67
+ # The portable international postal address. Maps to
68
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
69
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
70
+ # the autocomplete
71
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
72
+ # ntrols-the-autocomplete-attribute).
73
+ # @return [Address]
74
+ attr_accessor :address
75
+
76
+ # The account identifier for a PayPal account.
77
+ # @return [String]
78
+ attr_accessor :account_id
79
+
80
+ # The phone number, in its canonical international [E.164 numbering plan
81
+ # format](https://www.itu.int/rec/T-REC-E.164/en).
82
+ # @return [Phone]
83
+ attr_accessor :phone_number
84
+
85
+ # A mapping from model property names to API property names.
86
+ def self.names
87
+ @_hash = {} if @_hash.nil?
88
+ @_hash['description'] = 'description'
89
+ @_hash['usage_pattern'] = 'usage_pattern'
90
+ @_hash['shipping'] = 'shipping'
91
+ @_hash['permit_multiple_payment_tokens'] =
92
+ 'permit_multiple_payment_tokens'
93
+ @_hash['usage_type'] = 'usage_type'
94
+ @_hash['customer_type'] = 'customer_type'
95
+ @_hash['email_address'] = 'email_address'
96
+ @_hash['payer_id'] = 'payer_id'
97
+ @_hash['name'] = 'name'
98
+ @_hash['phone'] = 'phone'
99
+ @_hash['address'] = 'address'
100
+ @_hash['account_id'] = 'account_id'
101
+ @_hash['phone_number'] = 'phone_number'
102
+ @_hash
103
+ end
104
+
105
+ # An array for optional fields
106
+ def self.optionals
107
+ %w[
108
+ description
109
+ usage_pattern
110
+ shipping
111
+ permit_multiple_payment_tokens
112
+ usage_type
113
+ customer_type
114
+ email_address
115
+ payer_id
116
+ name
117
+ phone
118
+ address
119
+ account_id
120
+ phone_number
121
+ ]
122
+ end
123
+
124
+ # An array for nullable fields
125
+ def self.nullables
126
+ []
127
+ end
128
+
129
+ def initialize(description: SKIP, usage_pattern: SKIP, shipping: SKIP,
130
+ permit_multiple_payment_tokens: false, usage_type: SKIP,
131
+ customer_type: SKIP, email_address: SKIP, payer_id: SKIP,
132
+ name: SKIP, phone: SKIP, address: SKIP, account_id: SKIP,
133
+ phone_number: SKIP)
134
+ @description = description unless description == SKIP
135
+ @usage_pattern = usage_pattern unless usage_pattern == SKIP
136
+ @shipping = shipping unless shipping == SKIP
137
+ unless permit_multiple_payment_tokens == SKIP
138
+ @permit_multiple_payment_tokens =
139
+ permit_multiple_payment_tokens
140
+ end
141
+ @usage_type = usage_type unless usage_type == SKIP
142
+ @customer_type = customer_type unless customer_type == SKIP
143
+ @email_address = email_address unless email_address == SKIP
144
+ @payer_id = payer_id unless payer_id == SKIP
145
+ @name = name unless name == SKIP
146
+ @phone = phone unless phone == SKIP
147
+ @address = address unless address == SKIP
148
+ @account_id = account_id unless account_id == SKIP
149
+ @phone_number = phone_number unless phone_number == SKIP
150
+ end
151
+
152
+ # Creates an instance of the object from a hash.
153
+ def self.from_hash(hash)
154
+ return nil unless hash
155
+
156
+ # Extract variables from the hash.
157
+ description = hash.key?('description') ? hash['description'] : SKIP
158
+ usage_pattern = hash.key?('usage_pattern') ? hash['usage_pattern'] : SKIP
159
+ shipping = VaultedDigitalWalletShippingDetails.from_hash(hash['shipping']) if
160
+ hash['shipping']
161
+ permit_multiple_payment_tokens =
162
+ hash['permit_multiple_payment_tokens'] ||= false
163
+ usage_type = hash.key?('usage_type') ? hash['usage_type'] : SKIP
164
+ customer_type = hash.key?('customer_type') ? hash['customer_type'] : SKIP
165
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
166
+ payer_id = hash.key?('payer_id') ? hash['payer_id'] : SKIP
167
+ name = Name.from_hash(hash['name']) if hash['name']
168
+ phone = PhoneWithType.from_hash(hash['phone']) if hash['phone']
169
+ address = Address.from_hash(hash['address']) if hash['address']
170
+ account_id = hash.key?('account_id') ? hash['account_id'] : SKIP
171
+ phone_number = Phone.from_hash(hash['phone_number']) if hash['phone_number']
172
+
173
+ # Create object from extracted values.
174
+ PaypalPaymentToken.new(description: description,
175
+ usage_pattern: usage_pattern,
176
+ shipping: shipping,
177
+ permit_multiple_payment_tokens: permit_multiple_payment_tokens,
178
+ usage_type: usage_type,
179
+ customer_type: customer_type,
180
+ email_address: email_address,
181
+ payer_id: payer_id,
182
+ name: name,
183
+ phone: phone,
184
+ address: address,
185
+ account_id: account_id,
186
+ phone_number: phone_number)
187
+ end
188
+
189
+ # Provides a human-readable string representation of the object.
190
+ def to_s
191
+ class_name = self.class.name.split('::').last
192
+ "<#{class_name} description: #{@description}, usage_pattern: #{@usage_pattern}, shipping:"\
193
+ " #{@shipping}, permit_multiple_payment_tokens: #{@permit_multiple_payment_tokens},"\
194
+ " usage_type: #{@usage_type}, customer_type: #{@customer_type}, email_address:"\
195
+ " #{@email_address}, payer_id: #{@payer_id}, name: #{@name}, phone: #{@phone}, address:"\
196
+ " #{@address}, account_id: #{@account_id}, phone_number: #{@phone_number}>"
197
+ end
198
+
199
+ # Provides a debugging-friendly string with detailed object information.
200
+ def inspect
201
+ class_name = self.class.name.split('::').last
202
+ "<#{class_name} description: #{@description.inspect}, usage_pattern:"\
203
+ " #{@usage_pattern.inspect}, shipping: #{@shipping.inspect}, permit_multiple_payment_tokens:"\
204
+ " #{@permit_multiple_payment_tokens.inspect}, usage_type: #{@usage_type.inspect},"\
205
+ " customer_type: #{@customer_type.inspect}, email_address: #{@email_address.inspect},"\
206
+ " payer_id: #{@payer_id.inspect}, name: #{@name.inspect}, phone: #{@phone.inspect}, address:"\
207
+ " #{@address.inspect}, account_id: #{@account_id.inspect}, phone_number:"\
208
+ " #{@phone_number.inspect}>"
209
+ end
210
+ end
211
+ end
@@ -0,0 +1,42 @@
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 type associated with the PayPal payment token. This is to
8
+ # indicate whether the customer acting on the merchant / platform is either a
9
+ # business or a consumer., The customer type associated with a digital wallet
10
+ # payment token. This is to indicate whether the customer acting on the
11
+ # merchant / platform is either a business or a consumer.
12
+ class PaypalPaymentTokenCustomerType
13
+ PAYPAL_PAYMENT_TOKEN_CUSTOMER_TYPE = [
14
+ # The customer vaulting the PayPal payment token is a consumer on the
15
+ # merchant / platform.
16
+ CONSUMER = 'CONSUMER'.freeze,
17
+
18
+ # The customer vaulting the PayPal payment token is a business on merchant
19
+ # / platform.
20
+ BUSINESS = 'BUSINESS'.freeze
21
+ ].freeze
22
+
23
+ def self.validate(value)
24
+ return false if value.nil?
25
+
26
+ true
27
+ end
28
+
29
+ def self.from_value(value, default_value = CONSUMER)
30
+ return default_value if value.nil?
31
+
32
+ str = value.to_s.strip
33
+
34
+ case str.downcase
35
+ when 'consumer' then CONSUMER
36
+ when 'business' then BUSINESS
37
+ else
38
+ default_value
39
+ end
40
+ end
41
+ end
42
+ 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
+ # The usage type associated with the PayPal payment token., The usage type
8
+ # associated with a digital wallet payment token.
9
+ class PaypalPaymentTokenUsageType
10
+ PAYPAL_PAYMENT_TOKEN_USAGE_TYPE = [
11
+ # The PayPal Payment Token will be used for future transaction directly
12
+ # with a merchant.
13
+ MERCHANT = 'MERCHANT'.freeze,
14
+
15
+ # The PayPal Payment Token will be used for future transaction on a
16
+ # platform. A platform is typically a marketplace or a channel that a
17
+ # payer can purchase goods and services from multiple merchants.
18
+ PLATFORM = 'PLATFORM'.freeze
19
+ ].freeze
20
+
21
+ def self.validate(value)
22
+ return false if value.nil?
23
+
24
+ true
25
+ end
26
+
27
+ def self.from_value(value, default_value = MERCHANT)
28
+ return default_value if value.nil?
29
+
30
+ str = value.to_s.strip
31
+
32
+ case str.downcase
33
+ when 'merchant' then MERCHANT
34
+ when 'platform' then PLATFORM
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,44 @@
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 PayPal reference ID type.
8
+ class PaypalReferenceIdType
9
+ PAYPAL_REFERENCE_ID_TYPE = [
10
+ # An order ID.
11
+ ODR = 'ODR'.freeze,
12
+
13
+ # A transaction ID.
14
+ TXN = 'TXN'.freeze,
15
+
16
+ # A subscription ID.
17
+ SUB = 'SUB'.freeze,
18
+
19
+ # A pre-approved payment ID.
20
+ PAP = 'PAP'.freeze
21
+ ].freeze
22
+
23
+ def self.validate(value)
24
+ return false if value.nil?
25
+
26
+ true
27
+ end
28
+
29
+ def self.from_value(value, default_value = ODR)
30
+ return default_value if value.nil?
31
+
32
+ str = value.to_s.strip
33
+
34
+ case str.downcase
35
+ when 'odr' then ODR
36
+ when 'txn' then TXN
37
+ when 'sub' then SUB
38
+ when 'pap' then PAP
39
+ else
40
+ default_value
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,188 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # A resource that identifies a PayPal Wallet is used for payment.
8
+ class PaypalWallet < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The PayPal-generated ID for the vaulted payment source. This ID should be
13
+ # stored on the merchant's server so the saved payment source can be used
14
+ # for future transactions.
15
+ # @return [String]
16
+ attr_accessor :vault_id
17
+
18
+ # The internationalized email address. Note: Up to 64 characters are allowed
19
+ # before and 255 characters are allowed after the @ sign. However, the
20
+ # generally accepted maximum length for an email address is 254 characters.
21
+ # The pattern verifies that an unquoted @ sign exists.
22
+ # @return [String]
23
+ attr_accessor :email_address
24
+
25
+ # The name of the party.
26
+ # @return [Name]
27
+ attr_accessor :name
28
+
29
+ # The phone information.
30
+ # @return [PhoneWithType]
31
+ attr_accessor :phone
32
+
33
+ # The stand-alone date, in [Internet date and time
34
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). To represent
35
+ # special legal values, such as a date of birth, you should use dates with
36
+ # no associated time or time-zone data. Whenever possible, use the standard
37
+ # `date_time` type. This regular expression does not validate all dates. For
38
+ # example, February 31 is valid and nothing is known about leap years.
39
+ # @return [String]
40
+ attr_accessor :birth_date
41
+
42
+ # The tax ID of the customer. The customer is also known as the payer. Both
43
+ # `tax_id` and `tax_id_type` are required.
44
+ # @return [TaxInfo]
45
+ attr_accessor :tax_info
46
+
47
+ # The portable international postal address. Maps to
48
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
49
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
50
+ # the autocomplete
51
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
52
+ # ntrols-the-autocomplete-attribute).
53
+ # @return [Address]
54
+ attr_accessor :address
55
+
56
+ # Additional attributes associated with the use of this PayPal Wallet.
57
+ # @return [PaypalWalletAttributes]
58
+ attr_accessor :attributes
59
+
60
+ # Customizes the payer experience during the approval process for payment
61
+ # with PayPal. Note: Partners and Marketplaces might configure brand_name
62
+ # and shipping_preference during partner account setup, which overrides the
63
+ # request values.
64
+ # @return [PaypalWalletExperienceContext]
65
+ attr_accessor :experience_context
66
+
67
+ # The PayPal billing agreement ID. References an approved recurring payment
68
+ # for goods or services.
69
+ # @return [String]
70
+ attr_accessor :billing_agreement_id
71
+
72
+ # Provides additional details to process a payment using the PayPal wallet
73
+ # billing agreement or a vaulted payment method that has been stored or is
74
+ # intended to be stored.
75
+ # @return [PaypalWalletStoredCredential]
76
+ attr_accessor :stored_credential
77
+
78
+ # A mapping from model property names to API property names.
79
+ def self.names
80
+ @_hash = {} if @_hash.nil?
81
+ @_hash['vault_id'] = 'vault_id'
82
+ @_hash['email_address'] = 'email_address'
83
+ @_hash['name'] = 'name'
84
+ @_hash['phone'] = 'phone'
85
+ @_hash['birth_date'] = 'birth_date'
86
+ @_hash['tax_info'] = 'tax_info'
87
+ @_hash['address'] = 'address'
88
+ @_hash['attributes'] = 'attributes'
89
+ @_hash['experience_context'] = 'experience_context'
90
+ @_hash['billing_agreement_id'] = 'billing_agreement_id'
91
+ @_hash['stored_credential'] = 'stored_credential'
92
+ @_hash
93
+ end
94
+
95
+ # An array for optional fields
96
+ def self.optionals
97
+ %w[
98
+ vault_id
99
+ email_address
100
+ name
101
+ phone
102
+ birth_date
103
+ tax_info
104
+ address
105
+ attributes
106
+ experience_context
107
+ billing_agreement_id
108
+ stored_credential
109
+ ]
110
+ end
111
+
112
+ # An array for nullable fields
113
+ def self.nullables
114
+ []
115
+ end
116
+
117
+ def initialize(vault_id: SKIP, email_address: SKIP, name: SKIP, phone: SKIP,
118
+ birth_date: SKIP, tax_info: SKIP, address: SKIP,
119
+ attributes: SKIP, experience_context: SKIP,
120
+ billing_agreement_id: SKIP, stored_credential: SKIP)
121
+ @vault_id = vault_id unless vault_id == SKIP
122
+ @email_address = email_address unless email_address == SKIP
123
+ @name = name unless name == SKIP
124
+ @phone = phone unless phone == SKIP
125
+ @birth_date = birth_date unless birth_date == SKIP
126
+ @tax_info = tax_info unless tax_info == SKIP
127
+ @address = address unless address == SKIP
128
+ @attributes = attributes unless attributes == SKIP
129
+ @experience_context = experience_context unless experience_context == SKIP
130
+ @billing_agreement_id = billing_agreement_id unless billing_agreement_id == SKIP
131
+ @stored_credential = stored_credential unless stored_credential == SKIP
132
+ end
133
+
134
+ # Creates an instance of the object from a hash.
135
+ def self.from_hash(hash)
136
+ return nil unless hash
137
+
138
+ # Extract variables from the hash.
139
+ vault_id = hash.key?('vault_id') ? hash['vault_id'] : SKIP
140
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
141
+ name = Name.from_hash(hash['name']) if hash['name']
142
+ phone = PhoneWithType.from_hash(hash['phone']) if hash['phone']
143
+ birth_date = hash.key?('birth_date') ? hash['birth_date'] : SKIP
144
+ tax_info = TaxInfo.from_hash(hash['tax_info']) if hash['tax_info']
145
+ address = Address.from_hash(hash['address']) if hash['address']
146
+ attributes = PaypalWalletAttributes.from_hash(hash['attributes']) if hash['attributes']
147
+ experience_context = PaypalWalletExperienceContext.from_hash(hash['experience_context']) if
148
+ hash['experience_context']
149
+ billing_agreement_id =
150
+ hash.key?('billing_agreement_id') ? hash['billing_agreement_id'] : SKIP
151
+ stored_credential = PaypalWalletStoredCredential.from_hash(hash['stored_credential']) if
152
+ hash['stored_credential']
153
+
154
+ # Create object from extracted values.
155
+ PaypalWallet.new(vault_id: vault_id,
156
+ email_address: email_address,
157
+ name: name,
158
+ phone: phone,
159
+ birth_date: birth_date,
160
+ tax_info: tax_info,
161
+ address: address,
162
+ attributes: attributes,
163
+ experience_context: experience_context,
164
+ billing_agreement_id: billing_agreement_id,
165
+ stored_credential: stored_credential)
166
+ end
167
+
168
+ # Provides a human-readable string representation of the object.
169
+ def to_s
170
+ class_name = self.class.name.split('::').last
171
+ "<#{class_name} vault_id: #{@vault_id}, email_address: #{@email_address}, name: #{@name},"\
172
+ " phone: #{@phone}, birth_date: #{@birth_date}, tax_info: #{@tax_info}, address:"\
173
+ " #{@address}, attributes: #{@attributes}, experience_context: #{@experience_context},"\
174
+ " billing_agreement_id: #{@billing_agreement_id}, stored_credential: #{@stored_credential}>"
175
+ end
176
+
177
+ # Provides a debugging-friendly string with detailed object information.
178
+ def inspect
179
+ class_name = self.class.name.split('::').last
180
+ "<#{class_name} vault_id: #{@vault_id.inspect}, email_address: #{@email_address.inspect},"\
181
+ " name: #{@name.inspect}, phone: #{@phone.inspect}, birth_date: #{@birth_date.inspect},"\
182
+ " tax_info: #{@tax_info.inspect}, address: #{@address.inspect}, attributes:"\
183
+ " #{@attributes.inspect}, experience_context: #{@experience_context.inspect},"\
184
+ " billing_agreement_id: #{@billing_agreement_id.inspect}, stored_credential:"\
185
+ " #{@stored_credential.inspect}>"
186
+ end
187
+ end
188
+ end
@@ -0,0 +1,41 @@
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 account status indicates whether the buyer has verified the financial
8
+ # details associated with their PayPal account.
9
+ class PaypalWalletAccountVerificationStatus
10
+ PAYPAL_WALLET_ACCOUNT_VERIFICATION_STATUS = [
11
+ # The buyer has completed the verification of the financial details
12
+ # associated with this PayPal account. For example: confirming their bank
13
+ # account.
14
+ VERIFIED = 'VERIFIED'.freeze,
15
+
16
+ # The buyer has not completed the verification of the financial details
17
+ # associated with this PayPal account. For example: confirming their bank
18
+ # account.
19
+ UNVERIFIED = 'UNVERIFIED'.freeze
20
+ ].freeze
21
+
22
+ def self.validate(value)
23
+ return false if value.nil?
24
+
25
+ true
26
+ end
27
+
28
+ def self.from_value(value, default_value = VERIFIED)
29
+ return default_value if value.nil?
30
+
31
+ str = value.to_s.strip
32
+
33
+ case str.downcase
34
+ when 'verified' then VERIFIED
35
+ when 'unverified' then UNVERIFIED
36
+ else
37
+ default_value
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,71 @@
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
+ # Additional attributes associated with the use of this PayPal Wallet.
8
+ class PaypalWalletAttributes < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [PaypalWalletCustomerRequest]
14
+ attr_accessor :customer
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [PaypalWalletVaultInstruction]
18
+ attr_accessor :vault
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['customer'] = 'customer'
24
+ @_hash['vault'] = 'vault'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ customer
32
+ vault
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(customer: SKIP, vault: SKIP)
42
+ @customer = customer unless customer == SKIP
43
+ @vault = vault unless vault == SKIP
44
+ end
45
+
46
+ # Creates an instance of the object from a hash.
47
+ def self.from_hash(hash)
48
+ return nil unless hash
49
+
50
+ # Extract variables from the hash.
51
+ customer = PaypalWalletCustomerRequest.from_hash(hash['customer']) if hash['customer']
52
+ vault = PaypalWalletVaultInstruction.from_hash(hash['vault']) if hash['vault']
53
+
54
+ # Create object from extracted values.
55
+ PaypalWalletAttributes.new(customer: customer,
56
+ vault: vault)
57
+ end
58
+
59
+ # Provides a human-readable string representation of the object.
60
+ def to_s
61
+ class_name = self.class.name.split('::').last
62
+ "<#{class_name} customer: #{@customer}, vault: #{@vault}>"
63
+ end
64
+
65
+ # Provides a debugging-friendly string with detailed object information.
66
+ def inspect
67
+ class_name = self.class.name.split('::').last
68
+ "<#{class_name} customer: #{@customer.inspect}, vault: #{@vault.inspect}>"
69
+ end
70
+ end
71
+ end