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,132 @@
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
+ # Resource consolidating common request and response attributes for vaulting a
8
+ # Digital Wallet.
9
+ class VaultedDigitalWallet < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The description displayed to the consumer on the approval flow for a
14
+ # digital wallet, as well as on the merchant view of the payment token
15
+ # management experience. exp: PayPal.com.
16
+ # @return [String]
17
+ attr_accessor :description
18
+
19
+ # Expected business/charge model for the billing agreement.
20
+ # @return [UsagePattern]
21
+ attr_accessor :usage_pattern
22
+
23
+ # The shipping details.
24
+ # @return [VaultedDigitalWalletShippingDetails]
25
+ attr_accessor :shipping
26
+
27
+ # Create multiple payment tokens for the same payer, merchant/platform
28
+ # combination. Use this when the customer has not logged in at
29
+ # merchant/platform. The payment token thus generated, can then also be used
30
+ # to create the customer account at merchant/platform. Use this also when
31
+ # multiple payment tokens are required for the same payer, different
32
+ # customer at merchant/platform. This helps to identify customers distinctly
33
+ # even though they may share the same PayPal account. This only applies to
34
+ # PayPal payment source.
35
+ # @return [TrueClass | FalseClass]
36
+ attr_accessor :permit_multiple_payment_tokens
37
+
38
+ # The usage type associated with a digital wallet payment token.
39
+ # @return [PaypalPaymentTokenUsageType]
40
+ attr_accessor :usage_type
41
+
42
+ # The customer type associated with a digital wallet payment token. This is
43
+ # to indicate whether the customer acting on the merchant / platform is
44
+ # either a business or a consumer.
45
+ # @return [PaypalPaymentTokenCustomerType]
46
+ attr_accessor :customer_type
47
+
48
+ # A mapping from model property names to API property names.
49
+ def self.names
50
+ @_hash = {} if @_hash.nil?
51
+ @_hash['description'] = 'description'
52
+ @_hash['usage_pattern'] = 'usage_pattern'
53
+ @_hash['shipping'] = 'shipping'
54
+ @_hash['permit_multiple_payment_tokens'] =
55
+ 'permit_multiple_payment_tokens'
56
+ @_hash['usage_type'] = 'usage_type'
57
+ @_hash['customer_type'] = 'customer_type'
58
+ @_hash
59
+ end
60
+
61
+ # An array for optional fields
62
+ def self.optionals
63
+ %w[
64
+ description
65
+ usage_pattern
66
+ shipping
67
+ permit_multiple_payment_tokens
68
+ usage_type
69
+ customer_type
70
+ ]
71
+ end
72
+
73
+ # An array for nullable fields
74
+ def self.nullables
75
+ []
76
+ end
77
+
78
+ def initialize(description: SKIP, usage_pattern: SKIP, shipping: SKIP,
79
+ permit_multiple_payment_tokens: false, usage_type: SKIP,
80
+ customer_type: SKIP)
81
+ @description = description unless description == SKIP
82
+ @usage_pattern = usage_pattern unless usage_pattern == SKIP
83
+ @shipping = shipping unless shipping == SKIP
84
+ unless permit_multiple_payment_tokens == SKIP
85
+ @permit_multiple_payment_tokens =
86
+ permit_multiple_payment_tokens
87
+ end
88
+ @usage_type = usage_type unless usage_type == SKIP
89
+ @customer_type = customer_type unless customer_type == SKIP
90
+ end
91
+
92
+ # Creates an instance of the object from a hash.
93
+ def self.from_hash(hash)
94
+ return nil unless hash
95
+
96
+ # Extract variables from the hash.
97
+ description = hash.key?('description') ? hash['description'] : SKIP
98
+ usage_pattern = hash.key?('usage_pattern') ? hash['usage_pattern'] : SKIP
99
+ shipping = VaultedDigitalWalletShippingDetails.from_hash(hash['shipping']) if
100
+ hash['shipping']
101
+ permit_multiple_payment_tokens =
102
+ hash['permit_multiple_payment_tokens'] ||= false
103
+ usage_type = hash.key?('usage_type') ? hash['usage_type'] : SKIP
104
+ customer_type = hash.key?('customer_type') ? hash['customer_type'] : SKIP
105
+
106
+ # Create object from extracted values.
107
+ VaultedDigitalWallet.new(description: description,
108
+ usage_pattern: usage_pattern,
109
+ shipping: shipping,
110
+ permit_multiple_payment_tokens: permit_multiple_payment_tokens,
111
+ usage_type: usage_type,
112
+ customer_type: customer_type)
113
+ end
114
+
115
+ # Provides a human-readable string representation of the object.
116
+ def to_s
117
+ class_name = self.class.name.split('::').last
118
+ "<#{class_name} description: #{@description}, usage_pattern: #{@usage_pattern}, shipping:"\
119
+ " #{@shipping}, permit_multiple_payment_tokens: #{@permit_multiple_payment_tokens},"\
120
+ " usage_type: #{@usage_type}, customer_type: #{@customer_type}>"
121
+ end
122
+
123
+ # Provides a debugging-friendly string with detailed object information.
124
+ def inspect
125
+ class_name = self.class.name.split('::').last
126
+ "<#{class_name} description: #{@description.inspect}, usage_pattern:"\
127
+ " #{@usage_pattern.inspect}, shipping: #{@shipping.inspect}, permit_multiple_payment_tokens:"\
128
+ " #{@permit_multiple_payment_tokens.inspect}, usage_type: #{@usage_type.inspect},"\
129
+ " customer_type: #{@customer_type.inspect}>"
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,114 @@
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 shipping details.
8
+ class VaultedDigitalWalletShippingDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The name of the party.
13
+ # @return [ShippingName]
14
+ attr_accessor :name
15
+
16
+ # The internationalized email address. Note: Up to 64 characters are allowed
17
+ # before and 255 characters are allowed after the @ sign. However, the
18
+ # generally accepted maximum length for an email address is 254 characters.
19
+ # The pattern verifies that an unquoted @ sign exists.
20
+ # @return [String]
21
+ attr_accessor :email_address
22
+
23
+ # The phone number, in its canonical international [E.164 numbering plan
24
+ # format](https://www.itu.int/rec/T-REC-E.164/en).
25
+ # @return [PhoneNumberWithCountryCode]
26
+ attr_accessor :phone_number
27
+
28
+ # A classification for the method of purchase fulfillment (e.g shipping,
29
+ # in-store pickup, etc). Either `type` or `options` may be present, but not
30
+ # both.
31
+ # @return [FulfillmentType]
32
+ attr_accessor :type
33
+
34
+ # The portable international postal address. Maps to
35
+ # [AddressValidationMetadata](https://github.com/googlei18n/libaddressinput/
36
+ # wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls:
37
+ # the autocomplete
38
+ # attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form-co
39
+ # ntrols-the-autocomplete-attribute).
40
+ # @return [Address]
41
+ attr_accessor :address
42
+
43
+ # A mapping from model property names to API property names.
44
+ def self.names
45
+ @_hash = {} if @_hash.nil?
46
+ @_hash['name'] = 'name'
47
+ @_hash['email_address'] = 'email_address'
48
+ @_hash['phone_number'] = 'phone_number'
49
+ @_hash['type'] = 'type'
50
+ @_hash['address'] = 'address'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ %w[
57
+ name
58
+ email_address
59
+ phone_number
60
+ type
61
+ address
62
+ ]
63
+ end
64
+
65
+ # An array for nullable fields
66
+ def self.nullables
67
+ []
68
+ end
69
+
70
+ def initialize(name: SKIP, email_address: SKIP, phone_number: SKIP,
71
+ type: SKIP, address: SKIP)
72
+ @name = name unless name == SKIP
73
+ @email_address = email_address unless email_address == SKIP
74
+ @phone_number = phone_number unless phone_number == SKIP
75
+ @type = type unless type == SKIP
76
+ @address = address unless address == SKIP
77
+ end
78
+
79
+ # Creates an instance of the object from a hash.
80
+ def self.from_hash(hash)
81
+ return nil unless hash
82
+
83
+ # Extract variables from the hash.
84
+ name = ShippingName.from_hash(hash['name']) if hash['name']
85
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
86
+ phone_number = PhoneNumberWithCountryCode.from_hash(hash['phone_number']) if
87
+ hash['phone_number']
88
+ type = hash.key?('type') ? hash['type'] : SKIP
89
+ address = Address.from_hash(hash['address']) if hash['address']
90
+
91
+ # Create object from extracted values.
92
+ VaultedDigitalWalletShippingDetails.new(name: name,
93
+ email_address: email_address,
94
+ phone_number: phone_number,
95
+ type: type,
96
+ address: address)
97
+ end
98
+
99
+ # Provides a human-readable string representation of the object.
100
+ def to_s
101
+ class_name = self.class.name.split('::').last
102
+ "<#{class_name} name: #{@name}, email_address: #{@email_address}, phone_number:"\
103
+ " #{@phone_number}, type: #{@type}, address: #{@address}>"
104
+ end
105
+
106
+ # Provides a debugging-friendly string with detailed object information.
107
+ def inspect
108
+ class_name = self.class.name.split('::').last
109
+ "<#{class_name} name: #{@name.inspect}, email_address: #{@email_address.inspect},"\
110
+ " phone_number: #{@phone_number.inspect}, type: #{@type.inspect}, address:"\
111
+ " #{@address.inspect}>"
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,101 @@
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 representing an experience context of vault a venmo account.
8
+ class VenmoExperienceContext < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The label that overrides the business name in the PayPal account on the
13
+ # PayPal site. The pattern is defined by an external party and supports
14
+ # Unicode.
15
+ # @return [String]
16
+ attr_accessor :brand_name
17
+
18
+ # The shipping preference. This only applies to PayPal payment source.
19
+ # @return [ExperienceContextShippingPreference]
20
+ attr_accessor :shipping_preference
21
+
22
+ # DEPRECATED. Vault Instruction on action to be performed after a successful
23
+ # payer approval.
24
+ # @return [VaultInstructionAction]
25
+ attr_accessor :vault_instruction
26
+
27
+ # User Action on action to be performed after a successful payer approval.
28
+ # @return [VaultUserAction]
29
+ attr_accessor :user_action
30
+
31
+ # A mapping from model property names to API property names.
32
+ def self.names
33
+ @_hash = {} if @_hash.nil?
34
+ @_hash['brand_name'] = 'brand_name'
35
+ @_hash['shipping_preference'] = 'shipping_preference'
36
+ @_hash['vault_instruction'] = 'vault_instruction'
37
+ @_hash['user_action'] = 'user_action'
38
+ @_hash
39
+ end
40
+
41
+ # An array for optional fields
42
+ def self.optionals
43
+ %w[
44
+ brand_name
45
+ shipping_preference
46
+ vault_instruction
47
+ user_action
48
+ ]
49
+ end
50
+
51
+ # An array for nullable fields
52
+ def self.nullables
53
+ []
54
+ end
55
+
56
+ def initialize(
57
+ brand_name: SKIP,
58
+ shipping_preference: ExperienceContextShippingPreference::GET_FROM_FILE,
59
+ vault_instruction: SKIP, user_action: VaultUserAction::CONTINUE
60
+ )
61
+ @brand_name = brand_name unless brand_name == SKIP
62
+ @shipping_preference = shipping_preference unless shipping_preference == SKIP
63
+ @vault_instruction = vault_instruction unless vault_instruction == SKIP
64
+ @user_action = user_action unless user_action == SKIP
65
+ end
66
+
67
+ # Creates an instance of the object from a hash.
68
+ def self.from_hash(hash)
69
+ return nil unless hash
70
+
71
+ # Extract variables from the hash.
72
+ brand_name = hash.key?('brand_name') ? hash['brand_name'] : SKIP
73
+ shipping_preference =
74
+ hash['shipping_preference'] ||= ExperienceContextShippingPreference::GET_FROM_FILE
75
+ vault_instruction =
76
+ hash.key?('vault_instruction') ? hash['vault_instruction'] : SKIP
77
+ user_action = hash['user_action'] ||= VaultUserAction::CONTINUE
78
+
79
+ # Create object from extracted values.
80
+ VenmoExperienceContext.new(brand_name: brand_name,
81
+ shipping_preference: shipping_preference,
82
+ vault_instruction: vault_instruction,
83
+ user_action: user_action)
84
+ end
85
+
86
+ # Provides a human-readable string representation of the object.
87
+ def to_s
88
+ class_name = self.class.name.split('::').last
89
+ "<#{class_name} brand_name: #{@brand_name}, shipping_preference: #{@shipping_preference},"\
90
+ " vault_instruction: #{@vault_instruction}, user_action: #{@user_action}>"
91
+ end
92
+
93
+ # Provides a debugging-friendly string with detailed object information.
94
+ def inspect
95
+ class_name = self.class.name.split('::').last
96
+ "<#{class_name} brand_name: #{@brand_name.inspect}, shipping_preference:"\
97
+ " #{@shipping_preference.inspect}, vault_instruction: #{@vault_instruction.inspect},"\
98
+ " user_action: #{@user_action.inspect}>"
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,199 @@
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 Venmo Payment Token.
8
+ class VenmoPaymentToken < 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 Venmo username, as chosen by the user.
77
+ # @return [String]
78
+ attr_accessor :user_name
79
+
80
+ # A mapping from model property names to API property names.
81
+ def self.names
82
+ @_hash = {} if @_hash.nil?
83
+ @_hash['description'] = 'description'
84
+ @_hash['usage_pattern'] = 'usage_pattern'
85
+ @_hash['shipping'] = 'shipping'
86
+ @_hash['permit_multiple_payment_tokens'] =
87
+ 'permit_multiple_payment_tokens'
88
+ @_hash['usage_type'] = 'usage_type'
89
+ @_hash['customer_type'] = 'customer_type'
90
+ @_hash['email_address'] = 'email_address'
91
+ @_hash['payer_id'] = 'payer_id'
92
+ @_hash['name'] = 'name'
93
+ @_hash['phone'] = 'phone'
94
+ @_hash['address'] = 'address'
95
+ @_hash['user_name'] = 'user_name'
96
+ @_hash
97
+ end
98
+
99
+ # An array for optional fields
100
+ def self.optionals
101
+ %w[
102
+ description
103
+ usage_pattern
104
+ shipping
105
+ permit_multiple_payment_tokens
106
+ usage_type
107
+ customer_type
108
+ email_address
109
+ payer_id
110
+ name
111
+ phone
112
+ address
113
+ user_name
114
+ ]
115
+ end
116
+
117
+ # An array for nullable fields
118
+ def self.nullables
119
+ []
120
+ end
121
+
122
+ def initialize(description: SKIP, usage_pattern: SKIP, shipping: SKIP,
123
+ permit_multiple_payment_tokens: false, usage_type: SKIP,
124
+ customer_type: SKIP, email_address: SKIP, payer_id: SKIP,
125
+ name: SKIP, phone: SKIP, address: SKIP, user_name: SKIP)
126
+ @description = description unless description == SKIP
127
+ @usage_pattern = usage_pattern unless usage_pattern == SKIP
128
+ @shipping = shipping unless shipping == SKIP
129
+ unless permit_multiple_payment_tokens == SKIP
130
+ @permit_multiple_payment_tokens =
131
+ permit_multiple_payment_tokens
132
+ end
133
+ @usage_type = usage_type unless usage_type == SKIP
134
+ @customer_type = customer_type unless customer_type == SKIP
135
+ @email_address = email_address unless email_address == SKIP
136
+ @payer_id = payer_id unless payer_id == SKIP
137
+ @name = name unless name == SKIP
138
+ @phone = phone unless phone == SKIP
139
+ @address = address unless address == SKIP
140
+ @user_name = user_name unless user_name == SKIP
141
+ end
142
+
143
+ # Creates an instance of the object from a hash.
144
+ def self.from_hash(hash)
145
+ return nil unless hash
146
+
147
+ # Extract variables from the hash.
148
+ description = hash.key?('description') ? hash['description'] : SKIP
149
+ usage_pattern = hash.key?('usage_pattern') ? hash['usage_pattern'] : SKIP
150
+ shipping = VaultedDigitalWalletShippingDetails.from_hash(hash['shipping']) if
151
+ hash['shipping']
152
+ permit_multiple_payment_tokens =
153
+ hash['permit_multiple_payment_tokens'] ||= false
154
+ usage_type = hash.key?('usage_type') ? hash['usage_type'] : SKIP
155
+ customer_type = hash.key?('customer_type') ? hash['customer_type'] : SKIP
156
+ email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
157
+ payer_id = hash.key?('payer_id') ? hash['payer_id'] : SKIP
158
+ name = Name.from_hash(hash['name']) if hash['name']
159
+ phone = PhoneWithType.from_hash(hash['phone']) if hash['phone']
160
+ address = Address.from_hash(hash['address']) if hash['address']
161
+ user_name = hash.key?('user_name') ? hash['user_name'] : SKIP
162
+
163
+ # Create object from extracted values.
164
+ VenmoPaymentToken.new(description: description,
165
+ usage_pattern: usage_pattern,
166
+ shipping: shipping,
167
+ permit_multiple_payment_tokens: permit_multiple_payment_tokens,
168
+ usage_type: usage_type,
169
+ customer_type: customer_type,
170
+ email_address: email_address,
171
+ payer_id: payer_id,
172
+ name: name,
173
+ phone: phone,
174
+ address: address,
175
+ user_name: user_name)
176
+ end
177
+
178
+ # Provides a human-readable string representation of the object.
179
+ def to_s
180
+ class_name = self.class.name.split('::').last
181
+ "<#{class_name} description: #{@description}, usage_pattern: #{@usage_pattern}, shipping:"\
182
+ " #{@shipping}, permit_multiple_payment_tokens: #{@permit_multiple_payment_tokens},"\
183
+ " usage_type: #{@usage_type}, customer_type: #{@customer_type}, email_address:"\
184
+ " #{@email_address}, payer_id: #{@payer_id}, name: #{@name}, phone: #{@phone}, address:"\
185
+ " #{@address}, user_name: #{@user_name}>"
186
+ end
187
+
188
+ # Provides a debugging-friendly string with detailed object information.
189
+ def inspect
190
+ class_name = self.class.name.split('::').last
191
+ "<#{class_name} description: #{@description.inspect}, usage_pattern:"\
192
+ " #{@usage_pattern.inspect}, shipping: #{@shipping.inspect}, permit_multiple_payment_tokens:"\
193
+ " #{@permit_multiple_payment_tokens.inspect}, usage_type: #{@usage_type.inspect},"\
194
+ " customer_type: #{@customer_type.inspect}, email_address: #{@email_address.inspect},"\
195
+ " payer_id: #{@payer_id.inspect}, name: #{@name.inspect}, phone: #{@phone.inspect}, address:"\
196
+ " #{@address.inspect}, user_name: #{@user_name.inspect}>"
197
+ end
198
+ end
199
+ 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 customer type associated with the Venmo payment token. This is to
8
+ # indicate whether the customer acting on the merchant / platform is either a
9
+ # business or a consumer.
10
+ class VenmoPaymentTokenCustomerType
11
+ VENMO_PAYMENT_TOKEN_CUSTOMER_TYPE = [
12
+ # The customer vaulting the Venmo payment token is a consumer on the
13
+ # merchant / platform.
14
+ CONSUMER = 'CONSUMER'.freeze,
15
+
16
+ # The customer vaulting the Venmo payment token is a business on merchant
17
+ # / platform.
18
+ BUSINESS = 'BUSINESS'.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 = CONSUMER)
28
+ return default_value if value.nil?
29
+
30
+ str = value.to_s.strip
31
+
32
+ case str.downcase
33
+ when 'consumer' then CONSUMER
34
+ when 'business' then BUSINESS
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,58 @@
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
+ # Expected business/pricing model for the billing agreement.
8
+ class VenmoPaymentTokenUsagePattern
9
+ VENMO_PAYMENT_TOKEN_USAGE_PATTERN = [
10
+ # On-demand instant payments – non-recurring, pre-paid, variable amount,
11
+ # variable frequency.
12
+ IMMEDIATE = 'IMMEDIATE'.freeze,
13
+
14
+ # Pay after use, non-recurring post-paid, variable amount, irregular
15
+ # frequency.
16
+ DEFERRED = 'DEFERRED'.freeze,
17
+
18
+ # Pay upfront fixed or variable amount on a fixed date before the
19
+ # goods/service is delivered.
20
+ RECURRING_PREPAID = 'RECURRING_PREPAID'.freeze,
21
+
22
+ # Pay on a fixed date based on usage or consumption after the
23
+ # goods/service is delivered.
24
+ RECURRING_POSTPAID = 'RECURRING_POSTPAID'.freeze,
25
+
26
+ # Charge payer when the set amount is reached or monthly billing cycle,
27
+ # whichever comes first, before the goods/service is delivered.
28
+ THRESHOLD_PREPAID = 'THRESHOLD_PREPAID'.freeze,
29
+
30
+ # Charge payer when the set amount is reached or monthly billing cycle,
31
+ # whichever comes first, after the goods/service is delivered.
32
+ THRESHOLD_POSTPAID = 'THRESHOLD_POSTPAID'.freeze
33
+ ].freeze
34
+
35
+ def self.validate(value)
36
+ return false if value.nil?
37
+
38
+ true
39
+ end
40
+
41
+ def self.from_value(value, default_value = IMMEDIATE)
42
+ return default_value if value.nil?
43
+
44
+ str = value.to_s.strip
45
+
46
+ case str.downcase
47
+ when 'immediate' then IMMEDIATE
48
+ when 'deferred' then DEFERRED
49
+ when 'recurring_prepaid' then RECURRING_PREPAID
50
+ when 'recurring_postpaid' then RECURRING_POSTPAID
51
+ when 'threshold_prepaid' then THRESHOLD_PREPAID
52
+ when 'threshold_postpaid' then THRESHOLD_POSTPAID
53
+ else
54
+ default_value
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,39 @@
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 Venmo payment token.
8
+ class VenmoPaymentTokenUsageType
9
+ VENMO_PAYMENT_TOKEN_USAGE_TYPE = [
10
+ # The Venmo Payment Token will be used for future transaction directly
11
+ # with a merchant.
12
+ MERCHANT = 'MERCHANT'.freeze,
13
+
14
+ # The Venmo Payment Token will be used for future transaction on a
15
+ # platform. A platform is typically a marketplace or a channel that a
16
+ # payer can purchase goods and services from multiple merchants.
17
+ PLATFORM = 'PLATFORM'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ true
24
+ end
25
+
26
+ def self.from_value(value, default_value = MERCHANT)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'merchant' then MERCHANT
33
+ when 'platform' then PLATFORM
34
+ else
35
+ default_value
36
+ end
37
+ end
38
+ end
39
+ end